Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 12 дек 2019, 22:48

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 211 ]  На страницу 1, 2, 3, 4, 5 ... 22  След.
Автор Сообщение
СообщениеДобавлено: 16 фев 2011, 07:39 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
10 дек 2019, 13:58
Сообщения: 6737
SubnetBan

Автор: Lev
Версия: 2.2

Информация:
  • автоматическое определение подсети/автономной системы для заданного ИП с помощью баз GeoIP и Whois
  • хранение банов подсетей/автономных систем в ini файле или в mysql базе (для подсетей и автономных систем используются раздельные файлы)
  • сохраняет резервную копию ini файла при разбане подсети/автономной системы
  • хранит следующую информацию о бане подсети/автономной системы:
    • начальный адрес подсети
    • конечный адрес подсети
    • номер автономной системы
    • разрешенные клиенты (флаги)
    • дата бана
    • последняя дата блокировки подключения из этой подсети/автономной системы
    • причина бана
  • АМХХ логгирование использования команд
  • по умолчанию используется флаг доступа 'n' к командам плагина (можете поменять в файле cmdaccess.ini)
  • показывает всем игрокам уведомление о вновь подключившемся игроке (выводится страна)
  • интеграция с dproto, при подключении игрока, если его ИП попадает в забаненную подсеть, то:
    • проверяется тип клиента используемого игроком и, если этот тип разрешен для данной подсети, то пускает клиента,
    • иначе игроку сообщается о типе разрешенных клиентов и линк на скачку клиента.
  • можете использовать этот плагин и без dproto, если желаете
  • автоматическое создание базы данных и(или) таблиц (требуются достаточные права mysql юзера).
  • Для редактирования банов, возможно использование программы под Windows. Автор Infernal. Требует .NET для работы.

Команды:
    sb_help показывает помощь по использованию других команд
    sb_ban добавляет бан подсети/автономной системы по: игроку (используется его ИП для автоматического определения подсети/автономной системы), ИП (используется для автоматического определения подсети/автономной системы), начальному и конечному ИП, подсети в CIDR формате или номеру автономной системы
    sb_unban удаляет бан подсети/автономной системы по: ИП (удалит одну, самую меньшую, или все подсети содержащие этот ИП), начальному и конечному ИП (удалит точно совпадающую или все пересекающие подсети) или номеру автономной системы
    sb_list вывод списка подсетей/автономных систем по: ИП (выведет одну, самую меньшую, или все подсети содержащие этот ИП), начальному и конечному ИП (выведет точно совпадающую или все пересекающие подсети) или номеру автономной системы
    sb_search вывод подсетей содержащих в причине заданную подстроку
    sb_whois запрос к базе Whois по заданному ИП или ИП игрока с выводом ответа в консоль
    sb_stat выводит список игроков на сервере с информацией: номер игрока, ник, ИП, номер автономной системы, используемая версия протокола, протокол авторизации (тип используемого клиента), страна, город, дополнительное описание маршрута из базы Whois

Квары:
    sb_sql_host "127.0.0.1" // Сервер MySql
    sb_sql_user "root" // Логин к базе
    sb_sql_pass "" // Пароль к базе
    sb_sql_db "subnetbans" // Название базы
    sb_sql_create_db "0" // Автоматическое создание базы данных и таблиц (значение 2) или только таблиц (значение 1), если они не существуют.

    sb_def_ban_as "1" // По умолчанию команда sb_ban при автоматическом определении будет банить: 0 - подсеть, 1 - автономную систему
    sb_def_allowed_clients "bjk" // Разрешенные типы клиентов используемые по умолчанию командой sb_ban ("bjk" = Native Steam, RevEmu 2013 и SmartSteamEmu3)
    sb_allowed_flags "ab" // Если игрок имеет следующие флаги доступа, то проверка на бан подсети/автономной системы для него не производится
    sb_downloadurl "http://aghl.ru/files/patches/updater.exe" // Ссылка на скачивание клиента с эмулятором
    sb_download_clienttype "d" // Тип клиента указанного в ссылке на скачивание
    sb_announce_connected "1" // Разрешить(1)/Запретить(0) оповещение о вновь подключающихся игроках

Требования:
  • модуль 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+ или наличие технического образования

Компиляция:
  • скопируйте файл "subnetban.sma" в папку "addons\amxmodx\scripting\"
  • скопируйте файлы "common_functions.inc", "ip_functions.inc" и "whois.inc" в папку "addons\amxmodx\scripting\include\"
  • для получения SQL версии раскомментируйте (удалите символы //) строчку содержащюю "#define USING_SQL" в файле "subnetban.sma"
  • для получения INI версии закомментируйте (поставьте символы //) строчку содержащюю "#define USING_SQL" в файле "subnetban.sma"
  • для запрета использования GeoIpMax модуля закомментируйте (поставьте символы //) строчку содержащюю "#define USING_GEOIP" в файле "subnetban.sma"
  • для разрешения использования GeoIpMax модуля раскомментируйте (удалите символы //) строчку содержащюю "#define USING_GEOIP" в файле "subnetban.sma"
  • введите "compile.exe subnetban.sma" (Windows) или "compile.sh subnetban.sma" (Linux) в командной строке (или смотрите тему Компиляция плагинов AMX Mod X)
  • скомпилированный плагин (subnetban.amxx) будет находиться в папке "addons\amxmodx\scripting\compiled\"
  • рекомендуется переименовать файл с SQL версией в subnetban_sql.amxx

Установка:
  • скопируйте файл "subnetban.txt" в папку "addons\amxmodx\data\lang\";
  • для INI версии:
    • скопируйте файл "subnetban.amxx" в папку "addons\amxmodx\plugins\";
    • добавьте строчку "subnetban.amxx" в файл "addons\amxmodx\config\plugins.ini";
  • для SQL версии:
    • скопируйте файл "subnetban_sql.amxx" в папку "addons\amxmodx\plugins\";
    • добавьте строчку "subnetban_sql.amxx" в файл "addons\amxmodx\config\plugins.ini";
    • создайте базу MySql используя приведенный ниже скрипт;
    • установите значения кваров для доступа к базе данных в конфиг файле (например в server.cfg);
  • скопируйте "whois_amxx.dll" (Windows) или "whois_amxx_i386.so" (Linux) в папку "addons\amxmodx\modules\";
  • скопируйте "geoipmax_amxx.dll" (Windows) или "geoipmax_amxx_i386.so" (Linux) в папку "addons\amxmodx\modules\";
  • скачайте GeoLiteCity базу по ссылке http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz и распакуйте её в папку "addons\amxmodx\data\";
  • также можете обновить базу GeoLiteCountry, скачайте её по ссылке http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz и распакуйте её в папку "addons\amxmodx\data\";
  • звук buttons\bell1.wav используется для оповещения о подключившемся игроке, так что проверьте что он есть в папке "valve\sounds\buttons\" на сервере.

Скрипт для создания базы данных:
    Код:
    CREATE DATABASE IF NOT EXISTS `subnetbans` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    CREATE TABLE IF NOT EXISTS `subnetbans`.`subnetbans` (
       `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
       `startip` INT UNSIGNED NOT NULL,
       `endip` INT UNSIGNED NOT NULL,
       `allowedclients` SMALLINT UNSIGNED NOT NULL,
       `datetimebanned` INT UNSIGNED NOT NULL,
       `datetimelastblocked` INT UNSIGNED NOT NULL,
       `reason` VARCHAR( 64 ) NOT NULL ,
       PRIMARY KEY ( `id` ) ,
       UNIQUE `startip_endip` ( `startip`, `endip` ),
       INDEX `startip` ( `startip` ),
       INDEX `endip` ( `endip` )
    );
    CREATE TABLE IF NOT EXISTS `subnetbans`.`asbans` (
       `asnumber` VARCHAR(10) NOT NULL,
       `allowedclients` SMALLINT UNSIGNED NOT NULL,
       `datetimebanned` INT UNSIGNED NOT NULL,
       `datetimelastblocked` INT UNSIGNED NOT NULL,
       `reason` VARCHAR( 64 ) NOT NULL ,
       UNIQUE `asnumber_ux` (`asnumber`)
    );

История версий:
     Предыдущие версии
    2.0 [2015.07.05] (6 загрузок) (code name ASsBans)
      ! Изменено: теперь плагин использует модуль Whois.
      + Добавлено: поддержка банов автономных систем.
      + Добавлено: поддержка нового типа клиентов dproto: SmartSteamEmu3.
      - Удалено: cvars sb_use_whois_on_connect и sb_use_whois_for_ban.
      + Добавлено: cvar sb_def_ban_as - указание для выбора автоматического бана подсети либо автономной системы.
      ! Изменено: типы клиентов по умолчанию, квар sb_def_allowed_clients, теперь установлен в: "bjk" (удален SC2009, добавлен SSE3).
      + Рекомендуется обновить базу данных: UPDATE `subnetbans` SET `allowedclients`=1538 WHERE `allowedclients`=578
    2.1 [2015.07.18] (3 загрузки)
      ! Изменено: вывод информации об ошибке, если запрос к Whois серверу не был успешно завершен.
    2.2 [2015.07.21]
      ! Изменено: вывод от команд sb_list и sb_search в консоль клиенту ограничен 20 записями.
      ! Изменено: вывод от команды sb_stat в консоль клиенту теперь разбит на страницы и использует в качестве аргумента номер страницы.

Для конвертации базы в файл можно использовать следующий скрипт и реджексы (флаги клиентов заменяются на указанные в скрипте):
  • SELECT INET_NTOA(`startip`),INET_NTOA(`endip`),'bd',FROM_UNIXTIME(`datetimebanned`),FROM_UNIXTIME(`datetimelastblocked`),`reason` FROM `subnetbans`
  • (.*?) [\s]*(.*?) [\s]*(.*?) [\s]*(.*? [\s]*.*?) [\s]*(.*? [\s]*.*?) [\s]*(.*)
  • \1 \2 \3 "\4" "\5" "\6"

Для конвертации из файла в базу (учтено до 5 флагов клиентов):
  • (.*?) [\s]*(.*?) [\s]*(.*?) "[\s]*(.*? [\s]*.*?)" "[\s]*(.*? [\s]*.*?)" "[\s]*(.*)"
  • INSERT INTO `subnetbans2` (`startip`, `endip`, `allowedclients`, `datetimebanned`, `datetimelastblocked`, `reason`) VALUES (INET_ATON('\1'), INET_ATON('\2'), (1<<(CASE WHEN CHAR_LENGTH('\3')>0 THEN (ASCII(SUBSTR('\3',1)) - 97) ELSE 0 END))|(1<<(CASE WHEN CHAR_LENGTH('\3')>1 THEN (ASCII(SUBSTR('\3',2)) - 97) ELSE 0 END))|(1<<(CASE WHEN CHAR_LENGTH('\3')>2 THEN (ASCII(SUBSTR('\3',3)) - 97) ELSE 0 END))|(1<<(CASE WHEN CHAR_LENGTH('\3')>3 THEN (ASCII(SUBSTR('\3',4)) - 97) ELSE 0 END))|(1<<(CASE WHEN CHAR_LENGTH('\3')>4 THEN (ASCII(SUBSTR('\3',5)) - 97) ELSE 0 END)), UNIX_TIMESTAMP('\4'), UNIX_TIMESTAMP('\5'), '\6')


Вложения:
SubnetBan 1.10.zip [377.5 КБ]
Скачиваний: 383
Комментарий к файлу: Программа для редактирования банов подсетей под Windows. Автор Infernal. Требует .NET для работы.
Subnet_Ban_Manager.zip [187.25 КБ]
Скачиваний: 315
SubnetBan 2.2.zip [460.94 КБ]
Скачиваний: 548
Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 09:04 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
10 дек 2019, 13:58
Сообщения: 6737
ЧАВО и помощь

Форматы использования команд:
    sb_ban:
      <стимИД | ник | ИД игрока | ИП | номер автономной системы> [разрешенные клиенты (флаги)] [причина]
      <start ИП> <конечный ИП> [разрешенные клиенты (флаги)] [причина]
      <подсеть в CIDR формате> [разрешенные клиенты (флаги)] [причина]
    sb_unban:
      <ИП> [ограничение (по умолчанию 1)]
      <начальный ИП> <конечный ИП> [точное совпадение (по умолчанию 1)]
      <подсеть в CIDR формате> [точное совпадение (по умолчанию 1)]
      <номер автономной системы>
    sb_list:
      <ИП> [ограничение (по умолчанию 0)]
      <начальный ИП> <конечный ИП> [точное совпадение (по умолчанию 0)]
      <подсеть в CIDR формате> [точное совпадение (по умолчанию 0)]
      <номер автономной системы>
    sb_search:
      <подстрока причины>
    sb_whois:
      <стимИД | ник | ИД игрока | ИП>
    sb_stat:
      [номер страницы (по умолчанию 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, этот параметр используется только если был указан одиночный ИП
      0 - все подсети включающие указанный ИП будут обработаны
      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 стимИД, ника или идентификатора игрока, производится поиск среди игроков на сервере, и:
    • если будет найдено несколько подходящих игроков, процесс бана отменяется;
    • если будет найден один игрок, его ИП будет использован для автоматического определения подсети/автономной системы и эта подсеть/автономная система будет забанена.
    в текущей версии практически безупречно производится автоматическое определение подсети/автономной системы, так что использование этой возможности для бана по номеру автономной системы рекомендовано.


Сокращенные формы записи:
Код:
sb_list 0/0
Первый нолик - укороченная до предела форма записи ИП (опущенные октеты подразумеваются в 0):
Код:
1.2.3.4
1.2.3.   = 1.2.3.0
1.2.3    = 1.2.3.0
1.2.     = 1.2.0.0
1.       = 1.0.0.0
1        = 1.0.0.0
Второй нолик - количество битов подсети (CIDR форма записи).

Цитата:
Вопрос: Как забанить диапазон айпишников?
Цитата:
Ответ:
sb_ban 12.12.10.0 12.12.45.255 "bjk" "Cheater"
Цитата:
Вопрос: Как разбанить айпишник?
Цитата:
Ответ:
sb_unban 12.12.10.10
Цитата:
Вопрос: Как вывести все баны подсетей?
Цитата:
Ответ:
sb_list 0/0


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 11:00 
Не в сети
Зарегистрирован:
06 июн 2010, 18:07
Последнее посещение:
06 окт 2019, 12:12
Сообщения: 738
Код:
sb_sql_db "subnetban" // Имя базы
Здесь наверное лучше дорисовать букву "s" (subnetbans). база ведь создаётся с буквой "s". Что-то мне подсказывает, что некоторые будут просто копипастить из мануала, и не заметят, что буквы не хватает.
Если человек онлайн(ностим) и банить его -то его с сервера не кикает. Если делать реконнект то не зайдёт более.
Может добавить ещё одно значение в "sb_list"? Чтобы можно было посмотреть весь список на пример "sb_list all". А то "sb_list 1.0.0.0 255.255.255.255" -писать долго )

ЗЫ: плагин просто гениален)

поправка если банить в формате sb_ban <iP> -не кикает , в случае если sb_ban <authID> -кикает.

_________________
|| Dproto 0.9.187 || miniAG 6.6 || HL Kreedz & Bugfixed and improved HL release || metamod-p-1.20p36 || amxmodx 1.8.2 || HLstatsx:CE 1.6.13 || GmBans 1.6 || jk_botti 1.42 ||


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 11:16 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
10 дек 2019, 13:58
Сообщения: 6737
unKn0wn писал(а):
наверное лучше дорисовать букву "s"
Угу. Дорисовал.
unKn0wn писал(а):
Если человек онлайн(ностим) и банить его -то его с сервера не кикает.
Его кикнет, если банить именно его: sb_ban PlayerName (#123 или стимИД), например. Но в этом случае будет автодетект подсети, который работает, надо признать, не очень качественно. Была мысль делать перепроверку всех игроков после бана. Но я решил её не развивать по причине того, что, например, к одной базе может быть подключено несколько серверов, так что на остальных всё равно перепроверка будет только после смены мапы, базу можно руками поменять - опять же перепроверка после смены мапы. Так что я решил не париться. К тому же правильная (тщательная) выдача бана подсети процедура не быстрая - так что тем более пофиг.
unKn0wn писал(а):
Может добавить ещё одно значение в "sb_list"? Чтобы можно было посмотреть весь список на пример "sb_list all". А то "sb_list 1.0.0.0 255.255.255.255" -писать долго )
Могу посоветовать писать так:
Код:
sb_list 0/0
Первый нолик - укороченная до предела форма записи ИП (опущенные октеты подразумеваются в 0):
Код:
1.2.3.4
1.2.3.
1.2.3
1.2.
1.
1
Второй нолик - количество битов подсети (CIDR форма записи).


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 12:25 
Не в сети
Зарегистрирован:
06 июн 2010, 18:07
Последнее посещение:
06 окт 2019, 12:12
Сообщения: 738
Немного не понял: Allowed clients flag прописывая при бане -это указывает какие этому диапазону "разрешены" клиенты?

_________________
|| Dproto 0.9.187 || miniAG 6.6 || HL Kreedz & Bugfixed and improved HL release || metamod-p-1.20p36 || amxmodx 1.8.2 || HLstatsx:CE 1.6.13 || GmBans 1.6 || jk_botti 1.42 ||


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 12:31 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
10 дек 2019, 13:58
Сообщения: 6737
Lev писал(а):
разрешенные клиенты (флаги)


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 16 фев 2011, 12:36 
Не в сети
Зарегистрирован:
06 июн 2010, 18:07
Последнее посещение:
06 окт 2019, 12:12
Сообщения: 738
В таком случае по умолчанию устанавливаются только два флага bd, т.е. если sb_ban 44.44.44.44 то в sb_list показывает, что присваиваться bd. В конфигах: sb_def_allowed_clients "bdgh"
Поправка: Какая-то бародка в конфигах... конфиги одинаковые а значения на серверах разные... Щас проверяю...
Вопрос снят, проблема была в старом конфиге.

_________________
|| Dproto 0.9.187 || miniAG 6.6 || HL Kreedz & Bugfixed and improved HL release || metamod-p-1.20p36 || amxmodx 1.8.2 || HLstatsx:CE 1.6.13 || GmBans 1.6 || jk_botti 1.42 ||


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 27 фев 2011, 09:52 
Не в сети
Аватара пользователя
Зарегистрирован:
06 июн 2010, 16:53
Последнее посещение:
06 окт 2017, 20:58
Сообщения: 1130
Откуда: Владивосток
Спасибо Льву, забанил всех читеров с динамическими ip-ами :good: :beer:

_________________
Изображение
Vi Veri Veniversum Vivus Vici


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 07 мар 2011, 23:44 
Не в сети
Зарегистрирован:
01 июн 2010, 18:09
Последнее посещение:
10 фев 2016, 08:27
Сообщения: 144
L 03/06/2011 - 22:22:44: [AMXX] Plugin "subnetban_sql.amxx" failed to load: Module/Library "sockets" required for plugin. Check modules.ini.

подозреваю, что ему нужен модуль sockets, интересно что это за модуль и зачем он ему нужен?))
еще интересно, почему subnetban работает, работает, а потом бац и вдруг вот эта ошибка )


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: Subnetban (бан подсетей)
СообщениеДобавлено: 08 мар 2011, 00:01 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
10 дек 2019, 13:58
Сообщения: 6737
Сокеты используются для WHOIS запросов.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 211 ]  На страницу 1, 2, 3, 4, 5 ... 22  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB