Как известно есть проблемы на но-стим серверах связанные с баном игроков не по ip а по стим id...
Так как стим id у но-стим клиентов одинаковые, то банятся все
Есть хорошее решение поставленной проблемы. Для этого придется немного покапаться в исходниках.
Что нужно делать:
1. Найти файл \cstrike\amxmodx\scripting\amxbans\menu.inl и открыть его любым текстовым редактором (например блокнотом);
2. Найти в этом файле функцию banUser(id,banReason[]){};
Она выглядит следующим образом:
Code
banUser(id,banReason[])
{
new player = g_bannedPlayer
new name[32], name2[32], authid[32],authid2[32]
get_user_name(player,name2,31)
get_user_authid(player,authid2,31)
get_user_authid(id,authid,31)
get_user_name(id,name,31)
/* lan */
if ( equal("4294967295", authid2)
|| equal("HLTV", authid2)
|| equal("STEAM_ID_LAN",authid2)
|| equal("VALVE_ID_LAN",authid2)
|| equal("STEAM_ID_PENDING",authid2)
|| equal("VALVE_ID_PENDING",authid2))
{
new ipa[32]
get_user_ip(player,ipa,31,1)
console_cmd(id,"amx_banip %d %s %s" ,g_menuSettings[id],ipa,banReason)
}
else
console_cmd(id,"amx_ban %d %s %s" ,g_menuSettings[id],authid2,banReason)
}
3. Удалить строки
Code
/* lan */
if ( equal("4294967295", authid2)
|| equal("HLTV", authid2)
|| equal("STEAM_ID_LAN",authid2)
|| equal("VALVE_ID_LAN",authid2)
|| equal("STEAM_ID_PENDING",authid2)
|| equal("VALVE_ID_PENDING",authid2))
{
и
Code
}
else
console_cmd(id,"amx_ban %d %s %s" ,g_menuSettings[id],authid2,banReason)
Должно получиться:
Code
banUser(id,banReason[])
{
new player = g_bannedPlayer
new name[32], name2[32], authid[32],authid2[32]
get_user_name(player,name2,31)
get_user_authid(player,authid2,31)
get_user_authid(id,authid,31)
get_user_name(id,name,31)
new ipa[32]
get_user_ip(player,ipa,31,1)
console_cmd(id,"amx_banip %d %s %s" ,g_menuSettings[id],ipa,banReason)
}
4. Перекомпилировать amxbans.sma с помощью файла compile.exe.
5. Скопировать файл cstrike\amxmodx\scripting\compiled\amxbans.amxx в папку cstrike\amxmodx\plugins\
После этого баны через amxmodmenu раздаются по IP-адресу.