- Автор
-
Lev
- Совместимость с
- Amx Mod X 1.8.2, Amx Mod X 1.9.0
- Мультиязычность
- RU, EN
- Требования
-
- модуль Whois: whois_amxx.dll (Windows) / whois_amxx_i386.so (Linux) должен быть установлен
- модуль GeoIpMax: geoipmax_amxx.dll (Windows) / geoipmax_amxx_i386.so (Linux) должен быть установлен (или запретите использование модуля с помощью опции компиляции)
- для корректной работы запросов к базам Whois, для игрового сервера должны быть разрешены исходящие подключения TCP на порт 43 и работающий DNS клиент
- если вы желаете использовать GeoIp, то вам надо скачать базу GeoLiteCity и скопировать её в папку "addons\amxmodx\data\"
- возраст пользователя 18+ или наличие технического образования
- автоматическое определение подсети/автономной системы для заданного ИП с помощью баз GeoIP и Whois
- хранение банов подсетей/автономных систем в ini файле или в mysql базе (для подсетей и автономных систем используются раздельные файлы)
- сохраняет резервную копию ini файла при разбане подсети/автономной системы
- хранит следующую информацию о бане подсети/автономной системы:
- начальный адрес подсети
- конечный адрес подсети
- номер автономной системы
- разрешенные клиенты (флаги)
- дата бана
- последняя дата блокировки подключения из этой подсети/автономной системы
- причина бана
- АМХХ логгирование использования команд
- по умолчанию используется флаг доступа 'n' к командам плагина (можете поменять в файле cmdaccess.ini)
- показывает всем игрокам уведомление о вновь подключившемся игроке (выводится страна)
- интеграция с dproto, при подключении игрока, если его ИП попадает в забаненную подсеть, то:
- проверяется тип клиента используемого игроком и, если этот тип разрешен для данной подсети, то пускает клиента,
- иначе игроку сообщается о типе разрешенных клиентов и линк на скачку клиента.
- можете использовать этот плагин и без dproto, если желаете
- автоматическое создание базы данных и(или) таблиц (требуются достаточные права mysql юзера).
- Для редактирования банов, возможно использование программы под Windows. Автор Infernal. Требует .NET для работы.
Для конвертации базы в файл можно использовать следующий скрипт и реджексы (флаги клиентов заменяются на указанные в скрипте)
Для конвертации из файла в базу (учтено до 5 флагов клиентов)
Форматы использования команд:
sb_ban:
Значения параметров:
Разрешенные клиенты (флаги): (основаны на авторизации dproto)
a - dproto (клиент без эмулятора или с неизвестным типом эмулятора)
b - Native Steam (лицензионный клиент)
c - SteamEmu
d - RevEmu
e - Old RevEmu
f - HLTV
g - SteamClient2009
h - AVSMP
i - sXe Injected
j - RevEmu 2013
k - SmartSteamEmu3
Замечания:
при указании в качестве параметра команды sb_ban стимИД, ника или идентификатора игрока, производится поиск среди игроков на сервере, и:
Сокращенные формы записи:
Пример бана:
Плюс ко всему, ripe отвечает только за Европу. Для других континентов есть другие регистраторы, и соответственно whois сервера.
Q: Как забанить диапазон айпишников?
A: sb_ban 12.12.10.0 12.12.45.255 "bjk" "Cheater"
Q: Как разбанить айпишник?
A: sb_unban 12.12.10.10
Q: Как вывести все баны подсетей?
A: sb_list 0/0
sb_ban:
- <стимИД | ник | ИД игрока | ИП | номер автономной системы> [разрешенные клиенты (флаги)] [причина]
- <start ИП> <конечный ИП> [разрешенные клиенты (флаги)] [причина]
- <подсеть в CIDR формате> [разрешенные клиенты (флаги)] [причина]
- <ИП> [ограничение (по умолчанию 1)]
- <начальный ИП> <конечный ИП> [точное совпадение (по умолчанию 1)]
- <подсеть в CIDR формате> [точное совпадение (по умолчанию 1)]
- <номер автономной системы>
- <ИП> [ограничение (по умолчанию 0)]
- <начальный ИП> <конечный ИП> [точное совпадение (по умолчанию 0)]
- <подсеть в CIDR формате> [точное совпадение (по умолчанию 0)]
- <номер автономной системы>
- <подстрока причины>
- <стимИД | ник | ИД игрока | ИП>
- [номер страницы (по умолчанию 1)]
Значения параметров:
<> - обязательный параметр
[] - необязательный параметр
стимИД - "STEAM_0:x:xxxxxxxx", будет осуществлен поиск игрока с указанным стимИД
ник - "pl", будет осуществлен поиск игрока с ником содержащим указанную строку
user ID - #245, будет осуществлен поиск игрока c указанным идентификатором
ИП - "1.2.3.4", одиночный адрес будет использован для определения подсети
номер автономной системы - "AS12345", будет для бана/разбана/вывода указанной автономной системы
подсеть в CIDR формате - "1.2.3.4/16", будет использована указанная подсеть
начальный ИП - "1.2.3.4", начальная граница подсети, должен быть так же указан конечный ИП
конечный ИП - "1.2.3.4", конечная граница подсети, должен быть так же указан начальный ИП
разрешенные клиенты (флаги) - "abcdefghij", типы клиентов на которые не будет распространяться этот бан подсети
причина - "Eta podset' v bane!", ваш текст для вывода забаненым игрокам (наряду с остальной информацией о бане)
точное совпадение - 0 или 1, этот параметр используется только когда указана подсеть
[] - необязательный параметр
стимИД - "STEAM_0:x:xxxxxxxx", будет осуществлен поиск игрока с указанным стимИД
ник - "pl", будет осуществлен поиск игрока с ником содержащим указанную строку
user ID - #245, будет осуществлен поиск игрока c указанным идентификатором
ИП - "1.2.3.4", одиночный адрес будет использован для определения подсети
номер автономной системы - "AS12345", будет для бана/разбана/вывода указанной автономной системы
подсеть в CIDR формате - "1.2.3.4/16", будет использована указанная подсеть
начальный ИП - "1.2.3.4", начальная граница подсети, должен быть так же указан конечный ИП
конечный ИП - "1.2.3.4", конечная граница подсети, должен быть так же указан начальный ИП
разрешенные клиенты (флаги) - "abcdefghij", типы клиентов на которые не будет распространяться этот бан подсети
причина - "Eta podset' v bane!", ваш текст для вывода забаненым игрокам (наряду с остальной информацией о бане)
точное совпадение - 0 или 1, этот параметр используется только когда указана подсеть
0 - все подсети пересекающиеся с указанной будут обработаны
1 - только точно совпадающая подсеть будет обработана
ограничение - 0 или 1, этот параметр используется только если был указан одиночный ИП1 - только точно совпадающая подсеть будет обработана
0 - все подсети включающие указанный ИП будут обработаны
1 - только первая, самая маленькая, подсеть, включающая указанный ИП, будет обработана
1 - только первая, самая маленькая, подсеть, включающая указанный ИП, будет обработана
Разрешенные клиенты (флаги): (основаны на авторизации dproto)
a - dproto (клиент без эмулятора или с неизвестным типом эмулятора)
b - Native Steam (лицензионный клиент)
c - SteamEmu
d - RevEmu
e - Old RevEmu
f - HLTV
g - SteamClient2009
h - AVSMP
i - sXe Injected
j - RevEmu 2013
k - SmartSteamEmu3
Замечания:
при указании в качестве параметра команды sb_ban стимИД, ника или идентификатора игрока, производится поиск среди игроков на сервере, и:
- если будет найдено несколько подходящих игроков, процесс бана отменяется;
- если будет найден один игрок, его ИП будет использован для автоматического определения подсети/автономной системы и эта подсеть/автономная система будет забанена.
Сокращенные формы записи:
Первый нолик - укороченная до предела форма записи ИП (опущенные октеты подразумеваются в 0):
Второй нолик - количество битов подсети (CIDR форма записи).
Пример бана:
- Определить подсеть - это непростая задача (точнее просто долгая).
- Надо идти на whois сервера и искать.
- Например ИП: 93.177.138.147
- Идем на http://www.db.ripe.net/whois, вбиваем его там.
- Получаем:
- Смотрим ниже (в самом низу, где самые узкие подсети выводятся):
- Это так называемый номер автономной системы. В данном случае это AS28751.
- Идем на RipeNCC
- И вбиваем его туда.
- Получаем список подсетей этого провайдера (опять же грубо говоря).
- Из этого списка надо отобрать те, что могут быть из того же города и т.п. (а можно просто все забанить). Это уже тебе решать.
Плюс ко всему, ripe отвечает только за Европу. Для других континентов есть другие регистраторы, и соответственно whois сервера.
Q: Как забанить диапазон айпишников?
A: sb_ban 12.12.10.0 12.12.45.255 "bjk" "Cheater"
Q: Как разбанить айпишник?
A: sb_unban 12.12.10.10
Q: Как вывести все баны подсетей?
A: sb_list 0/0
- Команды
-
- sb_help показывает помощь по использованию других команд
- sb_ban добавляет бан подсети/автономной системы по: игроку (используется его ИП для автоматического определения подсети/автономной системы), ИП (используется для автоматического определения подсети/автономной системы), начальному и конечному ИП, подсети в CIDR формате или номеру автономной системы
- sb_unban удаляет бан подсети/автономной системы по: ИП (удалит одну, самую меньшую, или все подсети содержащие этот ИП), начальному и конечному ИП (удалит точно совпадающую или все пересекающие подсети) или номеру автономной системы
- sb_list вывод списка подсетей/автономных систем по: ИП (выведет одну, самую меньшую, или все подсети содержащие этот ИП), начальному и конечному ИП (выведет точно совпадающую или все пересекающие подсети) или номеру автономной системы
- sb_search вывод подсетей содержащих в причине заданную подстроку
- sb_whois запрос к базе Whois по заданному ИП или ИП игрока с выводом ответа в консоль
- sb_stat выводит список игроков на сервере с информацией: номер игрока, ник, ИП, номер автономной системы, используемая версия протокола, протокол авторизации (тип используемого клиента), страна, город, дополнительное описание маршрута из базы Whois