Установка и запуск сервера counter strike 2 на операционных системах Debian и Ubuntu.

Приветствую вас, уважаемые читатели. В этой статье мне хотелось бы рассказать вам об установке сервера Counter-Strike 2 на операционных системах Debian и Ubuntu. Статья будет актуальна для всех версий операционных систем и по ходу дополняться в случае каких-либо изменений. Если вы будете всё делать в точности как указано в данной статье, то в конце у вас будет полностью готовый и рабочий сервер.

Не хотите возиться вручную? Я написал автоматический установщик cs2-install - он сам ставит зависимости, качает игру, создаёт серверы через симлинки и даёт удобную команду cs2 для управления. Если вам нужен готовый инструмент «поставил и забыл» - загляните в репозиторий. Ниже же разберём установку с нуля своими руками, чтобы понимать, как всё устроено изнутри.

Что понадобится

Для начала разберёмся с железом. Сервер CS2 не самый прожорливый, но и не лёгкий. На один игровой экземпляр комфортно иметь минимум 2 ГБ оперативной памяти, а если планируете несколько серверов на одной машине - считайте отдельно на каждый. Процессор - подойдёт любой относительно современный, желательно от 2 ядер. Диск - отдельная история: сама игра весит около 60+ ГБ, плюс место под логи, конфиги и плагины. Лучше SSD-диск для сервера - на HDD сервер будет долго стартовать и обновляться.

Нам потребуется установленный Debian или Ubuntu на VDS/Dedicated-сервере. Root-доступ обязателен. И ещё один момент: если хотите, чтобы сервер был виден в общем списке и к нему могли подключаться все желающие, понадобится GSLT-токен. Получить его можно на странице Steam Game Server Account Management - для CS2 выбираете App ID 730. Без токена сервер поднимется, но в браузере серверов его не будет.

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

Предположим, у вас абсолютно чистая система - только что установленная Debian или Ubuntu, вы ещё ничего на неё не ставили. Первое, что нужно сделать - зайти по SSH.

Откройте терминал или же отдельный клиент на своём компьютере и подключитесь:

ssh root@ВАШ_IP_АДРЕС

Вместо ВАШ_IP_АДРЕС подставьте реальный IP вашего сервера. При первом подключении система спросит, доверяете ли вы этому хосту - пишите yes и жмите Enter. Дальше введите пароль. Если всё прошло нормально, вы увидите приглашение командной строки - что-то вроде root@server:~#. Значит, вы внутри.

Подготовка системы

Прежде чем ставить игровой сервер - обновим систему и поставим базовые вещи. Это стандартная процедура, без неё дальше могут вылезти ошибки с зависимостями.

apt update && apt upgrade -y

apt update обновляет список пакетов, apt upgrade - сами пакеты. На чистой системе это может занять несколько минут, это нормально.

Поставим пакеты, которые понадобятся дальше:

apt install -y curl wget tar gzip screen sudo locales lib32gcc-s1 nano lib32stdc++6

screen нужен, чтобы сервер работал в фоне после отключения от SSH. Остальное - библиотеки, без них CS2 просто не запустится.

Создание пользователя

Игровой сервер не стоит запускать от root - так и небезопасно, и SteamCMD может капризничать. Создадим отдельного пользователя:

useradd -m -s /bin/bash cs2

Появится cs2 пользователь, у него будет домашняя папка /home/cs2. Дальше всю игру будем ставить от его имени.

Установка SteamCMD

SteamCMD - это консольный клиент Steam для скачивания dedicated-серверов. Ставим его в /opt/steamcmd:

mkdir -p /opt/steamcmd

cd /opt/steamcmd

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

chown -R cs2:cs2 /opt/steamcmd

Проверим, что всё на месте:

ls -la /opt/steamcmd/steamcmd.sh

Должен быть исполняемый файл steamcmd.sh.

Скачивание сервера Counter-Strike 2

Теперь качаем саму игру. Переключимся на пользователя cs2 и запустим загрузку:

su - cs2

mkdir -p ~/cs2-server

/opt/steamcmd/steamcmd.sh +force_install_dir ~/cs2-server +login anonymous +app_update 730 validate +quit

Команда длинная, но логика простая:

  • +force_install_dir - куда положить файлы;
  • +login anonymous - вход без аккаунта, для dedicated-сервера этого хватает;
  • +app_update 730 - App ID Counter-Strike 2;
  • validate - проверка целостности файлов;
  • +quit - выход после загрузки.

Загрузка займёт достаточно времени и зависит от скорости канала. В конце должен быть такой ответ:

Success! App '730' fully installed.

Проверим бинарник:

ls -la ~/cs2-server/game/bin/linuxsteamrt64/cs2

Файл есть - можно идти дальше. Пока не выходите из сессии cs2, ещё пригодится.

Базовый конфиг сервера

Создадим простой server.cfg:

nano ~/cs2-server/game/csgo/cfg/server.cfg

Вставьте:

hostname "Мой CS2 сервер"

sv_lan 0
  • hostname - название, которое видят игроки в списке.
  • sv_lan 0 - сервер не локальный, доступен из интернета.

Сохраните: Ctrl+O, Enter, Ctrl+X.

Скрипт запуска

Чтобы каждый раз не набирать длинную команду для запуска сервера, сделаем скрипт:

nano ~/start.sh

Содержимое:

#!/bin/bash

cd ~/cs2-server

./game/cs2.sh -dedicated -console -usercon -game csgo \
+ip 0.0.0.0 \
-port 27015 \
-maxplayers 10 \
+game_type 0 \
+game_mode 0 \
+mapgroup mg_active \
+map de_dust2 \
+sv_setsteamaccount ВАШ_GSLT_ТОКЕН

Разберём по частям:

  • -dedicated - режим dedicated-сервера;
  • -console - консоль в терминале;
  • -port 27015 - игровой порт (стандартный);
  • -maxplayers 10 - максимум игроков;
  • +map de_dust2 - стартовая карта;
  • +sv_setsteamaccount - сюда вставьте GSLT-токен. Если тестируете без публичного листинга - эту строку можно убрать.

Сделаем скрипт исполняемым:

chmod +x ~/start.sh

Запуск сервера

Выйдем из пользователя cs2 обратно в root:

exit

Запустим сервер в фоновой screen-сессии:

su - cs2 -c "screen -dmS cs2-server bash ~/start.sh"

Через пару секунд проверим, что процесс жив:

su - cs2 -c "screen -ls"

Должна быть сессия cs2-server. Если есть - сервер работает.

Подключение к консоли

Чтобы зайти в консоль сервера и отправлять команды:

su - cs2 -c "screen -r cs2-server"

Выйти из консоли, не останавливая сервер: Ctrl+A, отпустите, затем D.

Остановить сервер:

su - cs2 -c "screen -S cs2-server -X quit"

Обновление сервера

Когда Valve выкатывает патч, обновить сервер можно так:

su - cs2 -c "/opt/steamcmd/steamcmd.sh +force_install_dir ~/cs2-server +login anonymous +app_update 730 validate +quit"

Перед обновлением лучше остановить сервер, после - запустить заново.

Автозапуск при перезагрузке

Если хотите, чтобы сервер поднимался сам после ребута, можно добавить в cron:

crontab -u cs2 -e

Строка:

@reboot sleep 30 && /home/cs2/start.sh

Но для надёжности лучше оформить это через systemd - это уже отдельная тема, если понадобится, допишу.


На этом, пожалуй, всё. Ручная установка чуть дольше, зато вы видите каждый шаг и можете настроить всё под себя. А если захотите упростить жизнь - в начале статьи есть ссылка на cs2-install, который берёт рутину на себя.

Если появятся вопросы или что-то устареет после очередного патча Valve - пишите, статью буду дополнять.