void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); // wombat: pure only makes problems at current stage sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO ); Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_strictAuth = Cvar_Get ("sv_strictAuth", "1", CVAR_ARCHIVE ); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); // systeminfo Cvar_Get ("helpUsObi", "0", CVAR_SYSTEMINFO ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "120", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_spawntarget = Cvar_Get ("spawntarget", "", 0 ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_testsave = Cvar_Get ("sv_testsave", "0", 0); sv_compress_saved_games = Cvar_Get ("sv_compress_saved_games", "1", 0); }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); // systeminfo Cvar_Get ("helpUsObi", "0", CVAR_SYSTEMINFO ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "120", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_spawntarget = Cvar_Get ("spawntarget", "", 0 ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_testsave = Cvar_Get ("sv_testsave", "0", 0); sv_compress_saved_games = Cvar_Get ("sv_compress_saved_games", "1", 0); // Only allocated once, no point in moving it around and fragmenting // create a heap for Ghoul2 to use for game side model vertex transforms used in collision detection { static CMiniHeap singleton(G2_MINIHEAP_SIZE); G2VertSpaceServer = &singleton; } }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_democlients = Cvar_Get ("sv_democlients", "0", CVAR_SERVERINFO | CVAR_LATCH | CVAR_ARCHIVE); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO ); sv_downloadRate = Cvar_Get ("sv_downloadRate", "50000", 0 ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); #ifdef USE_VOIP sv_voip = Cvar_Get ("sv_voip", "1", CVAR_SYSTEMINFO | CVAR_LATCH); Cvar_CheckRange( sv_voip, 0, 1, qtrue ); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SERVER_CREATED | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_rconLog = Cvar_Get ("sv_rconLog", "", CVAR_ARCHIVE ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "1", CVAR_SERVERINFO | CVAR_ARCHIVE); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); Cvar_Get ("sv_wwwDownload", "1", CVAR_SYSTEMINFO | CVAR_ARCHIVE); Cvar_Get ("sv_wwwBaseURL", "", CVAR_SYSTEMINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_dequeuePeriod = Cvar_Get ("sv_dequeuePeriod", "500", CVAR_ARCHIVE ); sv_demoState = Cvar_Get ("sv_demoState", "0", CVAR_ROM ); sv_autoDemo = Cvar_Get ("sv_autoDemo", "0", CVAR_ARCHIVE ); }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); sv_gameset = Cvar_Get ("mf_gameset", "modern", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_INIT | CVAR_ROM ); Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); //sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); //sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); //sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); //sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); //sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_strictAuth = Cvar_Get ("sv_strictAuth", "0", CVAR_ARCHIVE ); }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init() { SV_AddOperatorCommands(); // serverinfo vars Cvar_Get( "timelimit", "0", CVAR_SERVERINFO ); Cvar_Get( "protocol", va( "%i", PROTOCOL_VERSION ), CVAR_SERVERINFO ); sv_mapname = Cvar_Get( "mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM ); Cvar_Get( "layout", "", CVAR_SERVERINFO | CVAR_ROM ); Cvar_Get( "g_layouts", "", 0 ); // FIXME sv_privateClients = Cvar_Get( "sv_privateClients", "0", CVAR_SERVERINFO ); sv_hostname = Cvar_Get( "sv_hostname", "Unnamed Unvanquished Server", CVAR_SERVERINFO ); sv_maxclients = Cvar_Get( "sv_maxclients", "20", CVAR_SERVERINFO | CVAR_LATCH ); // NERVE - SMF - changed to 20 from 8 sv_maxRate = Cvar_Get( "sv_maxRate", "0", CVAR_SERVERINFO ); sv_minPing = Cvar_Get( "sv_minPing", "0", CVAR_SERVERINFO ); sv_maxPing = Cvar_Get( "sv_maxPing", "0", CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get( "sv_floodProtect", "0", CVAR_SERVERINFO ); sv_statsURL = Cvar_Get( "sv_statsURL", "", CVAR_SERVERINFO ); // systeminfo sv_serverid = Cvar_Get( "sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); #ifdef BUILD_SERVER sv_pure = Cvar_Get( "sv_pure", "1", CVAR_SYSTEMINFO ); #else // Use OS shared libs for the client at startup. This prevents crashes due to mismatching syscall ABIs // from loading outdated vms pk3s. The correct vms pk3 will be loaded upon connecting to a pure server. sv_pure = Cvar_Get( "sv_pure", "0", CVAR_SYSTEMINFO ); #endif Cvar_Get( "sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get( "rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get( "sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get( "sv_fps", "40", CVAR_TEMP ); sv_timeout = Cvar_Get( "sv_timeout", "240", CVAR_TEMP ); sv_zombietime = Cvar_Get( "sv_zombietime", "2", CVAR_TEMP ); Cvar_Get( "sv_nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get( "sv_allowDownload", "1", 0 ); sv_master[ 0 ] = Cvar_Get( "sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[ 1 ] = Cvar_Get( "sv_master2", "", 0 ); sv_master[ 2 ] = Cvar_Get( "sv_master3", "", 0 ); sv_master[ 3 ] = Cvar_Get( "sv_master4", "", 0 ); sv_master[ 4 ] = Cvar_Get( "sv_master5", "", 0 ); sv_reconnectlimit = Cvar_Get( "sv_reconnectlimit", "3", 0 ); sv_padPackets = Cvar_Get( "sv_padPackets", "0", 0 ); sv_killserver = Cvar_Get( "sv_killserver", "0", 0 ); sv_lanForceRate = Cvar_Get( "sv_lanForceRate", "1", 0 ); sv_showAverageBPS = Cvar_Get( "sv_showAverageBPS", "0", 0 ); // NERVE - SMF - net debugging // the download netcode tops at 18/20 kb/s, no need to make you think you can go above sv_dl_maxRate = Cvar_Get( "sv_dl_maxRate", "42000", 0 ); sv_wwwDownload = Cvar_Get( "sv_wwwDownload", "0", 0 ); sv_wwwBaseURL = Cvar_Get( "sv_wwwBaseURL", "dl.unvanquished.net/pkg", 0 ); sv_wwwDlDisconnected = Cvar_Get( "sv_wwwDlDisconnected", "0", 0 ); sv_wwwFallbackURL = Cvar_Get( "sv_wwwFallbackURL", "", 0 ); //bani sv_packetdelay = Cvar_Get( "sv_packetdelay", "0", CVAR_CHEAT ); // fretn - note: redirecting of clients to other servers relies on this, // ET://someserver.com sv_fullmsg = Cvar_Get( "sv_fullmsg", "Server is full.", 0 ); svs.serverLoad = -1; }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); // Get these to establish them and to make sure they have a default before the menus decide to stomp them. // Cvar_Get ("g_maxHolocronCarry", "3", CVAR_SERVERINFO); Cvar_Get ("g_privateDuel", "1", CVAR_SERVERINFO ); Cvar_Get ("g_saberLocking", "1", CVAR_SERVERINFO ); Cvar_Get ("g_maxForceRank", "6", CVAR_SERVERINFO ); Cvar_Get ("duel_fraglimit", "10", CVAR_SERVERINFO); Cvar_Get ("g_forceBasedTeams", "0", CVAR_SERVERINFO); Cvar_Get ("g_duelWeaponDisable", "1", CVAR_SERVERINFO); // Fix up g_duelWeaponDisable so it's always correct: int weaponDisable = 0; for( int i = 0; i < WP_NUM_WEAPONS; i++ ) { if( i != WP_SABER ) weaponDisable |= (1<<i); } Cvar_SetValue( "g_duelWeaponDisable", weaponDisable ); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); sv_needpass = Cvar_Get ("g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "*Jedi*", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_allowAnonymous = Cvar_Get ("sv_allowAnonymous", "0", CVAR_SERVERINFO); // Live/SystemLink/SplitScreen/BotMatch xb_gameType = Cvar_Get("xb_gameType", "0", CVAR_ARCHIVE); // systeminfo Cvar_Get ("sv_cheats", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); #ifndef DLL_ONLY // bk010216 - for DLL-only servers sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO ); #else sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_INIT | CVAR_ROM ); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); #ifndef _XBOX // No master or downloads on Xbox sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); #endif sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showghoultraces = Cvar_Get ("sv_showghoultraces", "0", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); // sv_debugserver = Cvar_Get ("sv_debugserver", "0", 0); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); #ifdef _XBOX svs.clientRefNum = 0; #endif // Only allocated once, no point in moving it around and fragmenting // create a heap for Ghoul2 to use for game side model vertex transforms used in collision detection G2VertSpaceServer = &CMiniHeap_singleton; }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_newpurelist = Cvar_Get ("sv_newpurelist", "0", CVAR_ARCHIVE ); sv_clientsPerIp = Cvar_Get ("sv_clientsPerIp", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO ); Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_rconRecoveryPassword = Cvar_Get ("rconRecoveryPassword", "", CVAR_INIT ); sv_rconAllowedSpamIP = Cvar_Get ("rconAllowedSpamIP", "", CVAR_INIT ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", MASTER2_SERVER_NAME, CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", MASTER3_SERVER_NAME, CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_strictAuth = Cvar_Get ("sv_strictAuth", "1", CVAR_ARCHIVE ); sv_demonotice = Cvar_Get ("sv_demonotice", "Smile! You're on camera!", CVAR_ARCHIVE); sv_sayprefix = Cvar_Get ("sv_sayprefix", "console: ", CVAR_ARCHIVE ); sv_tellprefix = Cvar_Get ("sv_tellprefix", "console_tell: ", CVAR_ARCHIVE ); sv_demofolder = Cvar_Get ("sv_demofolder", "serverdemos", CVAR_ARCHIVE ); sv_allowSuicide = Cvar_Get ("sv_allowSuicide", "1", CVAR_ARCHIVE ); sv_allowItemdrop = Cvar_Get ("sv_allowItemdrop", "1", CVAR_ARCHIVE ); sv_allowWeapdrop = Cvar_Get ("sv_allowWeapdrop", "1", CVAR_ARCHIVE ); sv_allowTell = Cvar_Get ("sv_allowTell", "1", CVAR_ARCHIVE ); sv_removeKnife = Cvar_Get ("sv_removeKnife", "0", CVAR_ARCHIVE); sv_antiblock = Cvar_Get("sv_antiblock", "0", CVAR_ARCHIVE); sv_forceGear = Cvar_Get("sv_forceGear", "", CVAR_ARCHIVE); sv_allowVote = Cvar_Get("sv_allowVote", "1", CVAR_ARCHIVE); sv_botRace = Cvar_Get("sv_botRace", "2", CVAR_ARCHIVE); #ifdef USE_SERVER_EXTRAS sv_chatColor = Cvar_Get("sv_chatColor", "3", CVAR_ARCHIVE); sv_rainbowChat = Cvar_Get("sv_rainbowChat", "0", CVAR_ARCHIVE); sv_infiniteStamina = Cvar_Get("sv_infiniteStamina", "0", CVAR_ARCHIVE); sv_noRecoil = Cvar_Get("sv_noRecoil", "0", CVAR_ARCHIVE); sv_infiniteAmmo = Cvar_Get("sv_infiniteAmmo", "0", CVAR_ARCHIVE); sv_infiniteWalljumps = Cvar_Get("sv_infiniteWalljumps", "0", CVAR_ARCHIVE); sv_weaponCycle = Cvar_Get("sv_weaponCycle", "0", CVAR_ARCHIVE); sv_mapColor = Cvar_Get("sv_mapColor", "7", CVAR_ARCHIVE); sv_colourName = Cvar_Get("sv_colorNames", "0", CVAR_ARCHIVE); #endif #ifdef USE_AUTH sv_authServerIP = Cvar_Get("sv_authServerIP", "", CVAR_TEMP | CVAR_ROM); sv_auth_engine = Cvar_Get("sv_auth_engine", "1", CVAR_ROM); #endif // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); #ifdef USE_SQLITE_BANS #ifdef DEDICATED SV_BansInit(); Cmd_AddCommand("addip", Bans_AddIP); Cmd_AddCommand("removeip", Bans_RemoveIP); #endif #endif }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); Cvar_Get ("capturelimit", "0", CVAR_SERVERINFO); // Get these to establish them and to make sure they have a default before the menus decide to stomp them. Cvar_Get ("g_maxHolocronCarry", "3", CVAR_SERVERINFO); Cvar_Get ("g_privateDuel", "1", CVAR_SERVERINFO ); Cvar_Get ("g_saberLocking", "1", CVAR_SERVERINFO ); Cvar_Get ("g_maxForceRank", "7", CVAR_SERVERINFO ); Cvar_Get ("duel_fraglimit", "10", CVAR_SERVERINFO); Cvar_Get ("g_forceBasedTeams", "0", CVAR_SERVERINFO); Cvar_Get ("g_duelWeaponDisable", "1", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); sv_needpass = Cvar_Get ("g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "*Jedi*", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO ); Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_snapsMin = Cvar_Get ("sv_snapsMin", "10", CVAR_ARCHIVE ); // 1 <=> sv_snapsMax sv_snapsMax = Cvar_Get ("sv_snapsMax", "40", CVAR_ARCHIVE ); // sv_snapsMin <=> sv_fps sv_fps = Cvar_Get ("sv_fps", "40", CVAR_SERVERINFO ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get("sv_master2", JKHUB_MASTER_SERVER_NAME, 0); for(int index = 2; index < MAX_MASTER_SERVERS; index++) sv_master[index] = Cvar_Get(va("sv_master%d", index + 1), "", CVAR_ARCHIVE); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showghoultraces = Cvar_Get ("sv_showghoultraces", "0", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_filterCommands = Cvar_Get( "sv_filterCommands", "0", CVAR_ARCHIVE ); // sv_debugserver = Cvar_Get ("sv_debugserver", "0", 0); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); // Only allocated once, no point in moving it around and fragmenting // create a heap for Ghoul2 to use for game side model vertex transforms used in collision detection #ifdef DEDICATED SV_InitRef(); #endif }
/* ================ SV_SpawnServer Change the server to a new map, taking all connected clients along with it. This is NOT called for map_restart ================ */ void SV_SpawnServer( char *server ) { int i; int checksum; qboolean isBot; const char *p; // shut down the existing game if it is running SV_ShutdownGameProgs(); Com_Printf(_( "------ Server Initialization ------\n" )); Com_Printf(_( "Server: %s\n"), server ); // if not running a dedicated server CL_MapLoading will connect the client to the server // also print some status stuff CL_MapLoading(); // make sure all the client stuff is unloaded CL_ShutdownAll(); // clear the whole hunk because we're (re)loading the server Hunk_Clear(); // clear collision map data // (SA) NOTE: TODO: used in missionpack CM_ClearMap(); // wipe the entire per-level structure SV_ClearServer(); // MrE: main zone should be pretty much emtpy at this point // except for file system data and cached renderer data Z_LogHeap(); // allocate empty config strings for ( i = 0; i < MAX_CONFIGSTRINGS; i++ ) { sv.configstrings[ i ] = CopyString( "" ); sv.configstringsmodified[ i ] = qfalse; } // init client structures and svs.numSnapshotEntities if ( !Cvar_VariableValue( "sv_running" ) ) { SV_Startup(); } else { // check for maxclients change if ( sv_maxclients->modified ) { SV_ChangeMaxClients(); } } // clear pak references FS_ClearPakReferences( 0 ); // allocate the snapshot entities on the hunk svs.snapshotEntities = Hunk_Alloc( sizeof( entityState_t ) * svs.numSnapshotEntities, h_high ); svs.nextSnapshotEntities = 0; // toggle the server bit so clients can detect that a // server has changed svs.snapFlagServerBit ^= SNAPFLAG_SERVERCOUNT; // set nextmap to the same map, but it may be overridden // by the game startup or another console command Cvar_Set( "nextmap", "map_restart 0" ); // Cvar_Set( "nextmap", va("map %s", server) ); SV_SetExpectedHunkUsage( va( "maps/%s.bsp", server ) ); // make sure we are not paused Cvar_Set( "cl_paused", "0" ); #if !defined( DO_LIGHT_DEDICATED ) // get a new checksum feed and restart the file system srand( Sys_Milliseconds() ); sv.checksumFeed = ( ( ( int ) rand() << 16 ) ^ rand() ) ^ Sys_Milliseconds(); // DO_LIGHT_DEDICATED // only comment out when you need a new pure checksum string and its associated random feed //Com_DPrintf("SV_SpawnServer checksum feed: %p\n", sv.checksumFeed); #else // DO_LIGHT_DEDICATED implementation below // we are not able to randomize the checksum feed since the feed is used as key for pure_checksum computations // files.c 1776 : pack->pure_checksum = Com_BlockChecksumKey( fs_headerLongs, 4 * fs_numHeaderLongs, LittleLong(fs_checksumFeed) ); // we request a fake randomized feed, files.c knows the answer srand( Sys_Milliseconds() ); sv.checksumFeed = FS_RandChecksumFeed(); #endif FS_Restart( sv.checksumFeed ); CM_LoadMap( va( "maps/%s.bsp", server ), qfalse, &checksum ); // set serverinfo visible name Cvar_Set( "mapname", server ); Cvar_Set( "sv_mapChecksum", va( "%i", checksum ) ); sv_newGameShlib = Cvar_Get( "sv_newGameShlib", "", CVAR_TEMP ); // serverid should be different each time sv.serverId = com_frameTime; sv.restartedServerId = sv.serverId; sv.checksumFeedServerId = sv.serverId; Cvar_Set( "sv_serverid", va( "%i", sv.serverId ) ); // clear physics interaction links SV_ClearWorld(); // media configstring setting should be done during // the loading stage, so connected clients don't have // to load during actual gameplay sv.state = SS_LOADING; Cvar_Set( "sv_serverRestarting", "1" ); // load and spawn all other entities SV_InitGameProgs(); // run a few frames to allow everything to settle for ( i = 0; i < GAME_INIT_FRAMES; i++ ) { VM_Call( gvm, GAME_RUN_FRAME, svs.time ); SV_BotFrame( svs.time ); svs.time += FRAMETIME; } // create a baseline for more efficient communications SV_CreateBaseline(); for ( i = 0; i < sv_maxclients->integer; i++ ) { // send the new gamestate to all connected clients if ( svs.clients[ i ].state >= CS_CONNECTED ) { char *denied; if ( svs.clients[ i ].netchan.remoteAddress.type == NA_BOT ) { isBot = qtrue; } else { isBot = qfalse; } // connect the client again denied = VM_ExplicitArgPtr( gvm, VM_Call( gvm, GAME_CLIENT_CONNECT, i, qfalse, isBot ) ); // firstTime = qfalse if ( denied ) { // this generally shouldn't happen, because the client // was connected before the level change SV_DropClient( &svs.clients[ i ], denied ); } else { if ( !isBot ) { // when we get the next packet from a connected client, // the new gamestate will be sent svs.clients[ i ].state = CS_CONNECTED; } else { client_t *client; sharedEntity_t *ent; client = &svs.clients[ i ]; client->state = CS_ACTIVE; ent = SV_GentityNum( i ); ent->s.number = i; client->gentity = ent; client->deltaMessage = -1; client->nextSnapshotTime = svs.time; // generate a snapshot immediately VM_Call( gvm, GAME_CLIENT_BEGIN, i ); } } } } // run another frame to allow things to look at all the players VM_Call( gvm, GAME_RUN_FRAME, svs.time ); SV_BotFrame( svs.time ); svs.time += FRAMETIME; if ( sv_pure->integer ) { // the server sends these to the clients so they will only // load pk3s also loaded at the server p = FS_LoadedPakChecksums(); Cvar_Set( "sv_paks", p ); if ( strlen( p ) == 0 ) { Com_Printf(_( "WARNING: sv_pure set but no PK3 files loaded\n" )); } p = FS_LoadedPakNames(); Cvar_Set( "sv_pakNames", p ); // if a dedicated pure server we need to touch the cgame because it could be in a // separate pk3 file and the client will need to load the latest cgame.qvm if ( com_dedicated->integer ) { SV_TouchCGame(); } } else { Cvar_Set( "sv_paks", "" ); Cvar_Set( "sv_pakNames", "" ); } // the server sends these to the clients so they can figure // out which pk3s should be auto-downloaded // NOTE: we consider the referencedPaks as 'required for operation' p = FS_ReferencedPakChecksums(); Cvar_Set( "sv_referencedPaks", p ); p = FS_ReferencedPakNames(); Cvar_Set( "sv_referencedPakNames", p ); // save systeminfo and serverinfo strings cvar_modifiedFlags &= ~CVAR_SYSTEMINFO; SV_SetConfigstring( CS_SYSTEMINFO, Cvar_InfoString_Big( CVAR_SYSTEMINFO ) ); SV_SetConfigstring( CS_SERVERINFO, Cvar_InfoString( CVAR_SERVERINFO | CVAR_SERVERINFO_NOUPDATE ) ); cvar_modifiedFlags &= ~CVAR_SERVERINFO; // any media configstring setting now should issue a warning // and any configstring changes should be reliably transmitted // to all clients sv.state = SS_GAME; // send a heartbeat now so the master will get up to date info SV_Heartbeat_f(); Hunk_SetMark(); SV_UpdateConfigStrings(); Cvar_Set( "sv_serverRestarting", "0" ); SV_AddOperatorCommands(); Com_Printf( "-----------------------------------\n" ); }
// Only called at main exe startup, not for each game void SV_Init( void ) { int index; // serverinfo vars sv_gametype = Cvar_Get( "sv_gametype", DEFAULT_GAMETYPE, CVAR_SERVERINFO|CVAR_LATCH, "Gametype", NULL ); Cvar_Get( "sv_keywords", "", CVAR_SERVERINFO, NULL, NULL ); sv_mapname = Cvar_Get( "mapname", "nomap", CVAR_SERVERINFO|CVAR_ROM, NULL, NULL ); sv_privateClients = Cvar_Get( "sv_privateClients", "0", CVAR_SERVERINFO, NULL, NULL ); sv_hostname = Cvar_Get( "sv_hostname", "noname", CVAR_SERVERINFO|CVAR_ARCHIVE, "Server name", NULL ); sv_maxclients = Cvar_Get( "sv_maxclients", XSTRING( MAX_CLIENTS ), CVAR_SERVERINFO|CVAR_ARCHIVE|CVAR_LATCH, NULL, NULL ); sv_minRate = Cvar_Get( "sv_minRate", "0", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); sv_maxRate = Cvar_Get( "sv_maxRate", "0", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); sv_dlRate = Cvar_Get( "sv_dlRate", "100", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); sv_minPing = Cvar_Get( "sv_minPing", "0", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); sv_maxPing = Cvar_Get( "sv_maxPing", "0", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); sv_floodProtect = Cvar_Get( "sv_floodProtect", "1", CVAR_ARCHIVE|CVAR_SERVERINFO, NULL, NULL ); // systeminfo Cvar_Get( "sv_cheats", "1", CVAR_NONE, NULL, NULL ); sv_serverid = Cvar_Get( "sv_serverid", "0", CVAR_SYSTEMINFO|CVAR_ROM, NULL, NULL ); sv_pure = Cvar_Get( "sv_pure", "1", CVAR_SYSTEMINFO, NULL, NULL ); #ifdef USE_VOIP sv_voip = Cvar_Get( "sv_voip", "1", CVAR_SYSTEMINFO|CVAR_LATCH, NULL, NULL ); Cvar_CheckRange(sv_voip, 0, 1, qtrue); #endif Cvar_Get( "sv_paks", "", CVAR_SYSTEMINFO|CVAR_ROM, NULL, NULL ); Cvar_Get( "sv_pakNames", "", CVAR_SYSTEMINFO|CVAR_ROM, NULL, NULL ); Cvar_Get( "sv_referencedPaks", "", CVAR_SYSTEMINFO|CVAR_ROM, NULL, NULL ); Cvar_Get( "sv_referencedPakNames", "", CVAR_SYSTEMINFO|CVAR_ROM, NULL, NULL ); // server vars sv_rconPassword = Cvar_Get( "rconPassword", "", CVAR_TEMP, "Password for remote console access", NULL ); sv_privatePassword = Cvar_Get( "sv_privatePassword", "", CVAR_TEMP, NULL, NULL ); sv_snapshotRate = Cvar_Get( "sv_snapshotRate", "25", CVAR_ARCHIVE, "How often clients receive snapshots", NULL ); // 1 <=> sv_snapshotRate <=> 1000/sv_frametime->integer sv_frametime = Cvar_Get( "sv_frametime", "25", CVAR_ARCHIVE, "Server update rate", NULL ); sv_timeout = Cvar_Get( "sv_timeout", "200", CVAR_TEMP, NULL, NULL ); sv_zombietime = Cvar_Get( "sv_zombietime", "2", CVAR_TEMP, NULL, NULL ); Cvar_Get( "nextmap", "", CVAR_TEMP, NULL, NULL ); sv_allowDownload = Cvar_Get( "sv_allowDownload", "0", CVAR_SERVERINFO, NULL, NULL ); Cvar_Get( "sv_dlURL", "", CVAR_SERVERINFO|CVAR_ARCHIVE, NULL, NULL ); sv_master[0] = Cvar_Get( "sv_master1", MASTER_SERVER_NAME, CVAR_NONE, NULL, NULL ); for ( index=1; index<MAX_MASTER_SERVERS; index++ ) sv_master[index] = Cvar_Get( va( "sv_master%d", index+1 ), "", CVAR_ARCHIVE, NULL, NULL ); sv_reconnectlimit = Cvar_Get( "sv_reconnectlimit", "3", CVAR_NONE, NULL, NULL ); sv_showloss = Cvar_Get( "sv_showloss", "0", CVAR_NONE, NULL, NULL ); sv_padPackets = Cvar_Get( "sv_padPackets", "0", CVAR_NONE, NULL, NULL ); sv_killserver = Cvar_Get( "sv_killserver", "0", CVAR_NONE, NULL, NULL ); sv_mapChecksum = Cvar_Get( "sv_mapChecksum", "", CVAR_ROM, NULL, NULL ); sv_lanForceRate = Cvar_Get( "sv_lanForceRate", "1", CVAR_ARCHIVE, NULL, NULL ); sv_banFile = Cvar_Get( "sv_banFile", "serverbans.dat", CVAR_ARCHIVE, NULL, NULL ); // from common, should be read-only cl_paused = Cvar_Get( "cl_paused", "0", CVAR_ROM, NULL, NULL ); com_cl_running = Cvar_Get( "cl_running", "0", CVAR_ROM, NULL, NULL ); #ifdef DEDICATED com_dedicated = Cvar_Get( "dedicated", "2", CVAR_INIT, NULL, NULL ); Cvar_CheckRange( com_dedicated, 1, 2, qtrue ); #else com_dedicated = Cvar_Get( "dedicated", "0", CVAR_LATCH, NULL, NULL); Cvar_CheckRange( com_dedicated, 0, 2, qtrue ); #endif com_gamename = Cvar_Get( "com_gamename", GAMENAME_FOR_MASTER, CVAR_SERVERINFO|CVAR_INIT, NULL, NULL ); com_protocol = Cvar_Get( "com_protocol", XSTRING( PROTOCOL_VERSION ), CVAR_SERVERINFO|CVAR_INIT, NULL, NULL ); com_speeds = Cvar_Get( "com_speeds", "0", CVAR_NONE, NULL, NULL ); com_sv_running = Cvar_Get( "sv_running", "0", CVAR_ROM, NULL, NULL ); com_timescale = Cvar_Get( "timescale", "1", CVAR_CHEAT|CVAR_SYSTEMINFO, NULL, NULL ); sv_paused = Cvar_Get( "sv_paused", "0", CVAR_ROM, NULL, NULL ); // end common SV_AddOperatorCommands(); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); // Load saved bans Cbuf_AddText("rehashbans\n"); }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO ); Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_strictAuth = Cvar_Get ("sv_strictAuth", "1", CVAR_ARCHIVE ); sv_tellprefix = Cvar_Get ("sv_tellprefix", "console_tell: ", CVAR_ARCHIVE ); sv_sayprefix = Cvar_Get ("sv_sayprefix", "console: ", CVAR_ARCHIVE ); sv_demonotice = Cvar_Get ("sv_demonotice", "Smile! You're on camera!", CVAR_ARCHIVE); sv_demofolder = Cvar_Get ("sv_demofolder", "serverdemos", CVAR_ARCHIVE ); sv_commands = Cvar_Get("sv_commands", "0", CVAR_ARCHIVE); sv_nosmoke = Cvar_Get ("sv_nosmoke", "0", CVAR_ARCHIVE ); sv_nogrenade = Cvar_Get ("sv_nogrenade", "0", CVAR_ARCHIVE ); sv_nog36 = Cvar_Get ("sv_nog36", "0", CVAR_ARCHIVE ); sv_nopsg = Cvar_Get ("sv_nopsg", "0", CVAR_ARCHIVE ); sv_nosr8 = Cvar_Get ("sv_nosr8", "0", CVAR_ARCHIVE ); sv_nohk69 = Cvar_Get ("sv_nohk69", "0", CVAR_ARCHIVE ); sv_notacgoggle = Cvar_Get ("sv_notacgoggle", "0", CVAR_ARCHIVE ); sv_nokevlar = Cvar_Get ("sv_nokevlar", "0", CVAR_ARCHIVE ); sv_nomedkit = Cvar_Get ("sv_nomedkit", "0", CVAR_ARCHIVE ); sv_noxtra = Cvar_Get ("sv_noxtra", "0", CVAR_ARCHIVE ); sv_nospas = Cvar_Get ("sv_nospas", "0", CVAR_ARCHIVE ); sv_nonegev = Cvar_Get ("sv_nonegev", "0", CVAR_ARCHIVE ); sv_nomp5 = Cvar_Get ("sv_nomp5", "0", CVAR_ARCHIVE ); sv_noump45 = Cvar_Get ("sv_noump45", "0", CVAR_ARCHIVE ); pb_database = Cvar_Get("pb_database", "UrTDataBase.db", CVAR_ARCHIVE); pb_filecommands = Cvar_Get("pb_filecommands", "commands.cfg", CVAR_ARCHIVE); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); }
void SV_Init (void) { SV_AddOperatorCommands (); Cvar_Get("JK2MV", JK2MV_VERSION, CVAR_SERVERINFO | CVAR_ROM); mv_serverversion = Cvar_Get("mv_serverversion", "1.04", CVAR_ARCHIVE | CVAR_LATCH); mv_fixnamecrash = Cvar_Get("mv_fixnamecrash", "1", CVAR_ARCHIVE); mv_fixforcecrash = Cvar_Get("mv_fixforcecrash", "1", CVAR_ARCHIVE); mv_fixgalaking = Cvar_Get("mv_fixgalaking", "1", CVAR_ARCHIVE); mv_fixbrokenmodels = Cvar_Get("mv_fixbrokenmodels", "1", CVAR_ARCHIVE); mv_fixturretcrash = Cvar_Get("mv_fixturretcrash", "1", CVAR_ARCHIVE); mv_blockchargejump = Cvar_Get("mv_blockchargejump", "1", CVAR_ARCHIVE); mv_blockspeedhack = Cvar_Get("mv_blockspeedhack", "1", CVAR_ARCHIVE); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); // Get these to establish them and to make sure they have a default before the menus decide to stomp them. Cvar_Get ("g_maxHolocronCarry", "3", CVAR_SERVERINFO); Cvar_Get ("g_privateDuel", "1", CVAR_SERVERINFO ); Cvar_Get ("g_saberLocking", "1", CVAR_SERVERINFO ); Cvar_Get ("g_maxForceRank", "6", CVAR_SERVERINFO ); Cvar_Get ("duel_fraglimit", "10", CVAR_SERVERINFO); Cvar_Get ("g_forceBasedTeams", "0", CVAR_SERVERINFO); Cvar_Get ("g_duelWeaponDisable", "1", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); sv_needpass = Cvar_Get ("g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_allowAnonymous = Cvar_Get ("sv_allowAnonymous", "0", CVAR_SERVERINFO); // systeminfo Cvar_Get ("sv_cheats", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); #ifndef DLL_ONLY // bk010216 - for DLL-only servers sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO ); #else sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_INIT | CVAR_ROM ); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); sv_master[0] = Cvar_Get("sv_master1", "masterjk2.ravensoft.com", CVAR_ROM); Cvar_Set("sv_master1", "masterjk2.ravensoft.com"); sv_master[1] = Cvar_Get("sv_master2", "master.jk2mv.org", CVAR_ROM); // multimaster Cvar_Set("sv_master2", "master.jk2mv.org"); sv_master[2] = Cvar_Get("sv_master3", "master.jkhub.org", CVAR_ROM); Cvar_Set("sv_master3", "master.jkhub.org"); sv_master[3] = Cvar_Get("sv_master4", "", CVAR_ARCHIVE); sv_master[4] = Cvar_Get("sv_master5", "", CVAR_ARCHIVE); sv_master[5] = Cvar_Get("sv_master6", "", CVAR_ARCHIVE); sv_master[6] = Cvar_Get("sv_master7", "", CVAR_ARCHIVE); sv_master[7] = Cvar_Get("sv_master8", "", CVAR_ARCHIVE); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); // sv_debugserver = Cvar_Get ("sv_debugserver", "0", 0); SP_Register("str_server",SP_REGISTER_REQUIRED); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); m_webreq = MV_CreateMutex(); m_srv = MV_CreateMutex(); }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init( void ) { int index; SV_InitServerAPI(); SV_AddOperatorCommands(); // serverinfo vars Cvar_Get( "dmflags", "0", CVAR_SERVERINFO ); Cvar_Get( "fraglimit", "20", CVAR_SERVERINFO ); Cvar_Get( "timelimit", "0", CVAR_SERVERINFO ); sv_gametype = Cvar_Get( "g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get( "sv_keywords", "", CVAR_SERVERINFO ); sv_mapname = Cvar_Get( "mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM ); sv_privateClients = Cvar_Get( "sv_privateClients", "0", CVAR_SERVERINFO ); sv_hostname = Cvar_Get( "sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get( "sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH ); sv_minRate = Cvar_Get( "sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get( "sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_dlRate = Cvar_Get( "sv_dlRate", "100", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get( "sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get( "sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get( "sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get( "sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get( "sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get( "sv_pure", "0", CVAR_SYSTEMINFO ); #ifdef USE_VOIP sv_voip = Cvar_Get( "sv_voip", "1", CVAR_SYSTEMINFO | CVAR_LATCH ); Cvar_CheckRange( sv_voip, 0, 1, true ); #endif Cvar_Get( "sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get( "rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get( "sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get( "sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get( "sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get( "sv_zombietime", "2", CVAR_TEMP ); Cvar_Get( "nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get( "sv_allowDownload", "1", CVAR_SERVERINFO ); Cvar_Get( "sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_master[0] = Cvar_Get( "sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get( "sv_master2", "master.ioquake3.org", 0 ); for ( index = 2; index < MAX_MASTER_SERVERS; index++ ) sv_master[index] = Cvar_Get( va( "sv_master%d", index + 1 ), "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get( "sv_reconnectlimit", "3", 0 ); sv_showloss = Cvar_Get( "sv_showloss", "0", 0 ); sv_padPackets = Cvar_Get( "sv_padPackets", "0", 0 ); sv_killserver = Cvar_Get( "sv_killserver", "0", 0 ); sv_mapChecksum = Cvar_Get( "sv_mapChecksum", "", CVAR_ROM ); sv_lanForceRate = Cvar_Get( "sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_banFile = Cvar_Get( "sv_banFile", "serverbans.dat", CVAR_ARCHIVE ); // Load saved bans Cbuf_AddText( "rehashbans\n" ); }
void SV_Init(void) { int index; SV_AddOperatorCommands(); // serverinfo vars Cvar_Get("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH); Cvar_Get("sv_keywords", "", CVAR_SERVERINFO); // unused. Kept for GameTracker.com compatibility Cvar_Get("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get("sv_hostname", "ETLHost", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_maxclients = Cvar_Get("sv_maxclients", "20", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_minPing = Cvar_Get("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_maxPing = Cvar_Get("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_floodProtect = Cvar_Get("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_friendlyFire = Cvar_Get("g_friendlyFire", "1", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_maxlives = Cvar_Get("g_maxlives", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_SERVERINFO); sv_needpass = Cvar_Get("g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM); // systeminfo // added cvar_t for sv_cheats so server engine can reference it sv_cheats = Cvar_Get("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM); sv_serverid = Cvar_Get("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM); sv_pure = Cvar_Get("sv_pure", "1", CVAR_SYSTEMINFO); Cvar_Get("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM); #ifdef FEATURE_ANTICHEAT // note: // we might add CVAR_LATCH flag to wh_active saving SV_InitWallhack() call when not needed // but it may be helpfully (see sound issue) when wh_active isn't active all the time - we should give that a try // just enable sv_wh_active by random intervals ... (would also save CPU usage too) sv_wh_active = Cvar_Get("sv_wh_active", "0", CVAR_ARCHIVE); // Note on bounding box dimensions: // The default values are considerably larger than the normal values (36 and 72) used by ET. // The reason for this is that it is better to predict a player as visible when // he/she is not than the contrary. // It may give a slight advantage to cheaters using wallhacks, but IMO it is not significant. // You can change these Cvars, but if you set them to smaller values then it may happen that // players do not become immediately visible when you go around corners. sv_wh_bbox_horz = Cvar_Get("sv_wh_bbox_horz", "60", CVAR_ARCHIVE); // was 50 - now real player x bbox size(36) + offset if (sv_wh_bbox_horz->integer < 20) { Cvar_Set("sv_wh_bbox_horz", "20"); } if (sv_wh_bbox_horz->integer > 100) { Cvar_Set("sv_wh_bbox_horz", "100"); } sv_wh_bbox_vert = Cvar_Get("sv_wh_bbox_vert", "100", CVAR_ARCHIVE); // was 60 - now real player y bbox size(72) + offset if (sv_wh_bbox_vert->integer < 40) { Cvar_Set("sv_wh_bbox_vert", "40"); } if (sv_wh_bbox_vert->integer > 150) { Cvar_Set("sv_wh_bbox_vert", "150"); } sv_wh_check_fov = Cvar_Get("wh_check_fov", "0", CVAR_ARCHIVE); SV_InitWallhack(); #endif // server vars sv_rconPassword = Cvar_Get("rconPassword", "", CVAR_TEMP); sv_privatePassword = Cvar_Get("sv_privatePassword", "", CVAR_TEMP); sv_fps = Cvar_Get("sv_fps", "20", CVAR_TEMP); sv_timeout = Cvar_Get("sv_timeout", "40", CVAR_TEMP); // used in game (also vid_restart) sv_dl_timeout = Cvar_Get("sv_dl_timeout", "240", CVAR_TEMP); sv_zombietime = Cvar_Get("sv_zombietime", "2", CVAR_TEMP); Cvar_Get("nextmap", "", CVAR_TEMP); sv_allowDownload = Cvar_Get("sv_allowDownload", "1", CVAR_ARCHIVE); // master servers sv_master[0] = Cvar_Get("sv_master1", MASTER_SERVER_NAME, 0); for (index = 1; index < MAX_MASTER_SERVERS; index++) { sv_master[index] = Cvar_Get(va("sv_master%d", index + 1), "", CVAR_ARCHIVE); } sv_reconnectlimit = Cvar_Get("sv_reconnectlimit", "3", 0); sv_tempbanmessage = Cvar_Get("sv_tempbanmessage", "You have been kicked and are temporarily banned from joining this server.", 0); sv_padPackets = Cvar_Get("sv_padPackets", "0", 0); sv_killserver = Cvar_Get("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get("sv_lanForceRate", "1", CVAR_ARCHIVE); sv_onlyVisibleClients = Cvar_Get("sv_onlyVisibleClients", "0", 0); sv_showAverageBPS = Cvar_Get("sv_showAverageBPS", "0", 0); // net debugging // create user set cvars Cvar_Get("g_userTimeLimit", "0", 0); Cvar_Get("g_userAlliedRespawnTime", "0", 0); Cvar_Get("g_userAxisRespawnTime", "0", 0); Cvar_Get("g_maxlives", "0", 0); Cvar_Get("g_altStopwatchMode", "0", CVAR_ARCHIVE); Cvar_Get("g_minGameClients", "8", CVAR_SERVERINFO); Cvar_Get("g_complaintlimit", "6", CVAR_ARCHIVE); Cvar_Get("gamestate", "-1", CVAR_WOLFINFO | CVAR_ROM); Cvar_Get("g_currentRound", "0", CVAR_WOLFINFO); Cvar_Get("g_nextTimeLimit", "0", CVAR_WOLFINFO); Cvar_Get("g_fastres", "0", CVAR_ARCHIVE); Cvar_Get("g_fastResMsec", "1000", CVAR_ARCHIVE); Cvar_Get("g_voteFlags", "0", CVAR_ROM | CVAR_SERVERINFO); Cvar_Get("g_antilag", "1", CVAR_ARCHIVE | CVAR_SERVERINFO); Cvar_Get("g_needpass", "0", CVAR_SERVERINFO); g_gameType = Cvar_Get("g_gametype", "4", CVAR_SERVERINFO | CVAR_LATCH); // the download netcode tops at 18/20 kb/s, no need to make you think you can go above sv_dl_maxRate = Cvar_Get("sv_dl_maxRate", "42000", CVAR_ARCHIVE); sv_wwwDownload = Cvar_Get("sv_wwwDownload", "0", CVAR_ARCHIVE); sv_wwwBaseURL = Cvar_Get("sv_wwwBaseURL", "", CVAR_ARCHIVE); sv_wwwDlDisconnected = Cvar_Get("sv_wwwDlDisconnected", "0", CVAR_ARCHIVE); sv_wwwFallbackURL = Cvar_Get("sv_wwwFallbackURL", "", CVAR_ARCHIVE); sv_packetdelay = Cvar_Get("sv_packetdelay", "0", CVAR_CHEAT); // note: redirecting of clients to other servers relies on this, // ET://someserver.com sv_fullmsg = Cvar_Get("sv_fullmsg", "Server is full.", CVAR_ARCHIVE); sv_advert = Cvar_Get("sv_advert", "1", CVAR_ARCHIVE); sv_protect = Cvar_Get("sv_protect", "0", CVAR_ARCHIVE); sv_protectLog = Cvar_Get("sv_protectLog", "", CVAR_ARCHIVE); SV_InitAttackLog(); // init the server side demo recording stuff // serverside demo recording variables sv_demoState = Cvar_Get("sv_demoState", "0", CVAR_ROM); sv_democlients = Cvar_Get("sv_democlients", "0", CVAR_ROM); sv_autoDemo = Cvar_Get("sv_autoDemo", "0", CVAR_ARCHIVE); cl_freezeDemo = Cvar_Get("cl_freezeDemo", "0", CVAR_TEMP); // port from client-side to freeze server-side demos sv_demoTolerant = Cvar_Get("sv_demoTolerant", "0", CVAR_ARCHIVE); sv_demopath = Cvar_Get("sv_demopath", "", CVAR_ARCHIVE); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); svs.serverLoad = -1; #ifdef FEATURE_TRACKER Tracker_Init(); #endif }
void SV_Init(void) { int index; SV_AddOperatorCommands(); // serverinfo vars Cvar_Get("timelimit", "0", CVAR_SERVERINFO); Cvar_Get("sv_keywords", "", CVAR_SERVERINFO); // unused. Kept for GameTracker.com compatibility Cvar_Get("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get("sv_hostname", "ETLHost", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_maxclients = Cvar_Get("sv_maxclients", "20", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_minPing = Cvar_Get("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_maxPing = Cvar_Get("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_floodProtect = Cvar_Get("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_allowAnonymous = Cvar_Get("sv_allowAnonymous", "0", CVAR_SERVERINFO); sv_friendlyFire = Cvar_Get("g_friendlyFire", "1", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_maxlives = Cvar_Get("g_maxlives", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_SERVERINFO); sv_needpass = Cvar_Get("g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM); // systeminfo // added cvar_t for sv_cheats so server engine can reference it sv_cheats = Cvar_Get("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM); sv_serverid = Cvar_Get("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM); sv_pure = Cvar_Get("sv_pure", "1", CVAR_SYSTEMINFO); Cvar_Get("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM); Cvar_Get("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM); #ifdef FEATURE_ANTICHEAT // note: // we might add CVAR_LATCH flag to wh_active saving SV_InitWallhack() call when not needed // but it may be helpfully (see sound issue) when wh_active isn't active all the time - we should give that a try // just enable sv_wh_active by random intervals ... (would also save CPU usage too) sv_wh_active = Cvar_Get("sv_wh_active", "0", CVAR_ARCHIVE); // FIXME: adjust bounding box ? sv_wh_bbox_horz = Cvar_Get("sv_wh_bbox_horz", "50", CVAR_ARCHIVE); if (sv_wh_bbox_horz->integer < 10) { Cvar_Set("sv_wh_bbox_horz", "10"); } if (sv_wh_bbox_horz->integer > 50) { Cvar_Set("sv_wh_bbox_horz", "50"); } sv_wh_bbox_vert = Cvar_Get("sv_wh_bbox_vert", "60", CVAR_ARCHIVE); if (sv_wh_bbox_vert->integer < 10) { Cvar_Set("sv_wh_bbox_vert", "30"); } if (sv_wh_bbox_vert->integer > 50) { Cvar_Set("sv_wh_bbox_vert", "80"); } sv_wh_check_fov = Cvar_Get("wh_check_fov", "0", CVAR_ARCHIVE); SV_InitWallhack(); #endif // server vars sv_rconPassword = Cvar_Get("rconPassword", "", CVAR_TEMP); sv_privatePassword = Cvar_Get("sv_privatePassword", "", CVAR_TEMP); sv_fps = Cvar_Get("sv_fps", "20", CVAR_TEMP); sv_timeout = Cvar_Get("sv_timeout", "40", CVAR_TEMP); // used in game (also vid_restart) sv_dl_timeout = Cvar_Get("sv_dl_timeout", "240", CVAR_TEMP); sv_zombietime = Cvar_Get("sv_zombietime", "2", CVAR_TEMP); Cvar_Get("nextmap", "", CVAR_TEMP); sv_allowDownload = Cvar_Get("sv_allowDownload", "1", CVAR_ARCHIVE); // master servers sv_master[0] = Cvar_Get("sv_master1", MASTER_SERVER_NAME, 0); for (index = 1; index < MAX_MASTER_SERVERS; index++) { sv_master[index] = Cvar_Get(va("sv_master%d", index + 1), "", CVAR_ARCHIVE); } sv_reconnectlimit = Cvar_Get("sv_reconnectlimit", "3", 0); sv_tempbanmessage = Cvar_Get("sv_tempbanmessage", "You have been kicked and are temporarily banned from joining this server.", 0); sv_padPackets = Cvar_Get("sv_padPackets", "0", 0); sv_killserver = Cvar_Get("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get("sv_lanForceRate", "1", CVAR_ARCHIVE); sv_onlyVisibleClients = Cvar_Get("sv_onlyVisibleClients", "0", 0); sv_showAverageBPS = Cvar_Get("sv_showAverageBPS", "0", 0); // net debugging // create user set cvars Cvar_Get("g_userTimeLimit", "0", 0); Cvar_Get("g_userAlliedRespawnTime", "0", 0); Cvar_Get("g_userAxisRespawnTime", "0", 0); Cvar_Get("g_maxlives", "0", 0); Cvar_Get("g_altStopwatchMode", "0", CVAR_ARCHIVE); Cvar_Get("g_minGameClients", "8", CVAR_SERVERINFO); Cvar_Get("g_complaintlimit", "6", CVAR_ARCHIVE); Cvar_Get("gamestate", "-1", CVAR_WOLFINFO | CVAR_ROM); Cvar_Get("g_currentRound", "0", CVAR_WOLFINFO); Cvar_Get("g_nextTimeLimit", "0", CVAR_WOLFINFO); Cvar_Get("g_fastres", "0", CVAR_ARCHIVE); Cvar_Get("g_fastResMsec", "1000", CVAR_ARCHIVE); Cvar_Get("g_voteFlags", "0", CVAR_ROM | CVAR_SERVERINFO); Cvar_Get("g_antilag", "1", CVAR_ARCHIVE | CVAR_SERVERINFO); Cvar_Get("g_needpass", "0", CVAR_SERVERINFO); g_gameType = Cvar_Get("g_gametype", "4", CVAR_SERVERINFO | CVAR_LATCH); // the download netcode tops at 18/20 kb/s, no need to make you think you can go above sv_dl_maxRate = Cvar_Get("sv_dl_maxRate", "42000", CVAR_ARCHIVE); sv_wwwDownload = Cvar_Get("sv_wwwDownload", "0", CVAR_ARCHIVE); sv_wwwBaseURL = Cvar_Get("sv_wwwBaseURL", "", CVAR_ARCHIVE); sv_wwwDlDisconnected = Cvar_Get("sv_wwwDlDisconnected", "0", CVAR_ARCHIVE); sv_wwwFallbackURL = Cvar_Get("sv_wwwFallbackURL", "", CVAR_ARCHIVE); sv_packetdelay = Cvar_Get("sv_packetdelay", "0", CVAR_CHEAT); // note: redirecting of clients to other servers relies on this, // ET://someserver.com sv_fullmsg = Cvar_Get("sv_fullmsg", "Server is full.", CVAR_ARCHIVE); sv_advert = Cvar_Get("sv_advert", "1", CVAR_ARCHIVE); sv_protect = Cvar_Get("sv_protect", "1", CVAR_ARCHIVE); sv_protectLog = Cvar_Get("sv_protectLog", "", CVAR_ARCHIVE); SV_InitAttackLog(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); svs.serverLoad = -1; #ifdef FEATURE_TRACKBASE TB_Init(); #endif }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init (void) { int index; SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_gametypeName = Cvar_Get ("sv_gametypeName", "Unknown Gametype", CVAR_SERVERINFO | CVAR_ROM ); sv_gametypeNetName = Cvar_Get ("sv_gametypeNetName", "Unknown", CVAR_SERVERINFO | CVAR_ROM ); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_dlRate = Cvar_Get("sv_dlRate", "100", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); if (!com_fs_pure->integer) sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_ROM ); else sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO ); #ifdef USE_VOIP sv_voip = Cvar_Get("sv_voip", "1", CVAR_SYSTEMINFO | CVAR_LATCH); Cvar_CheckRange(sv_voip, 0, 1, qtrue); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get("sv_master1", MASTER_SERVER_NAME, 0); sv_master[1] = Cvar_Get("sv_master2", "master.ioquake3.org", 0); for(index = 2; index < MAX_MASTER_SERVERS; index++) sv_master[index] = Cvar_Get(va("sv_master%d", index + 1), "", CVAR_ARCHIVE); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_banFile = Cvar_Get("sv_banFile", "serverbans.dat", CVAR_ARCHIVE); sv_public = Cvar_Get("sv_public", "0", 0); Cvar_CheckRange(sv_public, -2, 1, qtrue); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); // Load saved bans Cbuf_AddText("rehashbans\n"); }
/* =============== SV_Init Only called at main exe startup, not for each game =============== */ void SV_Init (void) { int index; SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get( "sv_maxclients", "16", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_CheckRange( sv_maxclients, 1, 64, qtrue ); sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_dlRate = Cvar_Get("sv_dlRate", "100", CVAR_ARCHIVE | CVAR_SERVERINFO); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); // systeminfo Cvar_Get ("sv_cheats", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get( "sv_pure", "0", CVAR_SYSTEMINFO ); Cvar_CheckRange( sv_pure, 0, 1, qtrue ); #ifdef USE_VOIP sv_voip = Cvar_Get("sv_voip", "1", CVAR_SYSTEMINFO | CVAR_LATCH); Cvar_CheckRange(sv_voip, 0, 1, qtrue); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "40", CVAR_TEMP ); //default changed Cvar_CheckRange( sv_fps, 20, 160, qtrue ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); Cvar_Get ("sv_dlURL", "", CVAR_SERVERINFO | CVAR_ARCHIVE); sv_master[0] = Cvar_Get("sv_master1", MASTER_SERVER_NAME, 0); sv_master[1] = Cvar_Get("sv_master2", "master.ioquake3.org", 0); for(index = 2; index < MAX_MASTER_SERVERS; index++) sv_master[index] = Cvar_Get(va("sv_master%d", index + 1), "", CVAR_ARCHIVE); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE ); #ifndef STANDALONE sv_strictAuth = Cvar_Get ("sv_strictAuth", "1", CVAR_ARCHIVE ); #endif sv_banFile = Cvar_Get("sv_banFile", "serverbans.dat", CVAR_ARCHIVE); //muff sv_entList_dump = Cvar_Get( "sv_entList_dump", "0", 0 ); Cvar_CheckRange( sv_entList_dump, 0, 2, qtrue ); sv_entList_load = Cvar_Get( "sv_entList_load", "1", 0 ); Cvar_CheckRange( sv_entList_load, 0, 1, qtrue ); sv_floodProtect_decay = Cvar_Get( "sv_floodProtect_decay", "1000", 0 ); sv_floodProtect_kick = Cvar_Get( "sv_floodProtect_kick", "0", 0 ); Cvar_CheckRange( sv_floodProtect_kick, 0, 1, qtrue ); sv_floodProtect_maxcount = Cvar_Get( "sv_floodProtect_maxcount", "10", 0 ); sv_floodProtect_threshold = Cvar_Get( "sv_floodProtect_threshold", "500", 0 ); sv_loadMapCfgs = Cvar_Get( "sv_loadMapCfgs", "0", 0 ); Cvar_CheckRange( sv_loadMapCfgs, 0, 1, qtrue ); sv_mapcycle_enable = Cvar_Get( "sv_mapcycle_enable", "1", 0 ); Cvar_CheckRange( sv_mapcycle_enable, 0, 1, qtrue ); sv_mapcycle_file = Cvar_Get( "sv_mapcycle_file", "mapcycle-default", 0 ); sv_mapcycle_order = Cvar_Get( "sv_mapcycle_order", "3", 0 ); Cvar_CheckRange( sv_mapcycle_order, 0, 3, qtrue ); //-muff // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); // Load saved bans Cbuf_AddText("rehashbans\n"); }
void SV_Init (void) { SV_AddOperatorCommands (); // serverinfo vars Cvar_Get ("dmflags", "0", CVAR_SERVERINFO); Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO); Cvar_Get ("timelimit", "0", CVAR_SERVERINFO); // Get these to establish them and to make sure they have a default before the menus decide to stomp them. Cvar_Get ("g_maxHolocronCarry", "3", CVAR_SERVERINFO); Cvar_Get ("g_privateDuel", "1", CVAR_SERVERINFO ); Cvar_Get ("g_saberLocking", "1", CVAR_SERVERINFO ); Cvar_Get ("g_maxForceRank", "6", CVAR_SERVERINFO ); Cvar_Get ("duel_fraglimit", "10", CVAR_SERVERINFO); Cvar_Get ("g_forceBasedTeams", "0", CVAR_SERVERINFO); Cvar_Get ("g_duelWeaponDisable", "1", CVAR_SERVERINFO); Cvar_Get ("g_needpass", "0", CVAR_SERVERINFO); sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH ); Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO); Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM); sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM); sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO); sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_allowAnonymous = Cvar_Get ("sv_allowAnonymous", "0", CVAR_SERVERINFO); // systeminfo Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); #ifndef DLL_ONLY // bk010216 - for DLL-only servers sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO ); #else sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_INIT | CVAR_ROM ); #endif Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP ); sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP ); sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP ); Cvar_Get ("nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO); sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0); sv_showloss = Cvar_Get ("sv_showloss", "0", 0); sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0); sv_killserver = Cvar_Get ("sv_killserver", "0", 0); sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM); sv_debugserver = Cvar_Get ("sv_debugserver", "0", 0); SP_Register("str_server",SP_REGISTER_REQUIRED); // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); }
/* ================ SV_SpawnServer Change the server to a new map, taking all connected clients along with it. This is NOT called for map_restart ================ */ void SV_SpawnServer( const char *server ) { int i; bool isBot; // shut down the existing game if it is running SV_ShutdownGameProgs(); PrintBanner( "Server Initialization" ) Com_Printf( "Server: %s\n", server ); // clear the whole hunk because we're (re)loading the server Hunk_Clear(); // if not running a dedicated server CL_MapLoading will connect the client to the server // also print some status stuff CL_MapLoading(); // clear collision map data CM_ClearMap(); // wipe the entire per-level structure SV_ClearServer(); // allocate empty config strings for ( i = 0; i < MAX_CONFIGSTRINGS; i++ ) { sv.configstrings[ i ] = CopyString( "" ); sv.configstringsmodified[ i ] = false; } // init client structures and svs.numSnapshotEntities if ( !Cvar_VariableValue( "sv_running" ) ) { SV_Startup(); } else { // check for maxclients change if ( sv_maxclients->modified ) { SV_ChangeMaxClients(); } } // allocate the snapshot entities on the hunk svs.snapshotEntities = ( entityState_t * ) Hunk_Alloc( sizeof( entityState_t ) * svs.numSnapshotEntities, h_high ); svs.nextSnapshotEntities = 0; // toggle the server bit so clients can detect that a // server has changed svs.snapFlagServerBit ^= SNAPFLAG_SERVERCOUNT; // set sv_nextmap to the same map, but it may be overridden // by the game startup or another console command Cvar_Set( "sv_nextmap", "map_restart 0" ); // make sure we are not paused Cvar_Set( "cl_paused", "0" ); // get a new checksum feed and restart the file system srand( Sys_Milliseconds() ); sv.checksumFeed = ( ( rand() << 16 ) ^ rand() ) ^ Sys_Milliseconds(); FS::PakPath::ClearPaks(); FS_LoadBasePak(); if (!FS_LoadPak(va("map-%s", server))) Com_Error(ERR_DROP, "Could not load map pak\n"); CM_LoadMap(server); // set serverinfo visible name Cvar_Set( "mapname", server ); // serverid should be different each time sv.serverId = com_frameTime; sv.restartedServerId = sv.serverId; Cvar_Set( "sv_serverid", va( "%i", sv.serverId ) ); // media configstring setting should be done during // the loading stage, so connected clients don't have // to load during actual gameplay sv.state = SS_LOADING; // load and spawn all other entities SV_InitGameProgs(); // run a few frames to allow everything to settle for ( i = 0; i < GAME_INIT_FRAMES; i++ ) { gvm.GameRunFrame( sv.time ); svs.time += FRAMETIME; sv.time += FRAMETIME; } // create a baseline for more efficient communications SV_CreateBaseline(); for ( i = 0; i < sv_maxclients->integer; i++ ) { // send the new gamestate to all connected clients if ( svs.clients[ i ].state >= CS_CONNECTED ) { bool denied; char reason[ MAX_STRING_CHARS ]; isBot = SV_IsBot(&svs.clients[i]); // connect the client again denied = gvm.GameClientConnect( reason, sizeof( reason ), i, false, isBot ); // firstTime = false if ( denied ) { // this generally shouldn't happen, because the client // was connected before the level change SV_DropClient( &svs.clients[ i ], reason ); } else { if ( !isBot ) { // when we get the next packet from a connected client, // the new gamestate will be sent svs.clients[ i ].state = CS_CONNECTED; } else { client_t *client; sharedEntity_t *ent; client = &svs.clients[ i ]; client->state = CS_ACTIVE; ent = SV_GentityNum( i ); ent->s.number = i; client->gentity = ent; client->deltaMessage = -1; client->nextSnapshotTime = svs.time; // generate a snapshot immediately gvm.GameClientBegin( i ); } } } } // run another frame to allow things to look at all the players gvm.GameRunFrame( sv.time ); svs.time += FRAMETIME; sv.time += FRAMETIME; // the server sends these to the clients so they can figure // out which pk3s should be auto-downloaded Cvar_Set( "sv_paks", FS_LoadedPaks() ); // save systeminfo and serverinfo strings cvar_modifiedFlags &= ~CVAR_SYSTEMINFO; SV_SetConfigstring( CS_SYSTEMINFO, Cvar_InfoString( CVAR_SYSTEMINFO, true ) ); SV_SetConfigstring( CS_SERVERINFO, Cvar_InfoString( CVAR_SERVERINFO, false ) ); cvar_modifiedFlags &= ~CVAR_SERVERINFO; // any media configstring setting now should issue a warning // and any configstring changes should be reliably transmitted // to all clients sv.state = SS_GAME; // send a heartbeat now so the master will get up to date info SV_Heartbeat_f(); Hunk_SetMark(); SV_UpdateConfigStrings(); SV_AddOperatorCommands(); Com_Printf( "-----------------------------------\n" ); }
void SV_Init( void ) { SV_AddOperatorCommands(); // serverinfo vars Cvar_Get( "dmflags", "0", /*CVAR_SERVERINFO */ 0 ); Cvar_Get( "fraglimit", "0", /*CVAR_SERVERINFO */ 0 ); Cvar_Get( "timelimit", "0", CVAR_SERVERINFO ); // Rafael gameskill // sv_gameskill = Cvar_Get ("g_gameskill", "3", CVAR_SERVERINFO | CVAR_LATCH ); // done Cvar_Get( "sv_keywords", "", CVAR_SERVERINFO ); Cvar_Get( "protocol", va( "%i", ETPROTOCOL_VERSION ), CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_mapname = Cvar_Get( "mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM ); sv_privateClients = Cvar_Get( "sv_privateClients", "0", CVAR_SERVERINFO ); sv_hostname = Cvar_Get( "sv_hostname", "Unnamed Unvanquished Server", CVAR_SERVERINFO | CVAR_ARCHIVE ); // #ifdef __MACOS__ sv_maxclients = Cvar_Get( "sv_maxclients", "16", CVAR_SERVERINFO | CVAR_LATCH ); //DAJ HOG #else sv_maxclients = Cvar_Get( "sv_maxclients", "20", CVAR_SERVERINFO | CVAR_LATCH ); // NERVE - SMF - changed to 20 from 8 #endif sv_maxRate = Cvar_Get( "sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get( "sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get( "sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get( "sv_floodProtect", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_allowAnonymous = Cvar_Get( "sv_allowAnonymous", "0", CVAR_SERVERINFO ); sv_friendlyFire = Cvar_Get( "g_friendlyFire", "1", CVAR_SERVERINFO | CVAR_ARCHIVE ); // NERVE - SMF sv_maxlives = Cvar_Get( "g_maxlives", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_SERVERINFO ); // NERVE - SMF sv_needpass = Cvar_Get( "g_needpass", "0", CVAR_SERVERINFO | CVAR_ROM ); // systeminfo //bani - added cvar_t for sv_cheats so server engine can reference it sv_cheats = Cvar_Get( "sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get( "sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get( "sv_pure", "1", CVAR_SYSTEMINFO ); #ifdef USE_VOIP sv_voip = Cvar_Get( "sv_voip", "1", CVAR_SYSTEMINFO | CVAR_LATCH ); Cvar_CheckRange( sv_voip, 0, 1, qtrue ); #endif Cvar_Get( "sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get( "rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get( "sv_privatePassword", "", CVAR_TEMP ); sv_fps = Cvar_Get( "sv_fps", "120", CVAR_TEMP ); sv_timeout = Cvar_Get( "sv_timeout", "240", CVAR_TEMP ); sv_zombietime = Cvar_Get( "sv_zombietime", "2", CVAR_TEMP ); Cvar_Get( "nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get( "sv_allowDownload", "1", CVAR_ARCHIVE ); sv_master[ 0 ] = Cvar_Get( "sv_master1", MASTER_SERVER_NAME, 0 ); sv_master[ 1 ] = Cvar_Get( "sv_master2", "", CVAR_ARCHIVE ); sv_master[ 2 ] = Cvar_Get( "sv_master3", "", CVAR_ARCHIVE ); sv_master[ 3 ] = Cvar_Get( "sv_master4", "", CVAR_ARCHIVE ); sv_master[ 4 ] = Cvar_Get( "sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get( "sv_reconnectlimit", "3", 0 ); sv_tempbanmessage = Cvar_Get( "sv_tempbanmessage", "You have been kicked and are temporarily banned from joining this server.", 0 ); sv_showloss = Cvar_Get( "sv_showloss", "0", 0 ); sv_padPackets = Cvar_Get( "sv_padPackets", "0", 0 ); sv_killserver = Cvar_Get( "sv_killserver", "0", 0 ); sv_mapChecksum = Cvar_Get( "sv_mapChecksum", "", CVAR_ROM ); sv_reloading = Cvar_Get( "g_reloading", "0", CVAR_ROM ); sv_lanForceRate = Cvar_Get( "sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_onlyVisibleClients = Cvar_Get( "sv_onlyVisibleClients", "0", 0 ); // DHM - Nerve sv_showAverageBPS = Cvar_Get( "sv_showAverageBPS", "0", 0 ); // NERVE - SMF - net debugging // NERVE - SMF - create user set cvars Cvar_Get( "g_userTimeLimit", "0", 0 ); Cvar_Get( "g_userAlliedRespawnTime", "0", 0 ); Cvar_Get( "g_userAxisRespawnTime", "0", 0 ); Cvar_Get( "g_maxlives", "0", 0 ); Cvar_Get( "g_altStopwatchMode", "0", CVAR_ARCHIVE ); Cvar_Get( "g_minGameClients", "8", CVAR_SERVERINFO ); Cvar_Get( "g_complaintlimit", "6", CVAR_ARCHIVE ); Cvar_Get( "gamestate", "-1", CVAR_WOLFINFO | CVAR_ROM ); Cvar_Get( "g_currentRound", "0", CVAR_WOLFINFO ); Cvar_Get( "g_nextTimeLimit", "0", CVAR_WOLFINFO ); // -NERVE - SMF // TTimo - some UI additions // NOTE: sucks to have this hardcoded really, I suppose this should be in UI Cvar_Get( "g_axismaxlives", "0", 0 ); Cvar_Get( "g_alliedmaxlives", "0", 0 ); Cvar_Get( "g_fastres", "0", CVAR_ARCHIVE ); Cvar_Get( "g_fastResMsec", "1000", CVAR_ARCHIVE ); // ATVI Tracker Wolfenstein Misc #273 Cvar_Get( "g_voteFlags", "0", CVAR_ROM | CVAR_SERVERINFO ); // ATVI Tracker Wolfenstein Misc #263 Cvar_Get( "g_antilag", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); Cvar_Get( "g_needpass", "0", CVAR_SERVERINFO ); g_gameType = Cvar_Get( "g_gametype", va( "%i", com_gameInfo.defaultGameType ), CVAR_SERVERINFO | CVAR_LATCH ); // the download netcode tops at 18/20 kb/s, no need to make you think you can go above sv_dl_maxRate = Cvar_Get( "sv_dl_maxRate", "42000", CVAR_ARCHIVE ); sv_wwwDownload = Cvar_Get( "sv_wwwDownload", "0", CVAR_ARCHIVE ); sv_wwwBaseURL = Cvar_Get( "sv_wwwBaseURL", "", CVAR_ARCHIVE ); sv_wwwDlDisconnected = Cvar_Get( "sv_wwwDlDisconnected", "0", CVAR_ARCHIVE ); sv_wwwFallbackURL = Cvar_Get( "sv_wwwFallbackURL", "", CVAR_ARCHIVE ); //bani sv_packetloss = Cvar_Get( "sv_packetloss", "0", CVAR_CHEAT ); sv_packetdelay = Cvar_Get( "sv_packetdelay", "0", CVAR_CHEAT ); // fretn - note: redirecting of clients to other servers relies on this, // ET://someserver.com sv_fullmsg = Cvar_Get( "sv_fullmsg", "Server is full.", CVAR_ARCHIVE ); sv_requireValidGuid = Cvar_Get( "sv_requireValidGuid", "0", CVAR_ARCHIVE ); #ifdef USE_HUB_SERVER sv_owHubHost = Cvar_Get( "sv_owHubHost", "", CVAR_LATCH ); sv_owHubKey = Cvar_Get( "sv_owHubKey", "defaultkey123456", CVAR_ARCHIVE ); #endif // initialize bot cvars so they arelisted and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); svs.serverLoad = -1; }
void SV_Init( void ) { SV_AddOperatorCommands(); // serverinfo vars Cvar_Get( "dmflags", "0", /*CVAR_SERVERINFO*/ 0 ); Cvar_Get( "fraglimit", "0", /*CVAR_SERVERINFO*/ 0 ); Cvar_Get( "timelimit", "0", CVAR_SERVERINFO ); // DHM - Nerve :: default to GT_WOLF sv_gametype = Cvar_Get( "g_gametype", "5", CVAR_SERVERINFO | CVAR_LATCH ); // Rafael gameskill sv_gameskill = Cvar_Get( "g_gameskill", "3", CVAR_SERVERINFO | CVAR_LATCH ); // done Cvar_Get( "sv_keywords", "", CVAR_SERVERINFO ); Cvar_Get( "protocol", va( "%i", PROTOCOL_VERSION ), CVAR_SERVERINFO | CVAR_ROM ); sv_mapname = Cvar_Get( "mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM ); sv_privateClients = Cvar_Get( "sv_privateClients", "0", CVAR_SERVERINFO ); sv_hostname = Cvar_Get( "sv_hostname", "WolfHost", CVAR_SERVERINFO | CVAR_ARCHIVE ); #ifdef __MACOS__ sv_maxclients = Cvar_Get( "sv_maxclients", "16", CVAR_SERVERINFO | CVAR_LATCH ); //DAJ HOG #else sv_maxclients = Cvar_Get( "sv_maxclients", "20", CVAR_SERVERINFO | CVAR_LATCH ); // NERVE - SMF - changed to 20 from 8 #endif sv_maxRate = Cvar_Get( "sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get( "sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get( "sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_floodProtect = Cvar_Get( "sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_allowAnonymous = Cvar_Get( "sv_allowAnonymous", "0", CVAR_SERVERINFO ); sv_friendlyFire = Cvar_Get( "g_friendlyFire", "1", CVAR_SERVERINFO | CVAR_ARCHIVE ); // NERVE - SMF sv_maxlives = Cvar_Get( "g_maxlives", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_SERVERINFO ); // NERVE - SMF sv_tourney = Cvar_Get( "g_noTeamSwitching", "0", CVAR_ARCHIVE ); // NERVE - SMF // systeminfo Cvar_Get( "sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM ); sv_serverid = Cvar_Get( "sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM ); sv_pure = Cvar_Get( "sv_pure", "1", CVAR_SYSTEMINFO ); Cvar_Get( "sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM ); Cvar_Get( "sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM ); // server vars sv_rconPassword = Cvar_Get( "rconPassword", "", CVAR_TEMP ); sv_privatePassword = Cvar_Get( "sv_privatePassword", "", CVAR_TEMP ); #ifndef UPDATE_SERVER sv_fps = Cvar_Get( "sv_fps", "20", CVAR_TEMP ); #else sv_fps = Cvar_Get( "sv_fps", "60", CVAR_TEMP ); // this allows faster downloads #endif sv_timeout = Cvar_Get( "sv_timeout", "240", CVAR_TEMP ); sv_zombietime = Cvar_Get( "sv_zombietime", "2", CVAR_TEMP ); Cvar_Get( "nextmap", "", CVAR_TEMP ); sv_allowDownload = Cvar_Get( "sv_allowDownload", "1", CVAR_ARCHIVE ); sv_master[0] = Cvar_Get( "sv_master1", "wolfmaster.idsoftware.com", 0 ); // NERVE - SMF - wolfMP master server sv_master[1] = Cvar_Get( "sv_master2", "", CVAR_ARCHIVE ); sv_master[2] = Cvar_Get( "sv_master3", "", CVAR_ARCHIVE ); sv_master[3] = Cvar_Get( "sv_master4", "", CVAR_ARCHIVE ); sv_master[4] = Cvar_Get( "sv_master5", "", CVAR_ARCHIVE ); sv_reconnectlimit = Cvar_Get( "sv_reconnectlimit", "3", 0 ); sv_showloss = Cvar_Get( "sv_showloss", "0", 0 ); sv_padPackets = Cvar_Get( "sv_padPackets", "0", 0 ); sv_killserver = Cvar_Get( "sv_killserver", "0", 0 ); sv_mapChecksum = Cvar_Get( "sv_mapChecksum", "", CVAR_ROM ); sv_lanForceRate = Cvar_Get( "sv_lanForceRate", "1", CVAR_ARCHIVE ); sv_onlyVisibleClients = Cvar_Get( "sv_onlyVisibleClients", "0", 0 ); // DHM - Nerve sv_showAverageBPS = Cvar_Get( "sv_showAverageBPS", "0", 0 ); // NERVE - SMF - net debugging // NERVE - SMF - create user set cvars Cvar_Get( "g_userTimeLimit", "0", 0 ); Cvar_Get( "g_userAlliedRespawnTime", "0", 0 ); Cvar_Get( "g_userAxisRespawnTime", "0", 0 ); Cvar_Get( "g_maxlives", "0", 0 ); Cvar_Get( "g_noTeamSwitching", "0", CVAR_ARCHIVE ); Cvar_Get( "g_altStopwatchMode", "0", CVAR_ARCHIVE ); Cvar_Get( "g_minGameClients", "8", CVAR_SERVERINFO ); Cvar_Get( "g_complaintlimit", "3", CVAR_ARCHIVE ); Cvar_Get( "gamestate", "-1", CVAR_WOLFINFO | CVAR_ROM ); Cvar_Get( "g_currentRound", "0", CVAR_WOLFINFO ); Cvar_Get( "g_nextTimeLimit", "0", CVAR_WOLFINFO ); // -NERVE - SMF // TTimo - some UI additions // NOTE: sucks to have this hardcoded really, I suppose this should be in UI Cvar_Get( "g_axismaxlives", "0", 0 ); Cvar_Get( "g_alliedmaxlives", "0", 0 ); Cvar_Get( "g_fastres", "0", CVAR_ARCHIVE ); Cvar_Get( "g_fastResMsec", "1000", CVAR_ARCHIVE ); // ATVI Tracker Wolfenstein Misc #273 Cvar_Get( "g_voteFlags", "255", CVAR_ARCHIVE | CVAR_SERVERINFO ); // ATVI Tracker Wolfenstein Misc #263 Cvar_Get( "g_antilag", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); // TTimo - autodownload speed tweaks #ifndef UPDATE_SERVER // the download netcode tops at 18/20 kb/s, no need to make you think you can go above sv_dl_maxRate = Cvar_Get( "sv_dl_maxRate", "42000", CVAR_ARCHIVE ); #else // the update server is on steroids, sv_fps 60 and no snapshotMsec limitation, it can go up to 30 kb/s sv_dl_maxRate = Cvar_Get( "sv_dl_maxRate", "60000", CVAR_ARCHIVE ); #endif // initialize bot cvars so they are listed and can be set before loading the botlib SV_BotInitCvars(); // init the botlib here because we need the pre-compiler in the UI SV_BotInitBotLib(); // DHM - Nerve #ifdef UPDATE_SERVER SV_Startup(); SV_ParseVersionMapping(); // serverid should be different each time sv.serverId = com_frameTime + 100; sv.restartedServerId = sv.serverId; // I suppose the init here is just to be safe sv.checksumFeedServerId = sv.serverId; Cvar_Set( "sv_serverid", va( "%i", sv.serverId ) ); Cvar_Set( "mapname", "Update" ); // allocate empty config strings { int i; for ( i = 0 ; i < MAX_CONFIGSTRINGS ; i++ ) { sv.configstrings[i] = CopyString( "" ); } } #endif }