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 }