Баны через amxmodmenu раздаются по IP-адресу - Форум

ФОРУМ ПЕРЕЕХАЛ! ЭТОТ ФОРУМ НЕ ОБСЛУЖИВАЕТСЯ! 
АДРЕС НОВОГО ФОРУМА: http://forum.cs.nline.net.ua/


Страница 1 из 11
Форум » Half Life Dedicated Servers » Support HLDS » Баны через amxmodmenu раздаются по IP-адресу (Мануал)
Баны через amxmodmenu раздаются по IP-адресу
BuTaMuHДата: Среда, 21.04.2010, 15:05 | Сообщение # 1
Генерал-полковник
Группа: Администраторы
Сообщений: 1905
Награды: 22
Репутация: 32767
Страна: Украина Украина
Статус: Offline
Как известно есть проблемы на но-стим серверах связанные с баном игроков не по ip а по стим id...
Так как стим id у но-стим клиентов одинаковые, то банятся все biggrin

Есть хорошее решение поставленной проблемы. Для этого придется немного покапаться в исходниках. smile

Что нужно делать:
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-адресу.



ФОРУМ ПЕРЕЕХАЛ!
ЭТОТ ФОРУМ НЕ ОБСЛУЖИВАЕТСЯ!
АДРЕС НОВОГО ФОРУМА: http://forum.cs.nline.net.ua/
 
RitjinДата: Среда, 21.04.2010, 22:53 | Сообщение # 2
Лейтенант
Группа: AMX Админы
Сообщений: 208
Награды: 0
Репутация: 17
Страна: Украина Украина
Статус: Offline
Имхо - зачем геморится с АмхМеню если есть Banip? или даже просто amx_ban. Я обычно ники из списка копировал. Вот правда если ник тяжелый то приходилось всетаки лезть за менюхой. Или искать где этот чудик логинился за Айпишкой biggrin


My motivation, an oath I've sworn to defend,
To win the honor of coming back home again!
 
BuTaMuHДата: Четверг, 22.04.2010, 00:34 | Сообщение # 3
Генерал-полковник
Группа: Администраторы
Сообщений: 1905
Награды: 22
Репутация: 32767
Страна: Украина Украина
Статус: Offline
Конечно админ который работает с консолью - это хорошый админ, но есть и другие cool


ФОРУМ ПЕРЕЕХАЛ!
ЭТОТ ФОРУМ НЕ ОБСЛУЖИВАЕТСЯ!
АДРЕС НОВОГО ФОРУМА: http://forum.cs.nline.net.ua/
 
Форум » Half Life Dedicated Servers » Support HLDS » Баны через amxmodmenu раздаются по IP-адресу (Мануал)
Страница 1 из 11
Поиск: