_GLOBAL__sub_I_sv_hibernate_when_empty
0x000a1630 · 3370 bytes · unknown
Decompiled
undefined (0 params)
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void _GLOBAL__sub_I_sv_hibernate_when_empty(void)
{
vec2_origin._0_4_ = 0;
vec2_origin._4_4_ = 0;
vec2_invalid._0_4_ = 0x7f7fffff;
vec2_invalid._4_4_ = 0x7f7fffff;
vec4_origin._0_4_ = 0;
vec4_origin._4_4_ = 0;
vec4_origin._8_4_ = 0;
vec4_origin._12_4_ = 0;
vec4_invalid._0_4_ = 0x7f7fffff;
vec4_invalid._4_4_ = 0x7f7fffff;
vec4_invalid._8_4_ = 0x7f7fffff;
vec4_invalid._12_4_ = 0x7f7fffff;
UNSPECIFIED_LOGGING_COLOR._0_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._1_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._2_1_ = 0;
UNSPECIFIED_LOGGING_COLOR._3_1_ = 0;
ConVar::ConVar((ConVar *)sv_hibernate_when_empty,"sv_hibernate_when_empty","1",0,
"Puts the server into extremely low CPU usage mode when no clients connected",
OnHibernateWhenEmptyChanged);
__cxa_atexit(ConVar::~ConVar,sv_hibernate_when_empty,&__dso_handle);
ConVar::ConVar((ConVar *)sv_hibernate_ms,"sv_hibernate_ms","20",0,
"# of milliseconds to sleep per frame while hibernating");
__cxa_atexit(ConVar::~ConVar,sv_hibernate_ms,&__dso_handle);
ConVar::ConVar((ConVar *)sv_hibernate_ms_vgui,"sv_hibernate_ms_vgui","20",0,
"# of milliseconds to sleep per frame while hibernating but running the vgui dedicated server frontend"
);
__cxa_atexit(ConVar::~ConVar,sv_hibernate_ms_vgui,&__dso_handle);
ConVar::ConVar((ConVar *)sv_hibernate_postgame_delay,"sv_hibernate_postgame_delay","5",0,
"# of seconds to wait after final client leaves before hibernating.");
__cxa_atexit(ConVar::~ConVar,sv_hibernate_postgame_delay,&__dso_handle);
ConVar::ConVar((ConVar *)sv_sync_client_updates,"sv_sync_client_updates","0",0,
"(Only used when hosting xbox games). Send clients updates at the same time. This saves CPU because the server will encode and calc deltas on less frames."
);
__cxa_atexit(ConVar::~ConVar,sv_sync_client_updates,&__dso_handle);
ConVar::ConVar((ConVar *)host_flush_threshold,"host_flush_threshold","14",0x80000,
"Memory threshold below which the host should flush caches between server instances"
);
__cxa_atexit(ConVar::~ConVar,host_flush_threshold,&__dso_handle);
ConVar::ConVar((ConVar *)sv_pausable_dev,"sv_pausable_dev","1",2,
"Whether listen server is pausable when running -dev and playing solo against bots"
);
__cxa_atexit(ConVar::~ConVar,sv_pausable_dev,&__dso_handle);
ConVar::ConVar((ConVar *)sv_pausable_dev_ds,"sv_pausable_dev_ds","0",2,
"Whether dedicated server is pausable when running -dev and playing solo against bots"
);
__cxa_atexit(ConVar::~ConVar,sv_pausable_dev_ds,&__dso_handle);
CGameServer::CGameServer((CGameServer *)&sv);
__cxa_atexit(CGameServer::~CGameServer,&sv,&__dso_handle);
g_ServerGlobalVariables[0x30] = 0;
g_ServerGlobalVariables._52_4_ = 100;
g_ServerGlobalVariables._56_4_ = 0x20;
g_ServerGlobalVariables._84_4_ = 0;
ConCommand::ConCommand
((ConCommand *)sv_pure,"sv_pure",SV_Pure_f,"Show user data.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,sv_pure,&__dso_handle);
ConVar::ConVar((ConVar *)sv_pure_kick_clients,"sv_pure_kick_clients","1",0x80000,
"If set to 1, the server will kick clients with mismatching files. Otherwise, it will issue a warning to the client."
);
__cxa_atexit(ConVar::~ConVar,sv_pure_kick_clients,&__dso_handle);
ConVar::ConVar((ConVar *)sv_pure_trace,"sv_pure_trace","0",0x80000,
"If set to 1, the server will print a message whenever a client is verifying a CRC for a file."
);
__cxa_atexit(ConVar::~ConVar,sv_pure_trace,&__dso_handle);
ConVar::ConVar((ConVar *)sv_cheats,"sv_cheats","0",0x82100,"Allow cheats on server",
SV_CheatsChanged_f);
__cxa_atexit(ConVar::~ConVar,sv_cheats,&__dso_handle);
ConVar::ConVar((ConVar *)sv_lan,"sv_lan","0",0x80000,
"Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )"
);
__cxa_atexit(ConVar::~ConVar,sv_lan,&__dso_handle);
ConVar::ConVar((ConVar *)sv_pausable,"sv_pausable","0",0x80000,"Is the server pausable.");
__cxa_atexit(ConVar::~ConVar,sv_pausable,&__dso_handle);
ConVar::ConVar((ConVar *)sv_contact,"sv_contact","",0x80100,"Contact email for server sysop");
__cxa_atexit(ConVar::~ConVar,sv_contact,&__dso_handle);
ConVar::ConVar((ConVar *)sv_cacheencodedents,"sv_cacheencodedents","1",0,
"If set to 1, does an optimization to prevent extra SendTable_Encode calls.");
__cxa_atexit(ConVar::~ConVar,sv_cacheencodedents,&__dso_handle);
ConVar::ConVar((ConVar *)sv_voicecodec,"sv_voicecodec","vaudio_speex",0,
"Specifies which voice codec DLL to use in a game. Set to the name of the DLL without the extension."
);
__cxa_atexit(ConVar::~ConVar,sv_voicecodec,&__dso_handle);
ConVar::ConVar((ConVar *)sv_voiceenable,"sv_voiceenable","1",0x80180);
__cxa_atexit(ConVar::~ConVar,sv_voiceenable,&__dso_handle);
ConVar::ConVar((ConVar *)sv_downloadurl,"sv_downloadurl","",0x82000,
"Location from which clients can download missing files");
__cxa_atexit(ConVar::~ConVar,sv_downloadurl,&__dso_handle);
ConVar::ConVar((ConVar *)sv_consistency,"sv_consistency","1",0x82000,
"Whether the server enforces file consistency for critical files");
__cxa_atexit(ConVar::~ConVar,sv_consistency,&__dso_handle);
ConVar::ConVar((ConVar *)sv_maxreplay,"sv_maxreplay","0",0,"Maximum replay time in seconds",true,
0.0,true,15.0);
__cxa_atexit(ConVar::~ConVar,sv_maxreplay,&__dso_handle);
ConVar::ConVar((ConVar *)sv_mincmdrate,"sv_mincmdrate","0",0x82000,
"This sets the minimum value for cl_cmdrate. 0 == unlimited.");
__cxa_atexit(ConVar::~ConVar,sv_mincmdrate,&__dso_handle);
ConVar::ConVar((ConVar *)sv_maxcmdrate,"sv_maxcmdrate","40",0x82000,
"(If sv_mincmdrate is > 0), this sets the maximum value for cl_cmdrate.");
__cxa_atexit(ConVar::~ConVar,sv_maxcmdrate,&__dso_handle);
ConVar::ConVar((ConVar *)sv_client_cmdrate_difference,"sv_client_cmdrate_difference","20",0x2000,
"cl_cmdrate is moved to within sv_client_cmdrate_difference units of cl_updaterate before it is clamped between sv_mincmdrate and sv_maxcmdrate."
);
__cxa_atexit(ConVar::~ConVar,sv_client_cmdrate_difference,&__dso_handle);
ConVar::ConVar((ConVar *)sv_client_min_interp_ratio,"sv_client_min_interp_ratio","1",0x2000,
"This can be used to limit the value of cl_interp_ratio for connected clients (only while they are connected).\n -1 = let clients set cl_interp_ratio to anything\n any other value = set minimum value for cl_interp_ratio"
);
__cxa_atexit(ConVar::~ConVar,sv_client_min_interp_ratio,&__dso_handle);
ConVar::ConVar((ConVar *)sv_client_max_interp_ratio,"sv_client_max_interp_ratio","5",0x2000,
"This can be used to limit the value of cl_interp_ratio for connected clients (only while they are connected). If sv_client_min_interp_ratio is -1, then this cvar has no effect."
);
__cxa_atexit(ConVar::~ConVar,sv_client_max_interp_ratio,&__dso_handle);
ConVar::ConVar((ConVar *)sv_client_predict,"sv_client_predict","-1",0x2000,
"This can be used to force the value of cl_predict for connected clients (only while they are connected).\n -1 = let clients set cl_predict to anything\n 0 = force cl_predict to 0\n 1 = force cl_predict to 1"
);
__cxa_atexit(ConVar::~ConVar,sv_client_predict,&__dso_handle);
ConVar::ConVar((ConVar *)tv_enable,"tv_enable","0",0x100,"Activates SourceTV on server.",
OnTVEnablehanged);
__cxa_atexit(ConVar::~ConVar,tv_enable,&__dso_handle);
ConVar::ConVar((ConVar *)sv_always_full_flush,"sv_always_full_flush","0",0x4000);
__cxa_atexit(ConVar::~ConVar,sv_always_full_flush,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)user_command,"user",user,"Show user data.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,user_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)users_command,"users",users,"Show user info for players on server.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,users_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)maxplayers_command,"maxplayers",maxplayers,
"Change the maximum number of players allowed on this server.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,maxplayers_command,&__dso_handle);
g_ModDirPermissions._0_4_ = GetAppSteamAppId(2);
g_ModDirPermissions._4_4_ = GetAppModName(2);
g_ModDirPermissions._8_4_ = GetAppSteamAppId(3);
g_ModDirPermissions._12_4_ = GetAppModName(3);
g_ModDirPermissions._16_4_ = GetAppSteamAppId(4);
g_ModDirPermissions._20_4_ = GetAppModName(4);
g_ModDirPermissions._24_4_ = GetAppSteamAppId(5);
g_ModDirPermissions._28_4_ = GetAppModName(5);
g_ModDirPermissions._32_4_ = GetAppSteamAppId(6);
g_ModDirPermissions._36_4_ = GetAppModName(6);
g_ModDirPermissions._40_4_ = GetAppSteamAppId(8);
g_ModDirPermissions._44_4_ = GetAppModName(8);
g_ModDirPermissions._48_4_ = GetAppSteamAppId(1);
g_ModDirPermissions._52_4_ = GetAppModName(1);
g_ModDirPermissions._56_4_ = GetAppSteamAppId(7);
g_ModDirPermissions._60_4_ = GetAppModName(7);
g_ModDirPermissions._64_4_ = GetAppSteamAppId(9);
g_ModDirPermissions._68_4_ = GetAppModName(9);
g_ModDirPermissions._72_4_ = GetAppSteamAppId(10);
g_ModDirPermissions._76_4_ = GetAppModName(10);
g_ModDirPermissions._80_4_ = GetAppSteamAppId(0xb);
g_ModDirPermissions._84_4_ = GetAppModName(0xb);
g_ModDirPermissions._88_4_ = GetAppSteamAppId(0xc);
g_ModDirPermissions._92_4_ = GetAppModName(0xc);
g_AreasNetworked = 0;
_DAT_003b788c = 0;
_DAT_003b7890 = 0;
DAT_003b7894 = 0;
_DAT_003b7898 = 0;
__cxa_atexit(CUtlVector<int,CUtlMemory<int,int>>::~CUtlVector,&g_AreasNetworked,&__dso_handle);
ConVar::ConVar((ConVar *)sv_memlimit,"sv_memlimit","0",0x4000,
"If set, whenever a game ends, if the total memory used by the server is greater than this # of megabytes, the server will exit."
);
__cxa_atexit(ConVar::~ConVar,sv_memlimit,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)sv_shutdown,"sv_shutdown",sv_ShutDown,
"Sets the server to shutdown when all games have completed",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,sv_shutdown,&__dso_handle);
ConVar::ConVar((ConVar *)sv_parallel_sendsnapshot,"sv_parallel_sendsnapshot","1",0);
__cxa_atexit(ConVar::~ConVar,sv_parallel_sendsnapshot,&__dso_handle);
ConVar::ConVar((ConVar *)voice_debugfeedbackfrom,"voice_debugfeedbackfrom","0",0);
__cxa_atexit(ConVar::~ConVar,voice_debugfeedbackfrom,&__dso_handle);
return;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
⚠ This function has no mangled symbol — it may be internal/static. The
Linux gamedata field uses @-prefix symbol resolution which
requires an exported mangled name. You'll need a Linux byte signature
for this one (extract via extract_signature.java).
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.