SuperBan 4.0

Инструкция по установке, настройке и эксплуатации AMXX плагина SuperBan для серверов Counter-Strike 1.6

 

Описание плагина

SuperBan – это AMXX плагин, предназначенный для блокировки доступа определённым игрокам к игровому серверу Counter Strike 1.6 по нескольким параметрам. Плагин был разработан с целью защиты игрового сервера от забаненных игроков с динамическим IP адресом. При использовании данного плагина подавляющее число игроков не смогут обойти бан:

1) Сменой IP.

2) Сменой имени.

3) Чисткой/блокировкой конфигов.

4) Переустановкой игры.

Для работы данного плагина необходимо иметь:

1) Игровой сервер Counter-Strike 1.6.

2) Metamod с установленным AMX Mod X.

3) MySQL сервер.

4) Web сервер с поддержкой PHP (для CookieBan и Web интерфейса).

Данный плагин позволяет:

1) Банить игроков с указанием срока и причины бана.

2) Раздельно банить игроков из подсетей с единым IP адресом.

3) Кикать уже забаненных игроков с оповещением об оставшемся сроке бана и причины.

4) Снимать бан с игроков, указав имя либо IP.

5) Просматривать список забаненных через консоль.

6) Просматривать список забаненных через Web интерфейс.

7) Единовременно очищать из базы данных все истёкшие баны.

8) Логировать установку и снятие банов, попытки забаненных игроков войти на сервер, а также все подключения к серверу.

9) Объявлять о бане игроков в общий игровой чат или Hud сообщением.

Для блокировки доступа плагин использует базовую технологию, основанную на мультипараметрах и дополнительную — CookieBan, которая появилась в версии 3.0. По умолчанию данная технология отключена. Для её работы необходимо иметь Web сервер с поддержкой PHP.

SuperBan использует инновационные методы блокировки доступа, что позволяет снизить вероятность обхода бана к минимуму. Плагин осуществляет пермаментный бан по первичному имени игрока, это означает, что даже если игрок обойдёт все защиты плагина, он всё равно не сможет играть на сервере под прежним именем сразу после захода.

SuperBan хранит данные в базе данных MySQL, что существенно ускоряет работу с объёмными бан-листами. Для корректной работы плагина необходим минимальный пинг между игровым и MySQL сервером.

 

Установка плагина

1) Распакуйте папку cstrike в корень игрового сервера.

2) Откройте файл plugins.ini в подпапке cstrike/addons/amxmodx/configs и добавьте строку superban.amxx.

3) Импортируйте файл superban.sql, который находится в подпапке sql в базу данных MySql. Если вы используете phpmyadmin для администрирования базы MySql, то выберите базу в левой колонке (либо создайте новую), перейдите на вкладку SQL, нажмите кнопку Обзор, укажите файл superban.sql, после чего нажмите кнопку Пошёл.

4) Откройте файл superban.cfg и пропишите параметры подключения к базе данных MySQL:

amx_superban_host "127.0.0.1" // IP адрес или имя MySQL сервера

amx_superban_user "root" // имя пользователя MySQL

amx_superban_pass "password" // пароль данного пользователя

amx_superban_db "cstrike" // имя базы данных

amx_superban_table "superban" // имя таблицы

5) Перепишите содержимое папки www в подпапку вашего Web сервера. Откройте файл config.php блокнотом и пропишите параметры подключения к базе данных MySQL по аналогии.

 

Настройка плагина

Для настройки плагина откройте файл superban.cfg с помощью блокнота и добавьте следующие строки:

amx_superban_ipban "0/1" (по умолчанию "1") — отключает/включает бан по IP адресу в качестве одного из параметров. Если на вашем сервере часто играют из подсетей с единым IP адресом, то установите опцию в "0".

amx_superban_nameban "0/1" (по умолчанию "1") — отключает/включает бан по имени.

amx_superban_lnameban "0/1" (по умолчанию "0") — отключает/включает бан по последнему имени. (имя, с которым забаненный игрок попытался зайти на сервер). По умолчанию равен "0", то есть выключен. Не рекомендуется использовать данный метод бана. В случае использования, необходимо выставить параметр "amx_superban_nametime" в 5-60 (минут) максимум.

amx_superban_steamban "0/1" (по умолчанию "1") — отключает/включает бан по SteamID.

amx_superban_comment "Bye-bye!" (по умолчанию "") — куда обращаться за разбаном. Будет показано забаненному игроку.

amx_superban_iptime "минут" (по умолчанию "1440", т.е. 1 день) — в течение этого срока будет учитываться бан по IP адресу. Если на вашем сервере в основном играют игроки с динамическим IP, то рекомендуется оставить этот параметр равным 1440. Если на вашем сервере в основном играют игроки с постоянным IP, то рекомендуется увеличить этот параметр до 10080.

amx_superban_nametime "минут" (по умолчанию "1440", т.е. 1 день) — в течение этого срока будет учитываться бан по последнему имени.

amx_superban_messages "0/1/2" (по умолчанию "1") — "0" отключает, "1" включает вывод бан-сообщений в общий чат. "2" включает вывод Hud сообщений.

amx_superban_hide "0/1" (по умолчанию "0") — отключает/включает периодическую очистку консоли игроков для дополнительной приватности работы плагина.

amx_superban_log "0/1/2" (по умолчанию 1) — отключает/включает логирование. "0" — отключить. "1" — включить. "2" — дополнительно логировать все подключения к серверу.

amx_superban_config "имя_файла" (по умолчанию "joystick") — название файла резервного конфига, который создаётся раз в минуту у игроков. В имени файла можно указывать подпапку, например «maps\de_dust2» будет создавать конфиг de_dust2.cfg в подпапке maps.

amx_superban_autoclear "0/1"отключает/включает автоматическую очистку базу от истёкших и снятых банов при смене карты.

amx_superban_periods "5,10,15,30,45,60,120,180,720,1440,10080,43200,525600,0" — перечень периодов банов в бан-меню.

amx_superban_pconnect "0/1"отключает/включает постоянное соединения с базой MySQL. Если в логах появляются ошибки "MySQL server has gone away", то поставить "0".

amx_superban_unbanflag "d" — флаг админов, имеющих право на снятие бана.

amx_superban_sqltime "0/1" отключает/включает синхронизацию времени с MySQL сервером. Желательно использовать "1". Исправляет ситуацию, когда время на серверах отличается.

amx_superban_syntax "0/1"отключает/включает использование синтаксиса AMX Bans для совместимости супербана с другими плагинами. При "1" синтаксис будет таким: amx_ban <минут> <имя или #userid> [причина].

amx_superban_utf8 "0/1" отключает/включает передачу команды "SET NAMES utf8" в базу данных при добавлении новых банов. При проблемах с кодировкой русских имён в бан-листе, установить "0".

 

Настройка CookieBan

Для настройки CookieBan откройте файл superban.cfg с помощью блокнота и измените следующие строки:

amx_superban_cookieban "1" — включает CookieBan на вашем сервере.

amx_superban_banurl "путь_к_ban.php" — путь к файлу ban.php на вашем Web сервере, например: http://www.server.com/banlist/ban.php

amx_superban_checkurl "путь_к_check.php" — путь к файлу check.php на вашем Web сервере, например: http://www.server.com/banlist/check.php

amx_superban_cookiewait "секунд" (по умолчанию "3.0") — пауза перед киком забаненных игроков. Увеличив это значение до 5.0-7.0 улучшится эффективность CookieBan.

Для использования собственного MOTD на сервере:

1) Скопируйте ваш motd.txt из папки cstrike на Web сервер в каталог с файлом check.php и переименуйте его в motd.html.

2) Откройте файл check.php блокнотом и раскомментируйте строку:

<!-- <meta http-equiv="Refresh" content="0; URL=motd.html"> -->

должно получиться:

<meta http-equiv="Refresh" content="0; URL=motd.html">

 

Настройка Web бан-листа

Для настройки Web бан-листа откройте файл config.php с помощью блокнота:

$lines = 25; // количество строк на одной странице

$bgcolor = "#FFFFFF"; // цвет фона

$font_size = "10pt"; // размер шрифта

$font_color = "#000000"; // цвет шрифта

$top_color = "#DDDDDD"; // цвет заголовка таблицы

$line_odd_color = "#EEEEEE"; // цвет нечётных строк таблицы

$line_even_color = "#DDDDDD"; // цвет чётных строк таблицы

$line_add_color = "#EEEEEE"; // цвет раскрываемого фрейма

$bottom_color = "#EEEEEE"; // цвет нижней части таблицы

$page_color = "#DDDDDD"; // цвет номеров страниц

$cursor_color = "#BBBBBB"; // цвет выделения

 

Использование плагина

amx_superban_menu — открыть супербан меню. Клавишами 9 и 0 — листать список игроков. 8 — выбрать срок бана. 1-7 — выбрать игрока. После выбора игрока введите причину бана и нажмите Enter.

amx_superban <имя или #userid> <минут> [причина]забанить игрока с определённым именем или UserID. Можно использовать первые 3-4 буквы имени. Примеры:

amx_superban Goodwin 0 “UcnoJIb3oBaHue 4uToB” — забанить игрока Goodwin навсегда с причиной (сообщением) “UcnoJIb3oBaHue 4uToB”.

amx_superban Good 60 “Ockop6JIeHu9” — забанить игрока Goodwin на 1 час с причиной (сообщением) “Ockop6JIeHu9”.

amx_superban Goo 30 — забанить игрока Goodwin на 30 минут без указания причины.

amx_unsuperban <name or ip or UID> — разбанить игрока по имени, ip или UID. Примеры:

amx_unsuperban Goodwin

amx_unsuperban 127.0.0.1

amx_superban_clear — очистить базу от истёкших банов.

amx_superban_list <number> — вывести в консоль n последних банов. Рекомендуется указывать значение от 5 до 20. При большем количестве есть вероятность переполнения буфера и вылета с сервера.

amx_banmenuаналог amx_superban_menu. Работает в том случае, если superban.amxx прописан в plugins.ini до plmenu.amxx.

amx_ban и amx_banip — аналог amx_superban. Работает в том случае, если superban.amxx прописан в plugins.ini до admincmd.amxx.

Для просмотра Web бан-листа, откройте в браузере папку вашего Web сервера, куда были переписаны PHP файлы плагина, например: http://www.server.com/banlist/

Если бан-лист не отображается, проверьте правильность параметров подключения к базе данных MySQL в файле config.cfg.

Описание лог сообщений

Лог сообщения хранятся в лог файлах, в подпапке cstrike/addons/amxmodx/logs/superban, в качестве имени файла используется текущая дата.

События базы данных:

Successfully connected to MySQL — успешное подключение к базе данных MySQL.

Can't connect to MySQL — невозможно подключиться к базе данных MySQL.

Can't check player IP/CookieIP/UID/RateID/name on MySQL DB — невозможно проверить IP CookieIP/UID/RateID/имя в базе данных MySQL.

Can't add player to MySQL DB — невозможно добавить игрока в базу данных MySQL.

Can't delete player from MySQL DB — невозможно удалить игрока из базы данных MySQL.

Can't update player info on MySQL DB — невозможно обновить информацию об игроке в базе данных MySQL.

Can't clear MySQL DB — невозможно очистить базу данных MySQL.

Can't get list from MySQL DB — невозможно получить список из базы данных MySQL.

Далее обычно пишется сообщение базы. Проблемы могут быть:

1) Из за неверного указания параметров подключения к базе в superban.cfg.

2) Если база данных не разрешает внешние подключения. В случае, когда база расположена на хостинге, нужно поискать опцию добавления доверенных IP адресов MySQL в панели управления сайтом, либо писать в службу поддержки хостинга.

3) Если плохая связь между игровым сервером и базой данных. Убедитесь, что связь с базой данных MySQL надёжна, а пинг между игровым и MySQL сервером минимален. Если игровой сервер в России, а база на хостинге в штатах, и ваш тариф 2-3$ в месяц, то не стоит надеяться на стабильную работу системы.

События админов:

Admin "Goodwin" ban "Player" for 60 minutes, reason – "Flood" — админ Goodwin забанил игрока Player на 60 минут, причина — флуд.

Admin "Goodwin" unban "Player"админ Goodwin разбанил Player.

Admin "Goodwin" has cleared baseадмин Goodwin очистил базу данных от истёкших и снятых банов.

События игроков:

Connected player "Player" (IP "172.27.65.126", UID "IHfbRlbQi0", RateID "IhfbRlbQi0")подключился игрок Player с IP-адресом 172.27.65.126, уникальным ID = IhfbRlbQi0, Rate ID = IhfbRlbQi0.

Player "Player" gets UID and RateID "IhfbRlbQi0"игрок получил UID и Rate ID = IhfbRlbQi0. Данное событие с большой долей вероятности свидетельствует о том, что этот игрок впервые играет на сервере с установленным плагином SuperBan.

Player "Player" gets UID "IhfbRlbQi0"игрок получил UID = IhfbRlbQi0. Это связанно с тем, что UID по какой-то причине не сохранился у игрока. Поэтому он присвоен повторно из RateID. Данная ситуация возникает часто, это нормальная работа плагина по взаимокомпенсации параметров.

Player "Player" gets RateID "IhfbRlbQi0"игрок получил RateID = IhfbRlbQi0. Это связанно с тем, что RateID по какой-то причине не сохранился у игрока. Поэтому он присвоен повторно из UID. Данная ситуация возникает часто, это нормальная работа плагина по взаимокомпенсации параметров.

Player "Player" is kicked because its IP/Cookie IP/UID/RateID/name in ban list (IP "172.27.65.126", UID "IHfbRlbQi0", RateID "IhfbRlbQi0")игрок Player кикнут, так как его IP/Cookie IP/UID/RateID/имя в бан листе. По данному сообщению можно отслеживать, какие действия предпринимал игрок для снятия бана, сколько попыток подключения к серверу он осуществлял после получения бана, по какому параметру он был идентифицирован, как забаненный.

События плагина:

Plugin stopped, because incorrect ID file — плагин остановлен, так как используется некорректный ID файл. Если вы являетесь легальным владельцем плагина, то убедитесь, что плагин используется на авторизованном сервере и ID файл находится в подпапке cstrike/addons/amxmodx/configs. Если плагин достался вам по знакомству, самое время присоединиться к нашему сообществу, свяжитесь с разработчиком плагина по ICQ 323-696-898.

 

Возможные неполадки

Проблема: лаги при подключении новых игроков, долгая смена карты, непонятные задержки и зависания.

Решение: проверить качество связи между игровым и MySQL сервером, если качество связи плохое, либо пинг слишком большой, поменять MySQL сервер. Идеальный вариант — установить MySQL сервер на той же машине, что и игровой сервер.

Проблема: игрок жалуется, что его забанило случайно.

Решение: изучить логи плагина. Вероятнее всего данного игрока забанило по IP адресу, который уже был в бан-листе и достался ему случайно. Данная ситуация может возникнуть, если забаненный и случайно забаненный игроки пользуются услугами одного провайдера. Уменьшите значение amx_superban_iptime до 180.

Проблема: новый игрок жалуется, что его забанило при первом же подключении к серверу.

Решение: изучить логи плагина. Уменьшить значение amx_superban_nametime до 0-180.

Проблема: игрок обошёл защиту плагина и играет под тем же именем.

Решение: убедиться, что плагин запущен. Убедиться, что бан данного игрока не истёк. Убедиться, что игрок не был разбанен другим админом. Изучить логи плагина.

Проблема: игрок обошёл защиту плагина и играет под другим именем.

Решение: убедиться, что CookieBan включен. Убедиться, что бан данного игрока не истёк. Убедиться, что игрок не был разбанен другим админом. Изучить логи плагина. Забанить игрока повторно.

Проблема: ошибки плагина в логах amx.

Решение: сообщить об ошибке разработчику по ICQ 323-696-898.

 

От автора

Автором данного плагина является Лукманов Ильдар из г. Уфы.

Анонимусу:

Уважаемый Анонимус!

Плагин SuperBan разрабатывается и обновляется мною, с января 2008 года. Пользователи плагина — это небольшое «сообщество» администраторов (владельцев) известных игровых серверов Counter Strike 1.6 в России и Украине. Плагин является приватным, поэтому передаётся в пользование только надёжным проектам, лицензия платная. Если тебя заинтересовала моя разработка и ты хочешь присоединиться к проекту, то напиши мне на ICQ 323-696-898 или в Skype: lukmanov. Плагин легко привязать к серверным античитам либо другим плагинам, такими, как ATAC, Voteban и т.п. Став легальным пользователем плагина ты будешь бесплатно получать новости и обновления. Твои идеи и рекомендации будут учтены и реализованы в новых версиях плагина.

 

Владельцу:

Уважаемый Владелец!

Выражаю тебе благодарность за использование моего продукта :)

Новые версии для тебя бесплатны пожизненно. Однако поощрения всегда приветствуются! :D

WebMoney: R557803970850, Z221369081568

Яндекс: 41001439983369