its an engine. http://www.moddb.com/mods/berserkerquake2/downloads/berserkerquake2-145-full. Its written by a Russian guy. I do believe a +set compatibility 1 is needed in command line or +set net_compatibility 1 but do believe its the first one. Not entirely sure what the problem, havent really tried multiple servers, I usually just only play Chamooze's giex server which is visible on q2servers.com
Would it be easier to allow your mod to work with q2pro dedicated server rather than r1q2 dedicated server?plus I have made 3 sp/coop maps for quake2 if you wanna add them to your serverlink for download http://planetmnh.16mb.com/files/?dir=quake2%20maps/q2%20sp-coop
Butane found a bug with the summon command having the ability to crash the server. This is now fixed.The spawn angles still get jacked sometimes when using the teleport command. Working on finding a solution to this.Some entities and weapon models were disappearing on large maps (specifically city3.bsp) because of the MAX_MODELs limit being reached. This is also likely a problem in R1Q2 coop as it does not have "boom" support for more models (hard limit is 256). For now, the mod checks if the model limit is > 220 at the final model spawned in g_spawn.c and if it's above this limit it will not load the #w_xxx.md2 models for players. This means in large maps like this it will look like your friends are holding shotguns. This sucks, but it's the only decent workaround I can think of without breaking compatibility and forcing everyone to use something like KMQ2 protocol.
This is a coop mod so the timelimit hack won't be relevant to me but that is a pretty good idea for DM.The reason I have it very conservative is that it once you start shooting and pulling out different guns, etc it will easily reach the max models limit in coop.In my engine I have it so when the limit is reached it just replaces it with the last model instead of bombing the game out.
// HACKint HACK_modelindex (char *name);int (*oldmodelindex) (char *name);void HACK_SpawnEntities (char *mapname, char *entities, char *spawnpoint);
game_export_t *GetGameAPI (game_import_t *import){ gi = *import; // HACK oldmodelindex = gi.modelindex; gi.modelindex = HACK_modelindex; globals.apiversion = GAME_API_VERSION; globals.Init = InitGame; globals.Shutdown = ShutdownGame; globals.SpawnEntities = HACK_SpawnEntities;...
// HACKchar modelSeen[256];int HACK_modelindex (char *name){ int result; // First, get the result of gi.modelindex(). result = oldmodelindex (name); // Log some "*Index: overflow" bugcatching info to the console, if // they're using the maplist feature on a dedicated DM server - //QW// // - and debugmodels is on. // The purpose of this hack is to allow debugging of the overflow bug of the 256 model // index limit in Q2. It starts the next level if we start to exceed the model limit. // I hacked the hack to allow the server configuration to control whether we see the // debug messages on the console or not. // The map city3.bsp hits the model limit every time even with a single player on a server. //QW// if (deathmatch->value && dedicated->value && maplist->value) { if (result >= MAX_MODELS - 1) { gi.bprintf (PRINT_HIGH, "Forced Timelimit. Model index = %d\n", result); EndDMLevel(); } // If this model hasn't been seen before, report it & its number. if (!modelSeen[result]) { modelSeen[result] = QTRUE; if (debugmodels->value) gi.dprintf ("modelindex %d allocated to %s\n", result, name); } } // Return the model index. return result;}voidHACK_SpawnEntities (char *mapname, char *entities, char *spawnpoint){ // Clear modelSeen[] memset (modelSeen, 0, sizeof (modelSeen)); // Proceed. TeamplaySpawnEntities (mapname, entities, spawnpoint);}