Доброго времени суток!
Представляю вашему вниманию отличное решение, которое спасет вас от читеров постоянно обходящих бан путём смены SteamID и/или IP, когда даже бан подсети не спасает вас от этой проблемы.
Плагин является самодостаточным дополнением (не заменой!) к основным средствам ограничения доступа, таким как Fresh Bans, Lite Bans, Dopban by mazdan, и т.п.
Автор: BlackSignatureТребования:• Amx Mod X 1.8.3, либо новее
• Reapi
• Свежая geo-база (country):
Спойлер
http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz • AGHL.RU Dev Team Whois Module:
Спойлер
http://aghl.ru/forum/viewtopic.php?f=19&p=24798 • Amxx Curl:
Спойлер
https://github.com/Polarhigh/AmxxCurl/releases Функционал:Спойлер
• Белый список по SteamID
• Пропуск без проверок steam игроков и игроков с правами доступа
• Работа с номерами (AS/ASN). Вы можете блокировать/разрешать доступ конкретным провайдерам интернета.
• Чёрный и белый списки IP с добавлением в понятном формате <start_ip - end_ip>
• Проверка страны как доп. рубеж защиты от обхода через Proxy/VPN
• Проверка IP на принадлежность к Proxy/VPN-сервису
Команды:Спойлер
bg_allow_steamid <steamid> - Выдаёт указанному steamid иммунитет ко всем проверкам
Забанив AS/IP игрока, который в данный момент находится на сервере, вы должны кикнуть его.
Работа с чёрным списком AS-номеров:
bg_as_blacklist_add <as number> "<comment>"
bg_as_blacklist_del <as number>
bg_as_blacklist_show <page>
Работа с белым списком AS-номеров:
bg_as_whitelist_add <as number> "<comment>"
bg_as_whitelist_del <as number>
bg_as_whitelist_show <page>
Работа с чёрным списком IP-адресов:
bg_ip_blacklist_add <start ip> <end ip> "<comment>"
bg_ip_blacklist_del <start ip> <end ip>
bg_ip_blacklist_show <page>
Работа с белым списком IP-адресов:
bg_ip_whitelist_add <start ip> <end ip> "<comment>"
bg_ip_whitelist_del <start ip> <end ip>
bg_ip_whitelist_show <page>
bg_find_ip <ip> - Позволяет проверить наличие указанного IP в диапазонах чёрного и белого списков
bg_get_as_by_ip <ip> - Позволяет получить AS-номер для указанного IP
bg_find_as <as number> - Позволяет проверить наличие указанного AS-номера в чёрном и белом списках
bg_check_ip <ip> - Позволяет проверить IP на причастность к Proxy/VPN (запрос на сервис, игнорируя кеш)
bg_flush_data <1-5>:
1 - Обнулить хранилище, содержащее результаты проверок IP-адресов на Proxy/VPN (nvault, долгий кеш)
2 - Обнулить хранилище, содержащее steamid'ы, имеющие иммунитет ко всем проверкам (nvault, долгий кеш)
3 - Обнулить кеш проверок AS-номеров (trie, короткий кеш)
4 - Обнулить чёрный и белый список IP, удалить файл-список диапазонов IP
5 - Обнулить чёрный и белый список AS-номеров, кеш проверок AS-номеров, удалить файл-список AS-номеров
bg_status - Выводит информацию о присутствующих игроках
Установка:Спойлер
1. Скопируйте все файлы из архива в нужные директории на своем сервере.
2. Обновите версию geo-базы, т.к. вероятно, версия в архиве устарела
3. Зарегистрируйтесь на iphub.info, и получите бесплатный API-ключ (1000 проверок/сутки). https://iphub.info/apiKey/newFree
4. Укажите API-ключ в /configs/bypass_guard/api_keys.ini, заменив им '##########'
5. Скопируйте скомпилированный плагин в директорию /amxmodx/plugins/
6. Пропишите плагин в файле /amxmodx/configs/plugins.ini
7. Если плагин будет работать через sqlite (локальная база данных, по-умолчанию), раскомментируйте в /configs/modules.ini модуль sqlite. Иначе раскомментируйте модуль mysql (удалённая база данных).
8. После первого запуска в /configs/plugins будет создан конфиг. Там вы сможете настроить плагин под себя.
Квары:Спойлер
bg_sql_mode sqlite/mysql - определяет режим работы с базой данных (далее, БД)
bg_sql_host - адрес сервера для подключения к БД
bg_sql_user - пользователь (логин) для подключения к БД
bg_sql_pwd - пароль для подключения к БД
bg_sql_db - имя базы данных
bg_sql_table - имя таблицы в базе данных
bg_sql_conn_timeout- таймаут соединения с БД
bg_sql_create_table 1/0 - позволяет автоматически создавать таблицу в БД
bg_sql_prune_old_ips - записи старше указанного значения дней удаляются из таблицы (защита от переполнения)
bg_sql_request_timeout - Таймаут запроса к БД
bg_sql_long_query_time - Записи, время ответа на запрос для которых превышает заданное значение, считаются "долгими", и заносятся в 'LONG_QUERY.log'
bypass_guard_enabled 1/0 - определяет статус работы плагина
bypass_guard_ban_suspicious 1/0 - ужесточает политику проверки на proxy/vpn (может срабатывать на нормальных игроков)
bypass_guard_kick_if_cant_check1/0 - позволяет кикнуть игрока при ошибке проверки
bypass_guard_allow_steam 1/0 - позволяет пропускать легитных (steam) игроков без проверки
bypass_guard_show_url 1/0 - при кике позволяет выводить в консоль строку 'BG__URL' из lang-файла
bypass_guard_max_whois_tries - кол-во попыток получения AS-номера для каждого игрока
bypass_guard_check_delay - задержка проверки после входа игрока на сервер (в секундах)
bypass_guard_kick_delay - задержка перед киком игрока (в секундах)
bg_divide_logs_by_month 1/0 - позволяет разделять логи 'ALLOW' и 'DENY' по месяцам
Источник:
Спойлер
https://dev-cs.ru/resources/649/