Игровой сервер на VPS: пример CS2, требования к ресурсам и безопасность
Общие шаги настройки игрового сервера через SteamCMD: пользователь, установка, порты брандмауэра, служба systemd и мониторинг.
Руководства · 1 мин чтения
Собственный игровой сервер позволяет самим задавать правила, плагины и список игроков. В руководстве описана общая логика установки dedicated-серверов на базе Steam (на примере CS2); похожие шаги подходят для многих других игр.
Требования к ресурсам
- CPU: игровые серверы обычно чувствительны к производительности одного ядра. Высокая частота и выделенные ядра снижают задержки; для этого подходят тарифы с выделенными ядрами из семейства Max Performance (VDS) (см. Сравнение CPU VDS и VPS).
- Память: для большинства конфигураций начало — 4–8 ГБ; растёт с плагинами и числом игроков.
- Диск: файлы игры могут занимать десятки ГБ. Проверьте размер установки на странице игры в Steam и оставьте запас.
- Сеть: качество соединения и задержки определяют впечатление игроков; выберите локацию ближе к игрокам (см. Наши дата-центры).
1. Подготовка
В Ubuntu 24.04 включите поддержку 32-битных библиотек и установите SteamCMD:
sudo apt update && sudo apt install -y software-properties-common
sudo add-apt-repository -y multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1
Если при установке спросят о лицензионном соглашении Steam, примите его.
2. Отдельный пользователь для сервера
sudo adduser --disabled-password --gecos "" gameserver
sudo -iu gameserver
Никогда не запускайте игровой сервер от root; при взломе ущерб будет ограничен этим пользователем.
3. Установите игру
/usr/games/steamcmd +force_install_dir /home/gameserver/cs2 +login anonymous +app_update 730 validate +quit
730 — идентификатор приложения dedicated-сервера CS2 в Steam. Для обновления достаточно снова выполнить команду.
4. Запустите
cd /home/gameserver/cs2
./game/bin/linuxsteamrt64/cs2 -dedicated +map de_dust2 +sv_setsteamaccount SERVER_TOKEN
Для серверов, видимых в интернете, создайте в своём аккаунте Steam токен входа игрового сервера (GSLT), который требует игра, и передайте его через +sv_setsteamaccount. Никому не сообщайте токен.
5. Брандмауэр
Откройте игровой порт (для CS2 по умолчанию 27015, UDP и TCP):
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
Держите пароль RCON (удалённого управления) надёжным и, по возможности, открывайте порт RCON только для своего IP-адреса:
sudo ufw allow from 203.0.113.50 to any port 27015 proto tcp
6. Постоянная работа: systemd
Чтобы сервер запускался автоматически после перезагрузок, создайте /etc/systemd/system/cs2.service:
[Unit]
Description=CS2 Dedicated Server
After=network.target
[Service]
User=gameserver
WorkingDirectory=/home/gameserver/cs2
ExecStart=/home/gameserver/cs2/game/bin/linuxsteamrt64/cs2 -dedicated +map de_dust2
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now cs2
sudo journalctl -u cs2 -f
Мониторинг и обслуживание
- Обновления: при выходе обновления игры сервер сообщает о несовпадении версий; остановите службу и снова выполните команду
app_update. - Ресурсы: следите за CPU и памятью через
htop; если задержки растут с числом игроков, повысьте тариф. - Копии: сохраняйте конфигурацию и плагины; перед крупными изменениями делайте снимок.
- Атаки: игровые серверы часто становятся целью; настройте брандмауэр и следуйте чек-листу безопасности.
При эксплуатации игрового сервера соблюдайте условия использования игры и лицензионные правила.
Начните с Melinhost
Наши облачные серверы с выделенными ядрами и при необходимости выделенные серверы дают хорошую основу для игровых серверов.