diff options
Diffstat (limited to 'src/server/sv_ccmds.c')
-rw-r--r-- | src/server/sv_ccmds.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/sv_ccmds.c b/src/server/sv_ccmds.c index 6768bb9c..8e76fa1f 100644 --- a/src/server/sv_ccmds.c +++ b/src/server/sv_ccmds.c @@ -205,9 +205,15 @@ static void SV_MapRestart_f( void ) { continue; } - client->state = CS_ACTIVE; - - SV_ClientEnterWorld( client, &client->lastUsercmd ); + if(client->state == CS_ACTIVE) + SV_ClientEnterWorld(client, &client->lastUsercmd); + else + { + // If we don't reset client->lastUsercmd and are restarting during map load, + // the client will hang because we'll use the last Usercmd from the previous map, + // which is wrong obviously. + SV_ClientEnterWorld(client, NULL); + } } // run another frame to allow things to look at all the players @@ -251,7 +257,7 @@ Examine or change the serverinfo string */ static void SV_Systeminfo_f( void ) { Com_Printf ("System info settings:\n"); - Info_Print ( Cvar_InfoString( CVAR_SYSTEMINFO ) ); + Info_Print ( Cvar_InfoString_Big( CVAR_SYSTEMINFO ) ); } @@ -273,7 +279,7 @@ SV_CompleteMapName */ static void SV_CompleteMapName( char *args, int argNum ) { if( argNum == 2 ) { - Field_CompleteFilename( "maps", "bsp", qtrue ); + Field_CompleteFilename( "maps", "bsp", qtrue, qfalse ); } } |