_GLOBAL__sub_I_g_IPFilters
0x000a09c0 · 1227 bytes · unknown
Decompiled
undefined (0 params)
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void _GLOBAL__sub_I_g_IPFilters(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_filterban,"sv_filterban","1",0,"Set packet filtering by IP mode");
__cxa_atexit(ConVar::~ConVar,sv_filterban,&__dso_handle);
ConVar::ConVar((ConVar *)sv_banid_enabled,"sv_banid_enabled","1",0x80000,
"Whether server supports banid command");
__cxa_atexit(ConVar::~ConVar,sv_banid_enabled,&__dso_handle);
ConVar::ConVar((ConVar *)sv_banid_dev_enabled,"sv_banid_dev_enabled","0",0);
__cxa_atexit(ConVar::~ConVar,sv_banid_dev_enabled,&__dso_handle);
g_IPFilters = 0;
DAT_003b2458 = 0;
DAT_003b245c = 0;
DAT_003b2460 = 0;
_DAT_003b2464 = 0;
__cxa_atexit(CUtlVector<ipfilter_t,CUtlMemory<ipfilter_t,int>>::~CUtlVector,&g_IPFilters,
&__dso_handle);
g_UserFilters = 0;
_DAT_003b2444 = 0;
_DAT_003b2448 = 0;
DAT_003b244c = 0;
_DAT_003b2450 = 0;
__cxa_atexit(CUtlVector<userfilter_t,CUtlMemory<userfilter_t,int>>::~CUtlVector,&g_UserFilters,
&__dso_handle);
ConCommand::ConCommand
((ConCommand *)addip,"addip",Filter_Add_f,"Add an IP address to the ban list.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,addip,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)banip,"banip",Filter_Add_f,"Add an IP address to the ban list.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,banip,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)removeip_command,"removeip",removeip,
"Remove an IP address from the ban list.",0,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,removeip_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)listip_command,"listip",listip,"List IP addresses on the ban list.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,listip_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)writeip_command,"writeip",writeip,"Save the ban list to banned_ip.cfg.",0
,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,writeip_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)writeid_command,"writeid",writeid,
"Writes a list of permanently-banned user IDs to banned_user.cfg.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,writeid_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)removeid_command,"removeid",removeid,
"Remove a user ID from the ban list.",0,(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,removeid_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)listid_command,"listid",listid,"Lists banned users.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,listid_command,&__dso_handle);
ConCommand::ConCommand
((ConCommand *)banid_command,"banid",banid,"Add a user ID to the ban list.",0,
(int_____char_const__char *)0x0);
__cxa_atexit(ConCommand::~ConCommand,banid_command,&__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.