Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Кратко о задаче
Один из самых важных вопросов, который встает перед каждым, кто задумывается о создании своего игрового сервера, — это выбор надежного провайдера. Стабильность работы, низкий пинг, бесперебойный аптайм и отзывчивая техническая поддержка — ключевые факторы для комфортной и беспроблемной игры. Размещение сервера на домашнем компьютере сопряжено с рисками: динамический IP-адрес, нестабильный канал, высокий пинг для игроков из других регионов и необходимость круглосуточно держать ПК включенным. Заказ виртуального сервера (VPS) решает все эти проблемы, предоставляя мощное и стабильное оборудование в профессиональном дата-центре.
Для нашего сервера CS2 мы выберем VDS от Simple-Server. Simple-Server предлагает клиентам разнообразный выбор конфигураций виртуальных серверов, которые подойдут для самых разных задач.
Для создания простого сервера нам хватит следующей конфигурации:
Ее будет вполне достаточно для комфортной игры в кругу друзей, примерно на 8-10 человек. Если же вы задумываетесь о чем-то большем — например, о публичном сервере с регулярной активностью 20+ игроков, о запуске сложных модов с большим количеством плагинов (например, MetaMod, SourceMod) — то стоит рассмотреть более дорогой и производительный тариф с запасом ресурсов. В Simple-Server нет никаких проблем с масштабированием — вы всегда можете начать с малого и в любой момент апгрейднуть конфигурацию виртуального сервера в несколько кликов.
Система, на которой будет запускаться сервер, – Ubuntu 24.04 LTS (Noble Numbat). Это стабильная и популярная версия дистрибутива, что гарантирует отсутствие проблем с совместимостью и обилие готовых инструкций в сети.
Для начала подключимся к нашему серверу по SSH, подробнее в нашей статье.
Для создания сервера нам необходимо установить Docker и Docker compose. Для этого:
- Установите вспомогательные пакеты:
Установите вспомогательные пакеты:
sudo apt install curl software-properties-common ca-certificates apt-transport-https -y-
* `curl` — инструмент для передачи данных и работы с URL-адресами;
* `software-properties-common` — предоставляет скрипты для управления ПО;
* `ca-certificates` — необходим для безопасной передачи данных и подтверждения подлинности сертификатов;
* `apt-transport-https` — позволяет работать с репозиториями, которые передают данные по протоколу HTTPS.curl— инструмент для передачи данных и работы с URL-адресами;software-properties-common— предоставляет скрипты для управления ПО;ca-certificates— необходим для безопасной передачи данных и подтверждения подлинности сертификатов;apt-transport-https— позволяет работать с репозиториями, которые передают данные по протоколу HTTPS.
- Добавьте репозиторий Docker:
Добавьте репозиторий Docker:
- Повторно обновите индексы пакетов APT:
Повторно обновите индексы пакетов APT:
sudo apt install docker-ce -yПосле завершения установки проверьте, что Docker работает корректно:
sudo systemctl status dockerЭта команда покажет статус Docker, указывая, что он активен и запущен.
Отлично. Мы скачали Docker.
Развертывание сервера CS2
Этот этап можно условно разделить на две части: получение специального ключа от Steam и непосредственная настройка контейнера с сервером.
Получение SRCDS-токена (Game Server Login Token, GSLT)
Чтобы ваш сервер был легальным и полнофункциональным, ему необходим уникальный ключ для аутентификации в сети Steam. Без этого токена сервер будет считаться анонимным и будет серьезно ограничен в возможностях (помечен как «pirate», на нем не будут работать некоторые функции).
Требования к аккаунту Steam:
- Аккаунт не должен иметь банов (VAC или Game Ban) в любой игре.
- Аккаунт не должен быть ограничен (Community Ban) — например, не может добавлять друзей, торговать.
- К аккаунту должен быть привязан и подтвержден номер мобильного телефона (Steam Guard).
- На аккаунте должна быть добавлена в библиотеку игра CS2 (любая покупка в магазине Steam, превышающая $5, также снимает это ограничение).
- Максимальное количество токенов, которые можно создать на одном аккаунте, — 1000.
- Авторизуйтесь в Steam в вашем браузере.
- Перейдите на официальную страницу управления игровыми серверами.
- В нижней части страницы найдите форму «Create New Game Server Login Token».
- В поле «App ID» введите цифру 730 — это уникальный идентификатор Counter-Strike 2 в системе Steam.
- В поле «Memo» вы можете ввести любое напоминание для себя (например, «Мой сервер CS2 на Simple-Server»).
- Нажмите кнопку «Create».
Система выдаст вам длинную строку из букв и цифр — это ваш токен. Скопируйте и сохраните его в надежное место (например, в файл на компьютере). Этот токен понадобится на следующем шаге.
Важно! Этот токен является паролем для доступа к вашему серверу от лица вашего аккаунта. Не публикуйте его в открытом доступе и не передавайте третьим лицам.
Настройка и запуск сервера
Теперь вернемся к терминалу нашего сервера. Мы будем использовать готовое решение в виде Docker-контейнера, которое значительно упрощает процесс установки и обновления игрового сервера.
- Проверка установки Docker Compose.
Проверка установки Docker Compose.
Современные версии Docker уже включают плагин Compose. Проверим это:
sudo docker -v && sudo docker compose versionВ выводе вы должны увидеть версии Docker и Docker Compose, что подтвердит их готовность к работе.
- Создание рабочей директории.
Создание рабочей директории.
Все файлы конфигурации сервера лучше хранить в отдельной папке для порядка.
mkdir cs2server && cd cs2server- Загрузка конфигурационного файла
docker-compose.yml.
Загрузка конфигурационного файла docker-compose.yml.
Вместо того чтобы создавать файл вручную, мы воспользуемся готовым примером из популярного репозитория. Загрузим его прямо на сервер:
- Создание файла конфигурации
.env.
Создание файла конфигурации .env.
Это самый важный файл, в котором хранятся все чувствительные данные и настройки вашего сервера. Создадим его:
- В открывшийся текстовый редактор нужно вставить следующие параметры, заменив
сгенерированный_ранее_токенна GSLT-токен, который вы получили на предыдущем шаге.
В открывшийся текстовый редактор нужно вставить следующие параметры, заменив сгенерированный_ранее_токен на GSLT-токен, который вы получили на предыдущем шаге.
# Обязательные параметры
SRCDS_TOKEN=сгенерированный_ранее_токен
# Пароль для доступа к RCON (удаленное управление сервером)
CS2_RCONPW=Ваш_Сложный_Password_1
# Пароль для подключения к самому серверу (оставьте пустым для публичного)
CS2_PW=
# Название вашего сервера, которое увидят игроки в списке
CS2_SERVERNAME=Мой Крутой Сервер CS2
# Пароль для телевидения (GOTV)
TV_PW=Ваш_Сложный_Password_2
# Дополнительные настройки (можно настроить позже)
CS2_PORT=27015
CS2_TV_PORT=27020
CS2_IP=0.0.0.0
CS2_MAXPLAYERS=10
CS2_MAP=de_dust2
CS2_GAMETYPE=0
CS2_GAMEMODE=1После заполнения нажмите Ctrl+O для сохранения файла, затем Enter для подтверждения и Ctrl+X для выхода из редактора nano.
- Базовая настройка
docker-compose.yml(опционально).
Базовая настройка docker-compose.yml (опционально).
Откроем файл docker-compose.yml, чтобы бегло проверить и, при желании, изменить некоторые параметры:
Вы увидите структуру файла. Здесь вы можете напрямую изменить такие параметры, как:
CS2_SERVERNAME— название вашего сервера, которое увидят игроки.CS2_RCONPW— пароль для удаленного управления сервером через RCON-консоль.CS2_PW— пароль для подключения к серверу. Если вы хотите, чтобы сервер был публичным, оставьте пустым:"".TV_PW– пароль для зрителей на GOTV.- ./cs2/csgo:/home/steam/cs2-dedicated/csgo— эта строка отвечает за подключение папки с конфигами на вашем сервере к папке внутри контейнера. Это позволяет сохранять ваши настройки после обновлений.
После просмотра и внесения изменений, если они были, сохраните файл (Ctrl+O, Enter, Ctrl+X).
Запустим контейнер в фоновом режиме:
sudo docker compose up -dКлюч -d означает «detached», то есть контейнер будет работать в фоне, а вы сможете дальше работать в терминале.
- Мониторинг процесса запуска.
Мониторинг процесса запуска.
Сервер не запустится мгновенно. Docker сначала скачает образ с сервером CS2, а затем начнется процесс его инициализации и загрузки игровых файлов. Это может занять довольно много времени (десятки минут), так как объем файлов игры очень большой.
Наблюдать за процессом можно с помощью команд:
- Общая информация о состоянии контейнера:
Общая информация о состоянии контейнера:
- Просмотр логов в реальном времени (очень полезная команда для отслеживания прогресса):
Просмотр логов в реальном времени (очень полезная команда для отслеживания прогресса):
sudo docker compose logs -fДля выхода из режима слежения за логами нажмите комбинацию Ctrl+C.
- Просмотр только последних записей в логах:
Просмотр только последних записей в логах:
В логах вы увидите, как сервер скачивает и обновляет CS2.
О завершении процесса и успешном запуске будет говорить строка, похожая на:
[S_API] SteamNETSockets startup successfulВажно! Не прерывайте процесс и не выключайте сервер, пока загрузка не завершится. Дождитесь сообщения о готовности.
Поздравляем! Если вы видите в логах сообщение об успешном запуске, значит, ваш сервер CS2 уже работает и, скорее всего, виден в списке общедоступных серверов в игре. Далее переходим к его тестированию и тонкой настройке.
Подключение к серверу и базовое управление
Итак, теперь мы можем зайти на свой собственный сервер.
- Включите консоль разработчика. Это обязательный шаг. Зайдите в настройки CS2 → «Игра» → «Дополнительные настройки» и активируйте опцию «Включить консоль разработчика».
Включите консоль разработчика. Это обязательный шаг. Зайдите в настройки CS2 → «Игра» → «Дополнительные настройки» и активируйте опцию «Включить консоль разработчика».
- Найдите публичный IP-адрес вашего VDS-сервера. Он указан в вашей панели управления Simple-Server, на Дашборде сервера.
Найдите публичный IP-адрес вашего VDS-сервера. Он указан в вашей панели управления Simple-Server, на Дашборде сервера.
- Откройте консоль в игре. По умолчанию клавиша ~ (тильда, находится под Esc).
Откройте консоль в игре. По умолчанию клавиша ~ (тильда, находится под Esc).
- Введите команду подключения. Стандартный порт для CS2 — 27015. Команда будет выглядеть так:
connect 123.123.123.123. Замените123.123.123.123на реальный IP-адрес вашего сервера.
Введите команду подключения. Стандартный порт для CS2 — 27015. Команда будет выглядеть так: connect 123.123.123.123. Замените 123.123.123.123 на реальный IP-адрес вашего сервера.
Если вы установили пароль на сервер (параметр CS2_PW), сначала нужно ввести: password ваш_пароль_от_сервера, а уже потом команду connect.
После подключения мы можем начинать игру на нашем личном сервере.
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.