Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - QwazyWabbit

Pages: [1] 2 3 4 5 6 7 8 9 10 11 ... 82
I'm sipping my coffee waiting for the brain to kick in. :)

All good info here. Let's discuss.
I'm currently using Quake 2 Pro as the client and Quake 2 DOS as the dedicated server that running on the Maraakate's coop server mod with newly added maps. i don't believe that could be the problem due to changing the maps because of three occurrences the happen as to when this error appears.

I don't think the client matters. Mostly, the client can only ask the server to do something, it's up to the server game code to decide whether it will do it and how it will do it.

The first occurrence is when a player exits the map.
Exits as in taking an exit door, I presume. When that happens the next map opened is the one defined in the current map. All the original single-player maps had a next map, the SP game depended on this. Many DM maps don't. Failing to have a next map defined is supposed to cause the server to choose one, usually from a map list. The map list file (assuming there is one) is defined by the mod code. Some mods didn't always change maps gracefully when this happened. I don't know if this is one of those.

The second occurrence is when the player votes for a different map.
If the mod uses the "map" command to change maps on a vote then the engine will unload and reload the game DLL. This is why you use the "gamemap" command instead. R1q2 will refuse to use "map" in rcon and I assume it will also do so for a voted map but I have not tested this. (IIRC, mods are supposed to use the "gamemap" command in what amounts to a sending of a command string to the engine via the gi.AddCommandString function but I suppose one could put a new map name into the level.changemap string and call ExitLevel.)
From this source:
… and looking at the coop code, I can see many different map votes:
restartmap causes a map command.
gamemode causes a map command.
coop difficulty causes a map command.
warp causes a gamemap command.
playerexit causes a gamemode command which causes a map command.
Lots of ways to force a DLL reload. Most of them would be necessary since they need to force GameInit. :)
If you are restricting your server to coop only mode I recommend disabling all but the vote warp commands or testing your server to see which are safe to use.

And the third occurrence is when changing the map to a different map though the Q2DOS console. Now, when you mentioned running the gamemap command, I will be sure to use that for running such commands in the Q2DOS console.

I used to use the rcon map command until I was enlightened by r1q2. :)

I wanted to also mention that when I run the Maraakate's coop server on the alternative game servers listed: r1q2 dedicated, quake2 dedicated, yamagi dedicated, q2pro dedicated they also produce the wrong Game library is version 4 expected 3 and vice versa. I mention this because I presume there might be a possibility that I wouldn't get that FreeLibrary error message for those alternative game servers if they were to work without crashing and without producing the improper Game library version error.

Wrong game library version is a very bad no no. All bets are off and the engine has every right to not run a game DLL of the wrong type.

The game version is a number that specifies the interface between the engine and the game. The interface is the imports and exports to/from the engine and the game DLL. They specify the contract between them and it affects what functions they can use between them. The version number is the first thing the engine checks when it loads the DLL. EVERY engine should reject a wrong version DLL unless it's going to go to some extreme measures to figure out how to accommodate a different version DLL. There is NO WAY to tell, from the version number alone, what the interface looks like.

The coop code in the neozeed repo I cited above is version 4. It will not work with any other engine but Q2dos which, it would appear, expects version 4 DLLs.
Looking at the coop code I see they added a function to the engine called cvar_setdescription in the game that is called numerous times in the game startup.
An engine that doesn't export this function will fail when the game calls it.

When an engine rejects a DLL for wrong API version number it must never call anything in that DLL and it must immediately unload that DLL and stop game service.

If you want a version 3 DLL of coop I suggest: but I don't know if it has the same features. There are a lot of differences in the code that I am not prepared to analyze.

All this is TMI and more than you wanted to know but that's what happens when my coffee kicks in and I have a day to spare.
I hope it guides you in your troubleshooting.


It sounds like your mod is using the “map” command on the vote or console command. This is an old and common error. You should be using “gamemap” instead. The map command should only be used in your startup script.

Which mod are you running?

Politics / Re: Current Politics & History Only Thread
« on: December 20, 2019, 08:03:19 AM »
The Ukraine knew there was a hold prior to the time of July 25 call. They knew exactly what Trump was asking for and they avoided it very scrupulously. They knew it was a shakedown and they knew if they followed through it would entangle them in partisan politics. They wanted the WH meeting in order to get closer to their ally, America, but they weren’t willing to lose bipartisan support for it.

I don’t theorize about what-if Hillary questions. There’s no point.

Politics / Re: Current Politics & History Only Thread
« on: December 19, 2019, 06:54:11 PM »
I would like to point out that “the money” allocated to Ukraine never left the United States. It was transferred to the accounts controlled by the DoD and Pentagon for the purchase of expensive supplies and weapons from American defense contractors (corporations) and, I believe, loan guarantees backing Ukrainian purchases from NATO countries. The non-lethal supplies and lethal weapons in the form of Stingers and anti-tank missiles were supposed to be shipped to Ukraine by the contractors. Meanwhile the army of Ukraine was building fake battery positions in the face of their Russian invaders to make Russia think they had real weapons. If I was the president of a country fighting a real war with fake weapons against an enemy like Russia I’d definitely feel pressured by a supposed ally who had promised support but suddenly decided they wanted “a favor”.

Politics / Re: Current Politics & History Only Thread
« on: October 05, 2019, 12:07:54 PM »
The woman clearly is mentally ill. Unfortunately, she won't be getting the help she clearly needs unless someone in that meeting was a qualified mental health professional or they alerted authorities to her condition. AOC was mostly stunned by the concept of the woman's comments and struggled to compose a coherent answer. I don't think the woman was a comedic genius but represents the state of mental health in America today. This woman would seem to have money and some means of support, probably from her family. These are the kinds of people that are wandering the streets of America, homeless and deranged, through no fault of their own or due to drug use. In pre-Reagan America these people would have been involuntarily committed into mental health institutions or hospitals. Today there is no such thing and it was probably prescient, since those places would be overrun with these patients today thanks to meth and heroin and the opiate epidemic. The opiate epidemic stems from the general feeling of pain in the population and the willingness of corporations to profit from that pain. Whether that pain is real or merely psychological is another matter.

You can get literally anything printed on a tee shirt online and Eat the Children is one of them. First Amendment forever!

Make America Great Again, ETC. (Eat The Children)

I had the unfortunate opportunity to observe mental illness personally in a friend of ours and to experience the helplessness and frustration both in my inability to help her and her own frustration about her own illness. Talking someone down from a hysterical reaction to hearing voices in her head telling her to kill herself was not something I was qualified or prepared to do but I did try. Schizophrenia is a terrible thing and her ultimate solution after years of drug therapy and increased tolerance for the medications was to walk in front of a train. You can laugh at these people and call them idiots. I don't find it funny.

coop / Re: Tastyspleen Coop server crash
« on: October 01, 2019, 09:11:29 PM »
I don't think you can crash a server by spamming just one model but you might be able to do it by spamming different new models. The model indexes are assigned as models are needed up to the limit of the game and if a model already exists in the array it isn't added to the indexes. (You can't fill the array by spamming the same model name.)

Coop mode has always been a little unstable in my experience. The original game was all about a single player with monsters and items in the maps and as long as the maps didn't go over the model limit minus one for the player everything was hunky-dory. The player and map entities are reserved during initialization and the map model indexes are assigned as models are spawned during map load. Load a server with multiple players and monster models and you've got a big load.

The error recovery in Q2 was always a bit thin. It'll crash and report a hard error rather than try to discard and replace items and spend time managing memory or entities. It just wasn't designed for that at the inception. Speed and size on a i386/i486 was the design limitation of the time.

It sounds to me more like you had a larger map and lots of entities in that map and the spawning of a hyperblaster was enough to take it over the limit. I don't remember the bsp name for the Upper Palace (edit: it's city3) but I know that one was a heavyweight map even for DM.

Additionally, when they added VWEP to the game they used index 255 for it and depleted the pool by one.

To diagnose this error the "configstrings.txt" file is dumped by the server into it's root when it happens and might be helpful.


Quake / Re: r1q2 how to compile - linux?
« on: August 02, 2019, 09:54:18 AM »
Yep. You need the development libs for libjpeg and libpng.

The first error was because you don't have the header for png file format and its stuctures.
The second error was because you don't have the info for jpeg files.

sudo apt-get update
sudo apt-get upgrade

Then use your package manager to install the development libraries for libjpeg and libpng. These are not just the application libs but they are the libs and headers just like you installed for the OpenGL.

Note: you can generally ignore warnings in the compiler output during make, the r1q2 code is getting a bit old and the compilers complain about usages that used to pass without warning but ERRORS are what you want to watch for and fix their causes.

Once you have updates, I recommend you 'make clean' and 'make'. You don't want old *.o files laying around.

Quake / Re: r1q2 how to compile - linux? R1CH 'ard?
« on: August 01, 2019, 09:21:17 PM »
Did you check the OpenGL installation by copy-pasting their sample code in that Wiki? If it works then cd into the r1q2 binaries and did make ref_gl complete without errors?
I checked and it worked like in tutorial.

Good. It means the GL package installation worked.

No, its landing at same place:
Code: [Select]
make[1]: *** [<builtin>: gl_image.o] Error 1
make[1]: Leaving directory '/home/lsd/r1q2-archive/binaries/ref_gl'
make: *** [Makefile:17: ref_gl] Error 2

Again, you omitted the critical point of error from your "landing at same place".
Yes, make lands at the same place but not necessarily for the same cause.

anyway  ref_gl its r1ch R1GL or just opengl?

Please read the documentation r1ch provided.
It looks like there is no install and you didn't read the documentation on what to do once you get a successful build.
If there were an install recipe, it will fail if any part of the build failed previously so it's pointless to do it.
I haven't built r1ch's code on Linux for several years, I don't remember all the steps.

The ref_gl code becomes ref_r1gl.dll on Windows, I can only presume that it is on Linux and it's "r1gl" as stated.

It depends on zlib, libjpeg, libpng so you will need the development libraries for them also.

Missing ANY pieces of the packages on which it depends will "land at same place": make[1] Error 1 or Error 2
you must scroll up to see the actual point of error in order to diagnose the failure. Omitting that error information
from your posts makes it impossible to help you.

Quake / Re: r1q2 how to compile - linux? R1CH 'ard?
« on: August 01, 2019, 09:05:01 AM »
Keep to step by step.

Did you check the OpenGL installation by copy-pasting their sample code in that Wiki? If it works then cd into the r1q2 binaries and did make ref_gl complete without errors?

From your post it looks like it worked but your r1q2 client isn’t opening the ref_gl but is opening ref_softx, the software renderer. This is not part of r1q2 but comes with quake2 for Linux. You have me a little confused now.

Did you do ‘make install’ after building r1q2 successfully? I believe this was the next step but check the instructions for r1q2 as I don’t have access right now. R1q2 does assume you have the original Quake2 for Linux previously installed.

Quake / Re: r1q2 how to compile - linux? R1CH 'ard?
« on: July 31, 2019, 11:35:10 PM »
The fatal line is actually a little bit above where your post quotes:

In file included from ../../ref_gl/gl_draw.c:23:0:
../../ref_gl/gl_local.h:27:19: fatal error: GL/gl.h: No such file or directory
 #include <GL/gl.h>

The #include <GL/gl.h> means the build expects a module (the OpenGL module libraries and their headers) to be installed on your Linux and the path to that library to be available to the compiler.

You'll have to search for how to install the OpenGL development libraries for your version of Linux.


P.S. If you are not intending to build the full client and the ref_gl but only want to build the r1q2ded server then all you need to do is 'make r1q2ded' and you are done. The dedicated server binary will be in the r1q2ded directory.

coop / Re: Custom coop sourcode/dll/so. file from coop v.0.01b
« on: July 22, 2019, 12:20:32 PM »
Since my name was kinda-sorta-almost mentioned I will respond.

The dll code you want is in the coop folder of the repository quadz directed you to.

You can build just that dll from the sources using the tools mentioned.
VS2005 is deprecated and I don't believe Microsoft has it available for download anymore so you'll have to search for a legitimate copy of it.
I would not recommend doing that. I recommend using VS2019 Community Edition, the current toolset, and download it directly from Microsoft for free.

Since you don't exactly specify if your running a Windows or Linux server I assume you want the Windows DLL.
I have attached it here. This is the 32-bit DLL.

QwazyWabbit (not the mama)

Quake / Re: Looking for assistance with R1Q2 anticheat on server
« on: July 17, 2019, 10:50:35 PM »
Good. I'm glad you found some documentation. When you get done configuring AC for your server you can explain it to me. :) I've never fully configured one myself. I believe the hashes are md5 hashes. That by itself might be a problem for AC these days since MD5 is vulnerable to hash collisions (non-identical files generating the same hash). I don't know if it's possible to design a spiked skin that would pass AC validation and still be usable in the game as a valid skin. SHA256 is preferred for code signing and SSL certificates now. The key to AC is the anticheat.dll and that source has never been public. The server requests a hash of a file on the client and the client computes the hash and reports it, they must match your whitelist or it's a bad skin. I do believe anticheat.dll has references to SHA256 so you might look into that.

Quake / Re: Looking for assistance with R1Q2 anticheat on server
« on: July 16, 2019, 10:14:51 PM »
When setting anticheat there are different modes it can be in.
You, as server admin are responsible for setting the AC policy.

set sv_anticheat_required "1"
// Require use of the anticheat module by players. Default 0.
// 0: Don't require any anticheat module.
// 1: Optionally use the anticheat module. Other clients can still play.
// 2: Enforce the anticheat module. Only valid R1Q2, EGL, Q2PRO or AprQ2 users can play.

If setting AC, mode 1 is recommended for the widest number of users. If there is a question whether a player is cheating, you can force anticheat on players individually.

The files
are required when anticheat is enabled.

The hashes file contains the hashes and filenames of permitted or disallowed models and players and weapons. It's the server admins job of creating them.
The purpose is to prevent players from using spiked models or weapon models. You can specify both allowed and disallowed models.

The cvar file specifies limits on client cvars like cl_maxfps, cl_nodelta, rate, timescale, and whether to enforce download options.

I'm not sure what the tokens file was for.

Access to the admins forum where these files were maintained was restricted. R1ch has since abandoned the r1q2 project and the forums.
I don't know where you can find more documentation on the files and their formats or where a valid hash file can be obtained.


Quake / Re: Dedicated server options?
« on: June 29, 2019, 10:27:22 PM »
Use rcon or the server console to verify timelimit and fraglimit are set to expected values.
What mod are you trying to use?

Railwarz / TMG Version 0.2.48 Release
« on: June 27, 2019, 11:56:04 PM »
Files attached are TMG 0.2.48 full source and binaries for Windows and Linux.
The Windows binary targets Windows 10 using VS2019 and is 32-bit code.
I encourage all server admins to update to this version. is the binaries is the source plus binaries.

As before the Git repo is at and

Pages: [1] 2 3 4 5 6 7 8 9 10 11 ... 82