Bypass Guard

amxx core Bypass Guard 1.1.14

Нет прав для скачивания
Установка
  1. Разместите файлы на сервере согласно иерархии архива
  2. Отредактируйте data/lang/bypass_guard.txt
  3. Отредактируйте настройки в исходнике
  4. Скомпилируйте плагин (инструкция).
  5. Скопируйте скомпилированный плагин в директорию /amxmodx/plugins
  6. Пропишите плагин в файле amxmodx/configs/plugins.ini
  7. После первого запуска в configs/plugins будет создан конфиг плагина plugin-bypass_guard.cfg. В нём вы можете настроить плагин, отредактировав значения кваров. Изначально конфиг уже настроен под нужды большинства пользователей, т.е. в принципе вы можете не изменять большинство кваров. Советую обратить внимание на квар bypass_guard_immunity_flags. Не указывайте его значением флаг доступа, который вы выдаёте как бесплатный VIP / ночной VIP, потому что таким образом вы создадите брешь в логике защиты плагина (игроков с бесплатным/ночным VIP будет массово пропускать на сервер без проверок). Так же можно обратить внимание на квар bypass_guard_country_check_mode. Плагин по умолчанию настроен под Россию и отсекает все страны кроме России и стран СНГ. Некоторые пользователи не хотят по умолчанию отсекать иностранцев. В таком случае этот квар можно выставить в значение 2, либо -1, однако учтите, что это так же вредит логике защиты, т.к. один из рубежей обороны - запрет на подключение из стран, игроки которых в своей массовой доле не составляют контингент вашего сервера. Квар bypass_guard_show_url можете установить в значение 0, если не хотите уведомлять игроков о том, где и как они могут получить доступ в случае, если их не пускает на сервер (данная информация редактируется в data/lang/bypass_guard.txt).
  8. Установка и настройка ядра системы закончена. Теперь необходимо выбрать и установить провайдеры данных (суб-плагины, так называемые модули системы). Для полноценного функционирования системы, ядру (данному плагину) требуется провайдер ASN-номеров, провайдер гео-данных (проверка страны) и провайдер проверки на Proxy/VPN. Т.е. есть три типа данных, и вам нужно обеспечить предоставление данных каждого типа, установив один или несколько соответствующих плагинов. Далее перечислены плагины-провайдеры данных (кликабельные ссылки), с указанием, какие типы данных они могут предоставлять. Рекомендуется выбрать один плагин, который предоставляет сразу все три типа данных. Так вам будет проще, а в будущем, при необходимости, вы сможете изменить конфигурацию.
  9. IPHub-Client (ASN/Geo/VPN) [Рекомендуется] [модуль iphubclient]
  10. iphub.info (ASN/Geo/VPN) [Curl/Grip модуль]
  11. ip-api.com (ASN/Geo/VPN) [Grip модуль] [Не нужна регистрация, но менее точный, чем iphub]
  12. GeoIP (Geo) [geoip модуль из пакета amxx]
  13. Установите выбранные провайдеры данных, выполните их настройку, затем вернитесь к данному руководству.
  14. Опционально (т.е. можно пропустить) вы можете установить дополнительный плагин Supervisor, предназначенный, в первую очередь, для автоматического выявления последовательных атак типа "обход бана".
Настройки
Квары:
bypass_guard_enabled 1/0 - определяет статус работы плагина
bypass_guard_kick_if_cant_check - позволяет кикнуть игрока при ошибке проверки (устанавливается как "abc"):
a - Ошибка получения AS-номера
b - Ошибка проверки на proxy/VPN
c - Ошибка проверки страны
bypass_guard_allow_steam 1/0 - позволяет пропускать лицензионных (steam) игроков без проверки
bypass_guard_country_check_mode -1/0/1/2
-1 - запрашивать геоданные (для логов и bg_status) но пропускать проверку страны
0 - не проверять страну (провайдер страны не будет задействован вообще)
1 - проверять по белому списку (allowed_countries.ini)
2 - проверять по чёрному списку (banned_countries.ini)
bypass_guard_check_proxy 0/1/2 - Проверка Proxy/VPN: 0 - выкл.; 1 - вкл.; 2 - вкл., если аддон Supervisor имеет хотя бы одну активную блокировку, а у проверяемого игрока нет whitepass (т.е. игрок опознан как 'новый')
bypass_guard_allow_by_stats - Игроки, сыгравшие # или более минут, могут присоединиться без проверок (0 - отключить функцию)
bypass_guard_stats_type -Тип статистики для квара 'bypass_guard_allow_by_stats':
0 - CSstatsX SQL (freeman)
1 - CsStats MySQL (fungun)
2 - CMSStats MySQL (zhorzh78)
3 - Simple Online Logger из релиза Trial Access
bypass_guard_immunity_flags - позволяет без проверки пропускать игроков с любым из указанных флагов (если не задан, то без проверки пропускаются те, у кого нет флага из квара amx_default_access, если он зарегистрирован)
bypass_guard_show_url 1/0 - при кике позволяет выводить в консоль строку 'BG__URL' из lang-файла (информация о том, где и как можно получить доступ на сервер)
bypass_guard_max_check_tries - кол-во попыток проверки для каждого игрока
bypass_guard_check_delay - задержка проверки после входа игрока на сервер (в секундах)
bypass_guard_kick_delay - задержка перед киком игрока (в секундах)
Исходный код:
Код:
// Create config with cvars in 'configs/plugins' and execute it?
//
// Создавать конфиг с кварами в 'configs/plugins', и запускать его ?
#define AUTO_CFG

// Default access flag for all console commands
//
// Флаг доступа по-умолчанию ко всем консольным командам
#define ACCESS_FLAG ADMIN_CFG

new DIR_NAME[] = "bypass_guard" // 'configs/%s', 'data/%s', 'logs/%s'
new const IP_FILE_NAME[] = "ip_list.ini"
new const AS_FILE_NAME[] = "as_list.ini"
new const ALLOWED_COUNTRY_FILE_NAME[] = "allowed_countries.ini"
new const BANNED_COUNTRY_FILE_NAME[] = "banned_countries.ini"
new const IMMUNE_STEAMS_VAULT[] = "bypass_guard_steams"

enum _:LOG_ENUM { // Don't touch this!
    LOG__CMD,
    //
    // <--- new log type goes here!
    //
    LOG__ERROR, // Must be the last before LOG__DENY
    // Must be the last in the enum --->
    LOG__DENY,
    LOG__ALLOW
    // <---
}

new const LOG_NAME[LOG_ENUM][] = {
    "CMD.log",
    "ERROR.log",
    "DENY.log",
    "ALLOW.log"
}
API
Сверху Снизу