Entity "info_player_deathmatch" should never be removed
dyn
dynborg at vogonhq.com
Wed Nov 14 11:48:11 EST 2007
Entity "info_player_deathmatch" should never be removed
Reason: server crashes on maps without deathmatch spawn points even
when SelectCTFSpawnPoint decides to call SelectSpawnPoint (); when no
team spot is to be found, but this is pointless when (some) maps have
all dm spawn spots with notteam flag set to 1.
How to crash your server:
/rcon g_gametype 4
/rcon map q3tourney3
This and many other maps won't work with any team mode and server will
first try team spawn points, then it will call SelectSpawnPoint ();
but this is useless since all spawn points were removed by
G_SpawnGEntityFromSpawnVars(); in g_spawn.c .
So what to do if you want to use all maps for team games?
Modify this inside G_SpawnGEntityFromSpawnVars(); in g_spawn.c:
OLD:
// check for "notteam" flag (GT_FFA, GT_TOURNAMENT, GT_SINGLE_PLAYER)
if ( g_gametype.integer >= GT_TEAM ) {
G_SpawnInt( "notteam", "0", &i );
if ( i )) {
G_FreeEntity( ent );
return;
}
NEW:
// check for "notteam" flag (GT_FFA, GT_TOURNAMENT, GT_SINGLE_PLAYER)
if ( g_gametype.integer >= GT_TEAM ) {
G_SpawnInt( "notteam", "0", &i );
// DD - do not remove info_player_deathmatch so we can use all
maps for team games
if ( i && Q_stricmp(ent->classname, "info_player_deathmatch")) {
G_FreeEntity( ent );
return;
}
I cannot submit diff right now, but i can later, if that's required
for bug reports. Same goes for 'kick all' fix i submitted few days
ago.
--
dyn
http://vogonhq.com/
More information about the quake3
mailing list