RedCloud — модуль идентификации игроков для Superban. Он собирает несколько независимых маркеров, объединяет их в профиль и сохраняет историю изменений.
Если игрок меняет SteamID, IP или игровой клиент, RedCloud может связать новое подключение с известным профилем по оставшимся маркерам. Затем модуль оценивает найденные совпадения и передаёт Superban информацию о возможной связи с активным баном.
Профили игроков. RedID, CloudID, SteamID, IP, GameID и KeyID объединяются в единый профиль с историей значений и подключений.
RedID. Персональная метка сохраняется в настройках игрового клиента и восстанавливается при следующих подключениях.
CloudID. Дополнительная браузерная метка выдаётся через MOTD. Она не зависит от SteamID и настроек игрового клиента.
Детект обхода. RedCloud сравнивает текущие маркеры с профилями, связанными с активными банами, и передаёт найденную связь в Superban.
Сильные и слабые маркеры. RedID, SteamID и CloudID имеют больший вес. IP, GameID и KeyID считаются менее надёжными и проверяются с дополнительными ограничениями.
Защита от совпадений. Система учитывает количество владельцев слабой метки и срок её актуальности, чтобы общий IP или распространённый KeyID не становились единственной причиной наказания.
Уровни надёжности. Профиль развивается от нового до доверенного с учётом количества сессий, возраста профиля, давности последнего подключения и истории банов.
Автоматические пороги. RedCloud может самостоятельно подбирать требования к уровням надёжности на основе активности игроков проекта.
Иммунитет доверенных игроков. Надёжный профиль защищает постоянного игрока от ошибочного наказания по слабой метке или отсутствующему CloudID.
Список доверенных. В trusted.ini можно вручную назначить доверенный уровень игроку по SteamID или IP.
Подбор типа бана. RedCloud анализирует накопленные маркеры игрока и может предложить Superban подходящий набор идентификаторов для нового бана.
Два режима защиты. В обычном режиме RedCloud работает как система идентификации. Режим реального времени включает дополнительные проверки и реакцию на отсутствие CloudID.
Интеграция с Superban. RedCloud не хранит и не применяет баны самостоятельно: он идентифицирует игрока, а Superban проверяет бан-лист и принимает итоговое решение.
Для работы CloudID требуется веб-эндпоинт RedCloud. Его можно разместить на собственном хостинге или на этом сайте, веб-часть записывает браузерные метки, проверяет доступность базы и показывает информацию о бане в MOTD-окне. Значение redcloud_motd_url должно быть настроено и начинаться с http://.
RedCloud необходимо разместить на вашем хостинге или на этом сайте. Через него выдаётся CloudID, обновляются браузерные метки и показывается информация о бане в MOTD-окне. Данные хранятся в той же MySQL-базе, которую используют Superban и RedCloud.
PHP 8.2 или новее;
расширения PHP pdo_mysql и mbstring;
MySQL или совместимая версия MariaDB;
Apache либо nginx;
доступ веб-сервера к базе данных Superban;
возможность открыть endpoint по обычному HTTP.
Для MOTD рекомендуется использовать http://. Старые браузеры, встроенные в клиенты CS 1.6, могут не поддерживать современный TLS и не открыть страницу по HTTPS.
Распакуйте архив superban-motd-core.zip на веб-сервер, сохранив структуру каталогов:
motd/
├── src/
└── standalone/
├── redcloud.php
├── config.php
├── check_template_motd.php
├── ban_template_motd.php
├── pic.swf
└── lib/Обе папки, src и standalone, обязательны. Они должны находиться рядом: standalone/lib/bootstrap.php подключает исходный код из src.
Настройте document root сайта или отдельного поддомена на папку standalone. Папка src должна оставаться за пределами публичного document root. В результате endpoint должен быть доступен по адресу:
http://motd.example.com/redcloud.phpОткройте standalone/config.php и укажите подключение к той же базе данных, которую используют игровые плагины:
dbHost: '127.0.0.1',
dbPort: 3306,
dbName: 'cs_16',
dbUser: 'superban',
dbPassword: 'пароль',Проверьте названия таблиц:
superbanPrefix: 'amx_',
superbanTable: 'bans',
redcloudPrefix: 'redcloud_',Установите собственный секрет для браузерной метки бана:
banCookieSecret: 'длинная-случайная-строка',Укажите адрес endpoint в redcloud.cfg игрового сервера:
redcloud_motd_url "http://motd.example.com/redcloud.php"После изменения конфигурации смените карту или перезапустите игровой сервер.
Откройте health endpoint:
http://motd.example.com/redcloud.php?mode=healthПри правильном подключении к базе он вернёт:
okОтвет db_error означает, что веб-часть не может подключиться к MySQL. В этом случае проверьте адрес базы, имя пользователя, пароль, название базы и права доступа.
После запуска игрового сервера в логах RedCloud должно появиться подтверждение доступности веб-части:
[CloudAuth] web health OKФайл config.php содержит пароль от базы данных и не должен открываться через браузер.
Для Apache в комплект входят файлы .htaccess, запрещающие прямой доступ к config.php и папке lib. На сервере должна быть разрешена обработка .htaccess.
Для nginx добавьте ограничения вручную:
location = /config.php {
deny all;
return 404;
}
location ^~ /lib/ {
deny all;
return 404;
}После настройки запрос к config.php должен возвращать 403 или 404.
Файл check_template_motd.php отвечает за страницу, которую игрок видит при обычном подключении. В нём можно разместить правила сервера, изображение или другую информацию.
Файл ban_template_motd.php отвечает за страницу с информацией о бане: игрок, причина, срок, дата разбана и администратор.
При изменении шаблонов нельзя удалять служебные переменные из секции <head>:
<?php echo $cloudidHtml; ?>
<?php echo $cookiebanHtml; ?>
<?php echo $cookieFallbackHtml; ?>Они используются для записи браузерных меток в клиентах, которые игнорируют обычный заголовок Set-Cookie.