Обзор развертывания CS2 на сервере¶
Предварительные требования¶
Для корректной работы сервера должны быть соблюдены следующие условия:
-
Операционная система: Ubuntu (поддерживается архитектура i386).
-
Права доступа: права суперпользователя (root) для установки системных пакетов и создания директорий.
-
Сетевой доступ: возможность загрузки данных из репозиториев Ubuntu и серверов Steam.
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | plane |
| Домен | hostkey.in |
| Полный шаблон | plane{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/opt/cs2— корневая директория установки игровых файлов. -
/opt/cs2/game/game/cfg/— папка с конфигурационными файлами сервера. -
/root/.steam/sdk64/— системная директория для библиотек Steam SDK. -
/var/log/cs2server.log— файл логов работы игрового сервера. -
/tmp/cs2server.pid— файл процесса (PID) запущенного сервера.
Процесс установки приложения¶
Установка выполняется путем настройки системного окружения и загрузки игровых файлов через SteamCMD:
-
Подготовка системы:
-
Включение репозитория
multiverse. -
Добавление архитектуры
i386для поддержки библиотек. -
Обновление всех системных пакетов до последних версий.
-
Настройка окружения Steam:
-
Создание директории
/opt/cs2. -
Установка пакета
steamcmdчерез менеджер пакетовapt. -
Загрузка и распаковка официального дистрибутива
steamcmd_linux.tar.gzв/opt/cs2. -
Создание необходимых директорий для библиотек SDK (
/root/.steam/sdk64). -
Установка игровых файлов:
-
Автоматизированный запуск
steamcmd.shс параметрами установки игры (AppID 730) в анонимном режиме. -
Копирование необходимой библиотеки
steamclient.soиз папки игры в системную директорию SDK для обеспечения корректной работы сервера. -
Конфигурация:
-
Размещение файла конфигурации
cs2server.cfg. -
Установка скрипта управления сервером.
Права доступа и безопасность¶
-
Директория
/opt/cs2имеет права0755. -
Файлы конфигурации и скрипты управления имеют владельца
rootи права доступа0755. -
Для работы сервера требуется наличие установленных библиотек в системных путях пользователя.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-сервера и автоматического получения SSL-сертификатов используется один контейнер:
| Имя образа | Порты | Тома (volumes) | Переменные окружения | Политика перезапуска |
|---|---|---|---|---|
jonasal/nginx-certbot:latest | host mode | nginx_secrets:/etc/letsencrypt/data/nginx/user_conf.d:/etc/nginx/user_conf.d | CERTBOT_EMAIL=hkadm@hostkey.com | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В системе используется управляющий скрипт для управления процессом игры:
Скрипт управления сервером: /root/cs2server.sh Предназначен для выполнения следующих действий:
-
start: Запуск сервера в фоновом режиме (nohup) с использованием конфигурации изcs2server.cfg. Создает PID-файл. -
stop: Остановка процесса по его ID, указанному в PID-файле. -
restart: Перезагрузка сервера (остановка и последующий запуск). -
status: Проверка состояния процесса: запущен ли сервер или процесс был завершен некорректно.
Инструкция по обновлению приложения¶
Для обновления игровых файлов необходимо использовать стандартную процедуру через SteamCMD, которая выполняет проверку целостности и загрузку актуальных версий (аналогично команде app_update 730 validate).
Расположение конфигурационных файлов и данных¶
-
Конфигурация сервера:
/opt/cs2/game/game/csgo/cfg/cs2server.cfg -
Логи приложения:
/var/log/cs2server.log
Доступные порты для подключения¶
Приложение использует сетевой режим host, что означает использование стандартных игровых портов Steam (требуется предварительная настройка брандмауэра на уровне ОС).
Запуск, остановка приложения¶
Управление сервером осуществляется через скрипт /root/cs2server.sh:
-
Запуск:
-
Остановка:
-
Перезагрузка:
-
Проверка статуса: