К статье
Практический материал

Другое · 13 мин

Установка и настройка SourceBans для игрового сервера

Пошаговое руководство по установке панели администрирования SourceBans для сервера CS:GO и других игр на движке Source. Настройка базы данных и прав.

Установка панели администрирования SourceBans является критически важным этапом в организации работы многопользовательского сервера на движке Source. Это программное обеспечение позволяет централизованно управлять банами, мутами, слотами резервации и вести детальную статистику действий игроков и администраторов. Без подобной системы контроль за соблюдением правил на проекте становится хаотичным, а история нарушений теряется при перезагрузке сервера.

Процесс инсталляции требует наличия веб-хостинга с поддержкой PHP и сервера баз данных MySQL или MariaDB. Панель выступает в роли связующего звена между базой данных и игровым сервером, куда устанавливается специальный плагин. Корректная настройка всех компонентов гарантирует, что выданные через веб-интерфейс санкции мгновенно вступят в силу в игре, а игроки не смогут обойти блокировку простым переподключением.

Особое внимание следует уделить версиям программного обеспечения, так как несовместимость версий PHP, базы данных и самого движка SourceBans является самой частой причиной ошибок при запуске. Современные версии панелей требуют актуальных интерпретаторов, в то время как старые сборки могут некорректно работать на новых версиях PHP. Перед началом работ необходимо подготовить файловый менеджер для доступа к файлам хостинга и клиент базы данных для создания новой структуры таблиц.

Подготовка хостинга и базы данных

Первым шагом является создание пустой базы данных, в которой будут храниться все логи, списки забаненных игроков и настройки панели. Зайдите в панель управления вашим хостингом (обычно это cPanel, ISPmanager или аналог) и найдите раздел «Базы данных MySQL». Создайте новую базу, запомнив её полное имя, которое часто включает префикс пользователя хостинга.

Далее необходимо создать пользователя базы данных и назначить ему пароль. Придумайте сложный пароль, содержащий буквы и цифры, так как эти данные будут прописаны в конфигурационных файлах в открытом виде. После создания пользователя обязательно предоставьте ему полные права (ALL PRIVILEGES) на созданную ранее базу данных. Без этого шага скрипт установки не сможет создать необходимые таблицы.

Версия PHP7.4 – 8.1

Старые версии не поддерживаются, новые могут вызвать ошибки совместимости

РасширенияMySQLi, GD, cURL

Должны быть активированы в настройках хостинга

Кодировкаutf8_general_ci

Рекомендуемая кодировка для корректного отображения ников

Загрузка файлов и настройка конфигурации

Скачайте актуальную версию SourceBans с официального репозитория или доверенного источника. Распакуйте архив на локальном компьютере. Внутри вы найдете папку с файлами веб-интерфейса. Используя FTP-клиент или файловый менеджер хостинга, загрузите содержимое папки (файлы index.php, config.php и другие) в корневую директорию вашего сайта или в отдельную подпапку, например, `/bans`.

После загрузки файлов перейдите в папку `/config` и найдите файл `db.php`. Откройте его для редактирования. В этом файле необходимо прописать данные, полученные на этапе создания базы данных. Замените значения по умолчанию на ваши: имя хоста (обычно localhost), имя пользователя, пароль и имя базы данных.

php
define('DB_HOST', 'localhost');
define('DB_USER', 'user_bans');
define('DB_PASS', 'strong_password');
define('DB_NAME', 'user_db_bans');

Обратите внимание, что в некоторых сборках конфигурационный файл может называться `config.php` и находиться в корне, а не в папке config. Внимательно изучите структуру загруженных файлов. Если файл конфигурации отсутствует, его часто можно скопировать из файла `db.php.sample`, убрав расширение `.sample`. Ошибка в написании имени базы или пароля приведет к тому, что установщик выдаст ошибку подключения при первом запуске.

Запуск мастера установки

Откройте веб-браузер и введите адрес, по которому вы разместили файлы панели (например, `http://ваш-сайт.ru/bans`). Автоматически запустится скрипт установки. На первом экране система проверит соответствие вашего сервера минимальным требованиям. Если какие-то расширения PHP отключены, вы увидите предупреждения красного цвета. В этом случае необходимо обратиться в поддержку хостинга для активации недостающих модулей, иначе работа панели будет невозможна.

Если все проверки пройдены успешно, нажмите кнопку продолжения. Следующий шаг — ввод данных администратора. Система предложит придумать логин и пароль для главного администратора панели, а также указать email для восстановления доступа. Не используйте простые пароли вроде `admin` или `12345`, так как панель администрирования является целью для хакерских атак.

На этапе настройки сайта вам предложат ввести название проекта и загрузить логотип. Эти данные будут отображаться в шапке веб-интерфейса. Также на этом этапе происходит непосредственное создание таблиц в базе данных. Скрипт выполнит SQL-запросы для формирования структуры хранения банов, комментариев, демо-записей и настроек серверов. Процесс может занять несколько секунд.

Подключение игрового сервера

После успешной установки и входа в панель управления под правами главного администратора, необходимо добавить игровой сервер в список контролируемых ресурсов. Перейдите в раздел «Серверы» (Servers) и нажмите кнопку «Добавить сервер». Заполните форму: укажите имя сервера, которое будет видеть пользователь в панели, и адрес подключения (IP:Port).

Критически важным полем является RCON-пароль. Этот пароль должен совпадать с паролем, прописанным в файле `server.cfg` вашего игрового сервера. RCON (Remote Console) позволяет панели отправлять команды на сервер, такие как добавление игрока в бан-лист или получение статуса сервера. Без правильного RCON-пароля панель не сможет управлять сервером, хотя сайт будет работать.

Порядок подключения сервера
  1. 1
    Укажите IP и порт игрового сервера в формате 123.45.67.89:27015
  2. 2
    Введите RCON-пароль, совпадающий с настройками server.cfg
  3. 3
    Выберите тип игры (Mod) из списка, например CS:GO или CSS
  4. 4
    Нажмите «Сохранить» и проверьте статус подключения

Выберите мод игры из выпадающего списка. Для Counter-Strike: Global Offensive обычно выбирают `csgo`, для Counter-Strike: Source — `cs`. От правильного выбора мода зависит набор доступных команд и отображение иконок оружия или карт в интерфейсе. После сохранения проверьте статус сервера в списке: зеленый индикатор означает успешное соединение, красный — ошибку подключения.

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

Веб-панель сама по себе не банит игроков в игре, она лишь хранит запись о нарушении. Для реализации блокировок на игровой сервер необходимо установить плагин SourceBans. Скачайте архив с плагинами для вашей версии игры с сайта разработчиков панели. В архиве обычно находятся папки `addons` и `cfg`.

Скопируйте содержимое папки `addons` из архива в директорию `addons` на вашем игровом сервере. Если у вас установлен MetaMod:Source и SourceMod (а они обязательны для работы SourceBans), файлы встанут в нужные директории автоматически. Особое внимание уделите файлу конфигурации плагина, который часто находится в `cfg/sourcemod/sb_pp_.cfg` или аналогичном месте.

В конфигурационном файле плагина на сервере необходимо прописать адрес базы данных, если вы используете общую базу, или настроить подключение к веб-панели через плагин. В современных версиях чаще используется метод, когда плагин просто считывает данные из базы, которую заполняет веб-интерфейс. Убедитесь, что в файле `databases.cfg` на сервере прописаны корректные данные доступа к той же базе MySQL, которую использует веб-панель.

Проверка работоспособности и отладка

После установки плагина перезапустите игровой сервер. Зайдите в игру и проверьте консоль. При правильном подключении вы должны увидеть сообщения о загрузке плагина SourceBans и успешном соединении с базой данных. Попробуйте выдать бан через веб-интерфейс на тестового игрока или на себя (с другого аккаунта).

Если бан не сработал, проверьте логи ошибок SourceMod на сервере (файл `errors.txt` в папке `sourcemod/logs`). Частой проблемой является рассинхронизация времени между веб-сервером и игровым сервером. Если часы на хостинге и на игровом сервере показывают разное время, временные блокировки могут истекать некорректно или не применяться вовсе.

Контрольные точки

Как проверить результат

Статус сервера в панели
Норма

Зеленая иконка, отображается количество игроков

Тревожный признак

Красная иконка, надпись Offline или RCON Auth Failed

Команда sm_ban в чате
Норма

Появляется меню бана или сообщение об успехе

Тревожный признак

Ошибка загрузки плагина или неизвестная команда

База данных
Норма

В таблице sb_bans появилась новая запись

Тревожный признак

Таблица пустая после попытки бана

Также проверьте права доступа к папкам на веб-хостинге. Папки для загрузки демо-записей или скриншотов (если функционал включен) должны иметь права на запись (обычно 755 или 777, в зависимости от настроек сервера). Если права слишком строгие, игроки не смогут отправлять жалобы через меню в игре.

Типичные ошибки и их решение

Одной из самых распространенных проблем является ошибка «RCON authentication failed». Это означает, что пароль, введенный в настройках сервера в панели, не совпадает с паролем в `server.cfg` игрового сервера, либо порт RCON закрыт фаерволом. Убедитесь, что порт RCON (обычно совпадает с игровым портом) открыт для входящих соединений в брандмауэре хостинга игрового сервера.

Другая частая ошибка — «Database connection failed» на стороне плагина. Это случается, когда игровой сервер не может достучаться до базы данных MySQL. Если база находится на удаленном хостинге, убедитесь, что в настройках MySQL разрешены подключения с IP-адреса вашего игрового сервера. По умолчанию многие хостинги разрешают подключения только с локального хоста (localhost).

Типичные ошибки
01
Неверный RCON-пароль приводит к невозможности выдачи банов через сайт
02
Отсутствие прав на запись в папку логов вызывает ошибки при сохранении демо-записей
03
Несовместимость версий PHP и SourceBans ломает верстку или блокирует вход

Если вы изменили префикс таблиц в базе данных вручную, не забудьте указать этот префикс в конфигурационных файлах. SourceBans по умолчанию использует префикс `sb_`. Если в базе таблицы называются `mybans_bans`, а в конфиге указано `sb_`, плагин не найдет нужные данные.

Расширенные настройки и управление

В разделе настроек панели можно активировать дополнительные функции, такие как автоматическое снятие банов по истечении срока, ведение демо-записей при выдаче наказания и интеграция с Steam-профилями. Включите опцию «Demo Upload», если хотите, чтобы при бане через меню в игре автоматически загружалась запись нарушения на сервер.

Для удобной работы создайте группы администраторов с разными правами доступа. Не выдавайте всем помощникам права главного администратора. Разграничьте права: кто-то может только кикать, кто-то — банить на короткое время, а кто-то — управлять сервером полностью. Это повысит безопасность вашего проекта и снизит риск злоупотреблений со стороны администрации.

Маршрут решения

Как выбрать действие

Сервер показывает статус Offline в панелиПроверьте RCON-пароль и доступность порта в фаерволе
Игроки жалуются на ложные баныПроверьте логи и демо-записи в разделе администрирования
Сайт загружается медленноОптимизируйте базу данных и включите кэширование на хостинге

Регулярно делайте резервные копии базы данных. В ней хранится вся история вашего проекта. Потеря этой информации равносильна потере репутации сервера, так как восстановить список нарушителей вручную практически невозможно. Настройте автоматический дамп базы раз в сутки через панель хостинга.

Можно ли установить SourceBans на бесплатный хостинг?

Технически это возможно, если хостинг поддерживает PHP нужной версии и базы данных MySQL без ограничений на количество подключений. Однако бесплатные хостинги часто имеют низкую производительность и строгие лимиты, что приведет к медленной работе панели и частым разрывам соединения с игровым сервером. Для стабильной работы рекомендуется платный VPS или качественный веб-хостинг.

Что делать, если забыл пароль администратора от панели?

Пароль можно сбросить через базу данных. Зайдите в phpMyAdmin, найдите таблицу `sb_admins` (или `sb_admins_accounts` в новых версиях). Найдите запись своего аккаунта и измените поле пароля. Пароль хранится в хешированном виде, поэтому проще всего создать нового администратора через установку или использовать скрипт сброса, если он предусмотрен версией панели.

Почему баны не снимаются автоматически по истечении времени?

Для автоматического снятия банов необходим настроенный Cron-задача на хостинге, которая будет периодически запускать скрипт проверки истекших сроков. Если Cron не настроен, баны будут висеть в базе бессрочно до ручного снятия администратором. Проверьте настройки задач в панели хостинга и пропишите путь к скрипту `page.php?p=banlist` или специализированному cron-скрипту SourceBans.

Как перенести SourceBans на другой хостинг?

Необходимо сделать полный дамп базы данных и скачать все файлы панели со старого хостинга. На новом хостинге создайте базу, импортируйте дамп, загрузите файлы и отредактируйте `db.php` с новыми данными доступа. Не забудьте также обновить настройки подключения в плагине на игровом сервере, если изменился IP адрес базы данных.

Совместима ли SourceBans с Counter-Strike 2?

Классическая версия SourceBans разрабатывалась для движка Source 1. Для Counter-Strike 2 (Source 2) требуется использование форков или новых версий панели, таких как SourceBans++ или адаптации под новый API SteamWorks. Старые плагины могут не работать корректно из-за изменений в структуре игровых файлов и протоколах связи.

Нужно ли открывать дополнительные порты для работы панели?

Веб-панель использует стандартный 80 (HTTP) или 443 (HTTPS) порт для доступа пользователей. Для связи с игровым сервером используется RCON-порт, который по умолчанию совпадает с игровым портом (например, 27015). Убедитесь, что этот порт открыт для исходящих соединений со стороны веб-хостинга и входящих со стороны игрового сервера.