Перейти до вмісту
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.
Резервні копіїСкриптиВідкрити
Документація