Перейти к содержимому
Multigaming

Установка сервера Multigaming

Это универсальное руководство готовит машину с Linux (Ubuntu или Debian) либо Windows Server к размещению любого игрового сервера: выбор хостера, пользователь без root, ключи SSH, файрвол, fail2ban, SteamCMD, Docker, служба systemd, мониторинг и бэкапы. Потребуется 1–2 часа; затем следуйте руководству по установке вашей игры.

Последнее обновление: 09.10.2026

Это универсальное руководство готовит машину с Linux (Ubuntu или Debian) либо Windows Server к размещению любого игрового сервера: выбор хостера, пользователь без root, ключи SSH, файрвол, fail2ban, SteamCMD, Docker, служба systemd, мониторинг и бэкапы. Потребуется 1–2 часа; затем следуйте руководству по установке вашей игры.

Пошаговая установка

  1. Выберите хостера и тариф (см. «Выбор хостера») и закажите VPS или выделенный сервер с Ubuntu LTS или Debian stable.

  2. Подключитесь по SSH под выданным root и обновите систему.

  3. Создайте пользователя без root с sudo; никогда не запускайте игровой сервер от root.

  4. Установите публичный ключ SSH и отключите вход под root и по паролю.

  5. Включите файрвол ufw: запретить весь входящий трафик, разрешить SSH и порты игры.

  6. Установите fail2ban для блокировки повторяющихся попыток входа по SSH.

  7. Установите SteamCMD (игры Steam) или Docker (образы сообщества) в зависимости от игры.

  8. Установите игровой сервер по руководству вашей игры и откройте его порты (инструмент «Проверка портов»).

  9. Создайте службу systemd (или сессию tmux) для автозапуска и перезапуска сервера.

  10. Настройте мониторинг (логи, ресурсы) и проверенные плановые бэкапы.

Выбор хостера и тарифа

  • VPS (от нескольких евро в месяц): хватит для небольшого сервера; проверьте, что CPU не слишком разделён, ведь большинству игр нужно одно быстрое ядро.
  • Выделенный: для нескольких серверов или многих слотов; берите SSD/NVMe и высокую частоту CPU.
  • Критерии: расположение рядом с игроками (задержка), встроенная защита от DDoS, безлимитный трафик или достаточная квота, сетевой файрвол («security group»), снапшоты, поддержка. Ресурсы оцените «Калькулятором ресурсов сервера».

Первый вход и пользователь без root

Замените 203.0.113.10 на IP вашего сервера, а gameadmin — на нужное имя:

ssh [email protected]
apt update && apt upgrade -y
adduser gameadmin
usermod -aG sudo gameadmin

Ключи SSH и усиление sshd

На своём компьютере: ssh-keygen -t ed25519, затем ssh-copy-id [email protected]. ПЕРЕД отключением паролей проверьте вход по ключу во втором терминале, затем создайте /etc/ssh/sshd_config.d/99-hardening.conf (Ubuntu 22.04+, Debian 12):

# /etc/ssh/sshd_config.d/99-hardening.conf
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

# Apply: sudo sshd -t && sudo systemctl reload ssh

Файрвол ufw

Разрешите SSH до включения ufw, чтобы не заблокировать себя. Затем добавьте порты игры (пример FiveM: 30120 TCP и UDP; порты каждой игры есть в «Проверке портов», а инструмент «Правила файрвола» генерирует команды). Продублируйте их в сетевом файрволе хостера (OVH, Hetzner, Scaleway…: «security group»).

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw enable
sudo ufw status verbose

fail2ban

fail2ban временно банит адреса, которые несколько раз неудачно входят. Создайте /etc/fail2ban/jail.local (jail.conf не редактируйте):

# sudo apt install fail2ban
# /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h

# sudo systemctl enable --now fail2ban
# sudo fail2ban-client status sshd

SteamCMD (игры Steam)

Ручная установка из официального архива Valve (под gameadmin, не root). Замените APPID на ID выделенного сервера вашей игры (см. SteamDB или руководство игры). Некоторым серверам нужен аккаунт Steam вместо «anonymous»: смотрите документацию игры.

sudo apt install -y lib32gcc-s1 curl ca-certificates
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/server +login anonymous +app_update APPID validate +quit

Docker (образы сообщества)

Скрипт Docker подходит для тестов; в продакшене следуйте установке из apt-репозитория на docs.docker.com. После добавления в группу docker нужно перезайти. Контейнеры, опубликованные через -p, обходят ufw: ограничивайте их ещё и файрволом хостера.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker gameadmin
# log out, log back in, then:
docker run --rm hello-world

Служба systemd

Создайте /etc/systemd/system/gameserver.service (подставьте User, WorkingDirectory и ExecStart под скрипт запуска вашей игры), затем: sudo systemctl daemon-reload && sudo systemctl enable --now gameserver. Логи: journalctl -u gameserver -f.

[Unit]
Description=Game server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=gameadmin
WorkingDirectory=/home/gameadmin/server
ExecStart=/home/gameadmin/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Альтернатива: tmux

tmux сохраняет сервер работающим после отключения SSH и даёт доступ к его консоли (удобно для команд). Отсоединиться: Ctrl+B, затем D. Он не перезапускает сервер после сбоя или перезагрузки: в продакшене предпочтите systemd.

sudo apt install -y tmux
tmux new -s game
# inside tmux: run ./start.sh, then press Ctrl+B then D
tmux attach -t game

Вариант с Windows Server

Подключитесь по удалённому рабочему столу (ограничьте порт 3389 своим IP или используйте VPN), установите SteamCMD или игровой сервер в C:\gameserver, откройте порты в PowerShell (администратор) и запускайте сервер при загрузке задачей планировщика. Запланируйте перезагрузки Windows Update, чтобы избежать неожиданных простоев.

New-NetFirewallRule -DisplayName "Game UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
New-NetFirewallRule -DisplayName "Game TCP 27015" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
schtasks /Create /TN "GameServer" /TR "C:\gameserver\start.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST /F

Хостинг дома: проброс портов

  • Назначьте машине фиксированный локальный IP (резервирование DHCP на роутере).
  • На роутере пробросьте (NAT) каждый порт игры с нужным протоколом на этот локальный IP.
  • Откройте и файрвол самой машины. Проверяйте снаружи (4G/5G), а не из локальной сети.
  • Если провайдер использует CGNAT (нет выделенного публичного IP), проброс невозможен: запросите публичный IP или используйте VPS либо туннель.
  • Публикация личного IP сопряжена с рисками (целевые DDoS): для публичного сервера безопаснее защищённый VPS.

Заметки о DDoS-атаках

  • Файрвола машины недостаточно против объёмной атаки: защита должна быть выше по цепочке, у хостера.
  • Проверьте, что покрывает anti-DDoS тарифа (UDP/игровые протоколы, режим «gaming»): у разных хостеров это не одно и то же.
  • Не раскрывайте исходный IP, если используете прокси или туннель; не открывайте RCON и веб-консоли.

Мониторинг

Полезные команды: логи службы, реально слушаемые порты (сверьте с файрволом), нагрузка CPU/RAM и место на диске. Для постоянного мониторинга добавьте Netdata или Prometheus с оповещениями по RAM и диску.

journalctl -u gameserver -f
sudo ss -lntup
htop
free -h
df -h

Резервные копии

Ежедневно копируйте мир и конфигурацию, храните несколько версий и выносите их за пределы сервера. Инструмент «Генератор скрипта резервного копирования» создаёт полный скрипт с ротацией; минимальный пример (crontab):

30 4 * * * tar -czf /backups/gameserver-$(date +\%Y\%m\%d).tar.gz -C /home/gameadmin server && find /backups -name 'gameserver-*.tar.gz' -mtime +7 -delete

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

  • Игроки не могут подключиться: проверьте протокол (UDP или TCP), ufw, файрвол хостера и то, что сервер действительно слушает порт (sudo ss -lntup).
  • «Permission denied (publickey)»: ключа нет в ~/.ssh/authorized_keys пользователя либо права слишком открыты (chmod 700 ~/.ssh, chmod 600 ~/.ssh/authorized_keys).
  • Сервер убивается («Killed», OOM): не хватает памяти; проверьте «dmesg | grep -i oom», добавьте RAM или уменьшите слоты и моды. Файл подкачки уменьшает вылеты, но замедляет работу.
  • Служба бесконечно перезапускается: прочитайте «journalctl -u gameserver -n 100»; проверьте пути, права (сервер должен принадлежать gameadmin) и отсутствие 32-битных библиотек для SteamCMD.
  • Сервер не виден в списке: порт запросов (query) закрыт или сервер не зарегистрирован; добавьте его на game-rank.com/jeux.

Частые вопросы

VPS или выделенный сервер для игрового сервера?
Для небольшого сервера или тестов хватит VPS. Переходите на выделенный сервер, если нужно несколько серверов, много слотов или стабильная производительность (без «шумных соседей»).
Ubuntu или Debian?
Подходят оба, команды почти одинаковы. Выберите поддерживаемую версию (Ubuntu LTS или Debian stable) и сверьтесь с совместимостью, заявленной издателем игры.
Действительно ли нужно отключать вход под root и по паролю?
Настоятельно рекомендуется: на открытые серверы приходят тысячи попыток в день. Ключ SSH и пользователь без root снимают основную часть риска; держите под рукой консоль восстановления у хостера.
Docker или прямая установка?
Прямая установка через SteamCMD и systemd проще всего и лучше документирована издателями. Docker изолирует и облегчает запуск нескольких серверов на одной машине, но добавляет слой, который нужно понимать (сеть, тома, файрвол).

Инструменты для сервера Multigaming

Multigaming
MultigamingСвободный доступ
Порты по умолчанию для FiveM, Minecraft, Rust, DayZ, ARK, Valheim, Palworld, CS2, Arma… и проверка вашего списка открытых портов.
ПортыСетьОткрыть
Документация
Multigaming
MultigamingСвободный доступ
Админ-команды по играм (Minecraft, Rust, ARK, Palworld, DayZ, CS2…) с вашими параметрами, готовые к копированию. Без сети.
RCONАдминистрированиеОткрыть
Документация
Multigaming
MultigamingСвободный доступ
Создайте cron, таймер systemd или задачу Windows (schtasks) с предупреждениями игрокам по RCON перед каждым перезапуском.
ПерезапускРасписаниеОткрыть
Документация
Multigaming
MultigamingСвободный доступ
Оцените CPU, RAM, диск и канал игрового сервера по числу слотов — формулы видны, допущения редактируются.
Подбор ресурсовСтоимостьОткрыть
Документация
Multigaming
MultigamingСвободный доступ
Превратите список портов в правила ufw, iptables, nftables или Windows netsh для игрового сервера.
ФайрволБезопасностьОткрыть
Документация
Multigaming
MultigamingНужен вход
Сравните два файла конфигурации (INI, CFG, JSON): различия по строкам и по ключам, локально в браузере.
DiffКонфигурацияОткрыть
Документация
Multigaming
MultigamingНужен вход
Создайте скрипт резервного копирования bash или PowerShell (tar, 7z, rsync/robocopy) с ротацией, остановкой службы и строкой cron.
Резервные копииСкриптыОткрыть
Документация