#include <amxmodx>
#include <reapi>
#include <fakemeta>
const MAX_USER_INFO_LENGTH = 256;
public plugin_init() {
register_plugin("userinfo exploit fix", "0.1", "ekke bea?");
RegisterHookChain(RH_SV_CheckUserInfo, "@on_check_userinfo", false);
}
@on_check_userinfo(const address, buffer) {
new dest[MAX_USER_INFO_LENGTH];
copy_infokey_buffer(buffer, dest, sizeof(dest));
for (new i; i < strlen(dest); i++) {
if (dest[i] == 255) {
new addr[32];
rh_get_net_from(addr, charsmax(addr));
ban_ip(addr);
SetHookChainReturn(ATYPE_INTEGER, false);
return HC_BREAK;
}
}
return HC_CONTINUE;
}
public ban_ip(const addr[]) {
server_cmd("addip 5 %s", addr);
log_to_file("userinfo_test.log", "Banned IP: %s - Time: %s", addr, get_time_string());
}