Автор: Lev
Адаптация серверной части: mazdan
Адаптация веб-части: Jungle, он же Kirby Magicman
Возможности:
1. Бан как через веб-часть так и непосредственно на сервере
2. Интеграция с dproto - допуск на сервер разрешенных клиентов по выбору (Steam, SteamEmu, RevEmu, OldEmu, HLTV, SC2009, AVSMP)
3. "Вайт-лист", а именно допуск на сервер по nick+pass/steam/ip указанных через amxbans
4. Как sql так и no-sql версии (no-sql версия не тестировалась)
5. Возможность указать причину бана и вывести её в консоле игрока
6. Запись времени последнего входа с данной подсети и вывод в админ-панель amxbans
7. Автоматическое создание базы данных и нужных таблиц (данные коннекта те же что и в amxbans, менять ничего не надо, особенно название и префиксы таблиц amx_subnetbans и amx_players)
8. Логирование в файл (дополнительный дебаги можно включить, раскомментировавши соответсвующие строки)
9. Информирование о коннекте нового игрока и его страны (указываются отдельным кваром)
10. Допуск по флагам (указываются отдельным кваром)
11. Показ ссылки на скачивание клиента (ссылка так же указана в кваре)
Требования:
- Модуль GeoIpMax: geoipmax_amxx.dll (Windows) / geoipmax_amxx_i386.so (Linux) (если вы не хотите использовать GeoIP вы можете отключить через исходник);
- Если вы хотите использовать whois откройте TCP порт 43 с работающим DNS клиентом;
Комманды (по-дефолту флаг доступа к ним 'n')
sb_help - выводит инфу о доступных коммандах;
sb_ban - бан игрока
sb_ban: [allowed clients flags] [reason]
[allowed clients flags] [reason]
[allowed clients flags] [reason]
sb_unban - розбан подсети
sb_unban: [limit (default 1)]
[exact match (default 1)]
[exact match (default 1)]
sb_list - выводит список забаненных подсетей по указанным параметрам
sb_list: [limit (default 0)]
[exact match (default 0)]
[exact match (default 0)]
sb_search - поиск подсети по указанной причине бана (дибильная штука, чесно говоря, поиск по причине бана... как-то бредово звучит)
sb_search
sb_whois - делает запрос в базу на получение информации об игроке
sb_whois
sb_stat - выводит инфу об игроках которые на сервере, а именно их user id, ник, IP, использованый протокол клиента, провайдер, страна, город, название подсети, дополнительная инфа с базы (последним двум нужно sb_use_whois_on_connect "1", из-за чего будет лагать при подключении игрока)
Настройки:
sb_def_allowed_clients "bdgh" // Разрешенные клиенты, которые будут использованы в команде бана, если их не указать ("bdgh" = Native Steam, RevEmu, SC2009 и AVSMP)
sb_allowed_flags "ab" // Флаги, имея которые игрок не проверяется
sb_downloadurl "http://aghl.ru/files/patches/updater.exe" // Ссылка на скачивание нового клиента
sb_download_clienttype "d" // Тип клиента, который указан в ссылке
sb_announce_connected "1" // Вкл./Выкл. hud-сообщения о коннекте нового игрока
sb_use_whois_on_connect "0" // Вкл./Выкл. использования whois при коннекте игрока
sb_use_whois_for_ban "1" // Вкл./Выкл. использования whois для определения подсети при бане
Установка:
Серверная часть:
1. Раскинуть все по папкам
2. Для неверующих проверить исходник на наличие бекдоров и шлюх и скомпилить его
3. Прописать в plugins.ini amxbans_subnets.amxx или amxbans_subnets_sql.amxx, в зависимости какой вы скомпилировали (нельзя использовать сразу два плагина)
4. Рестартнуть сервер и подождать пока плагин сделает нужные запросы в бд
Веб-часть:
1. В зависимости какой у вас amxbans выбрать файли из соответствующих папок и залить на веб-сервер с заменой (Файлы взяты с оригинальных дистрибутивов. Если у вас есть какие-то свои переделки кода (не диза, а именно кода) - делайте все сами и вручную)
2. Если запросы не исполнились, вручную отправьте запросы через phpmyadmin, или navicat, или что вы там используете. Запросы указаны ниже под спойлерами.
Константы Dproto
Код
#define DP_AUTH_NONE 0 // flag // "N/A" - slot is free
#define DP_AUTH_DPROTO 1 // a // dproto
#define DP_AUTH_STEAM 2 // b // Native Steam
#define DP_AUTH_STEAMEMU 3 // c // SteamEmu
#define DP_AUTH_REVEMU 4 // d // RevEmu
#define DP_AUTH_OLDREVEMU 5 // e // Old RevEmu
#define DP_AUTH_HLTV 6 // f // HLTV
#define DP_AUTH_SC2009 7 // g // SteamClient2009
#define DP_AUTH_AVSMP 8 // h // AVSMP
#define DP_AUTH_DPROTO 1 // a // dproto
#define DP_AUTH_STEAM 2 // b // Native Steam
#define DP_AUTH_STEAMEMU 3 // c // SteamEmu
#define DP_AUTH_REVEMU 4 // d // RevEmu
#define DP_AUTH_OLDREVEMU 5 // e // Old RevEmu
#define DP_AUTH_HLTV 6 // f // HLTV
#define DP_AUTH_SC2009 7 // g // SteamClient2009
#define DP_AUTH_AVSMP 8 // h // AVSMP