Подробный гайд по установке и настройки утилиты SourceBans++ (SBPP) на Counter-Strike 2
Системные требования
- ОС сервера: Ubuntu 20.04+ / Debian 11+ / CentOS 8+ (рекомендуется Ubuntu 22.04 LTS)
- Веб-сервер: Apache 2.4 / Nginx 1.18+ (рекомендуется Nginx + PHP-FPM)
- PHP: 7.4 (рекомендуется 8.1 или 8.2)
- СУБД: MySQL 5.7 / MariaDB 10.3 (рекомендуется MySQL 8.0 / MariaDB 10.6+)
- SourceMod: 1.12.0+ (рекомендуется 1.12.7090+ для официальной поддержки CS2)
- CS2 Dedicated Server: Актуальная ветка cs2 через SteamCMD
Шаг 1: Подготовка базы данных
Выполните в консоли MySQL/MariaDB:
CREATE DATABASE sourcebans CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sb_user'@'localhost' IDENTIFIED BY 'Ваш_Надёжный_Пароль';
GRANT ALL PRIVILEGES ON sourcebans.* TO 'sb_user'@'localhost';
FLUSH PRIVILEGES;
Примечание:
- Для удалённого подключения замените localhost на IP веб-сервера и настройте bind-address в mysqld.cnf.
Шаг 2: Установка веб-панели
- Скачайте последнюю стабильную сборку SBPP: github.com/sbpp/sourcebans-pp/releases
- Распакуйте архив в корневую директорию вашего веб-сервера (например, /var/www/sourcebans).
3. Установите права:
sudo chown -R www-www-data /var/www/sourcebans
sudo chmod -R 755 /var/www/sourcebans
sudo chmod 644 /var/www/sourcebans/config.php
Шаг 3: Настройка веб-конфигурации
Откройте /var/www/sourcebans/config.php и отредактируйте параметры подключения:
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'sb_user');
define('DB_PASS', 'Ваш_Надёжный_Пароль');
define('DB_NAME', 'sourcebans');
define('DB_PORT', '3306');
define('SB_URL', 'https://bans.вашдомен.ru'); // Без слэша в конце
Откройте в браузере https://вашдомен.ru/install/ и пройдите мастер установки.
После завершения удалите установочную директорию:
sudo rm -rf /var/www/sourcebans/install
Шаг 4: Установка плагина на сервер CS2
- Скачайте Server Package из того же релиза SBPP.
2. Распакуйте содержимое в директорию сервера:
/game/csgo/addons/sourcemod/plugins/ /game/csgo/addons/sourcemod/configs/ /game/csgo/addons/sourcemod/translations/ Примечание по CS2: Valve сохранила имя папки csgo для обратной совместимости. Все пути остаются прежними.
3. Убедитесь, что в папке plugins присутствуют файлы:
- sbpp_main.smx
- sbpp_admin.smx
- sbpp_comms.smx
- sbpp_checker.smx
Шаг 5: Настройка соединения с БД на сервере
Отредактируйте game/csgo/addons/sourcemod/configs/databases.cfg:
"Databases"
{
"driver_default" "mysql"
"sourcebans"
{
"driver" "mysql"
"host" "127.0.0.1"
"database" "sourcebans"
"user" "sb_user"
"pass" "Ваш_Надёжный_Пароль"
"port" "3306"
"timeout" "10"
"custom" ""
}
}
Перезагрузите плагины в консоли сервера или через RCON:
sm plugins load sbpp_main
sm plugins load sbpp_comms
sm plugins load sbpp_checker
Проверьте статус:
sm plugins list
Должны отображаться [SourceBans++] ... со статусом running.
Шаг 6: Синхронизация и тестирование
- В веб-панели перейдите в Admins -> Add Admin. Создайте тестового администратора, привяжите к SteamID.
2. На сервере выполните:
sm_reloadadmins
sm_ban "#STEAM_1:0:XXXXXXXX" 60 "Тест бана"
- Игрок должен быть кикнут с сообщением о бане. В веб-панели запись появится автоматически.
4. Для проверки соединения с БД выполните в консоли сервера:
sm status
sbpp_testdb
Безопасность и оптимизация
- HTTPS: Обязательно. SBPP передаёт хеши паролей и служебные данные.
- Отключите display_errors: В php.ini установите display_errors = Off, log_errors = On.
- Сильные пароли: Минимум 16 символов, уникальные для БД и веб-администратора.
- Ограничьте доступ к /install/ и /backup/: Через .htaccess или конфиг Nginx.
- Регулярные обновления: SourceMod, SBPP, PHP, СУБД.
- Лимиты БД: При высокой нагрузке добавьте индексы, включите slow_query_log.
Частые проблемы
- Plugin failed to load: sbpp_main.smx - Убедитесь, что SourceMod версии 1.12 или выше. Проверьте вывод команды sm version.
- Unknown command "sm_ban" - Плагин не загружен. Проверьте databases.cfg и лог sourcemod/logs/error_*.log.
- Баны не синхронизируются - Проверьте работу sbpp_checker в консоли, убедитесь, что веб-сервер и игровой сервер подключены к одной БД.
- Ошибка Access denied for user - Проверьте хост, пароль и привилегии MySQL. Для удалённой БД разрешите подключение в таблице mysql.user.
- Панель показывает 500 Internal Server Error - Проверьте права на config.php, версию PHP (должна быть 7.4+), логи веб-сервера.
Важные примечания по CS2
- VAC и Trust Factor: SBPP управляет только серверными банами. Он не влияет на VAC-статус или систему доверия Valve.
- Формат SteamID: CS2 использует формат STEAM_1:0:... (или STEAM_0 в зависимости от региона). SBPP автоматически обрабатывает оба формата.
- RCON-синхронизация: Если вы хотите, чтобы веб-панель управляла сервером напрямую, укажите RCON-данные в config.php. Рекомендуется использовать только во внутренней сети.
- Альтернативы: Если вам нужен только бан-лист без веб-панели, рассмотрите simple_admin или admin_flatfile. Для интеграции с Discord/Telegram существуют отдельные модули sbpp_discord и sbpp_telegram.
После выполнения всех шагов у вас будет рабочая система банов, идентичная по функционалу оригинальному CSS Bans, но полностью совместимая с Counter-Strike 2 и современными стандартами безопасности.