У посібнику описано встановлення виділеного сервера Soulmask: спочатку локально на Windows для перевірки, потім на VPS або виділеному сервері. Система: Linux або Windows. На першу установку закладайте 30–60 хвилин без урахування завантаження.
Покрокове встановлення
Перевірте вимоги (CPU, RAM, диск) і виберіть хост: ПК з Windows, VPS або виділений сервер.
Встановіть SteamCMD і завантажте сервер (застосунок Steam 3017300 / 3017310).
У Linux створіть звичайного користувача (не root) і окрему папку; у Windows — просту папку (наприклад, C:\server).
Запустіть сервер один раз, щоб він створив файли конфігурації, потім коректно зупиніть його.
Налаштуйте назву, пароль і кількість слотів (файли можна створити нашими інструментами Soulmask).
Відкрийте порти 8777/UDP, 27015/UDP у брандмауері системи та провайдера; при розміщенні вдома прокиньте їх на роутері.
Перевірте локально (127.0.0.1), потім із зовнішньої мережі.
Створіть службу systemd (Linux) або завдання планувальника (Windows) для автозапуску.
Налаштуйте резервне копіювання та оновлення сервера.
Додайте сервер на game-rank.com/jeux/soulmask, щоб про нього дізналися.
Вимоги
- Система: Linux або Windows.
- Обладнання (орієнтир спільноти, неофіційно): RAM 16 GB min.; диск —.
- Обліковий запис Steam: SteamCMD завантажує сервер з анонімним входом; гра потрібна лише гравцям.
- Мережа: публічна IP (або проброс портів) і відкриті порти 8777/UDP, 27015/UDP.
- Доступ: SSH (Linux) або віддалений робочий стіл (Windows Server); рекомендовано SSD.
Локальне встановлення (Windows)
Встановіть SteamCMD (steamcmd.exe) в окрему папку та виконайте команди нижче в командному рядку. Потім запустіть сервер і підключіться з гри до 127.0.0.1.
steamcmd +force_install_dir C:\soulmask-server +login anonymous +app_update 3017310 validate +quit
cd C:\soulmask-server
REM create StartServer.bat with our Soulmask generator, then run it
StartServer.batВстановлення на Linux VPS або виділений сервер (Ubuntu/Debian)
Створіть окремого користувача без прав root, встановіть 32-бітні залежності SteamCMD і завантажте сервер. Ім'я користувача й папки змініть на власний розсуд.
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install -y curl tar lib32gcc-s1
sudo adduser --disabled-password --gecos "" soulmask
# then, as the soulmask user (sudo -iu soulmask):
mkdir -p ~/steamcmd ~/soulmask-server && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/soulmask-server +login anonymous +app_update 3017300 validate +quitПорти для відкриття
Значення за замовчуванням; трафік вхідний (до сервера).
Щоб змінити порт, виправте його в конфігурації сервера або рядку запуску (-Port, -QueryPort, -EchoPort) і оновіть правила брандмауера.
- 8777/UDP — ігровий трафік
- 27015/UDP — запити Steam / список серверів
- 18888/TCP — консоль telnet (лише локально, не відкривати)
- 19000/TCP — RCON (необов'язково, не відкривайте без надійного пароля)
Брандмауер Linux (ufw), провайдер і роутер
Спочатку дозвольте SSH, щоб не заблокувати себе, потім порти гри. Порти доступні, лише якщо вони відкриті й у брандмауері провайдера (OVH, Hetzner, Scaleway…: «security group» або мережеві правила в панелі).
Хостинг удома: налаштуйте на роутері проброс портів (NAT) на фіксовану локальну IP сервера з тими самими портами й протоколами. Якщо провайдер використовує CGNAT (немає публічного IPv4), проброс неможливий: запросіть публічну IP або орендуйте VPS.
Перевірка: UDP не можна перевірити звичайним веб-сканером портів; підключіться з гри із зовнішньої мережі (наприклад, з мобільної точки доступу) і перегляньте журнали сервера.
sudo ufw allow 22/tcp
sudo ufw allow 8777/udp
sudo ufw allow 27015/udp
sudo ufw enable
sudo ufw status verboseБрандмауер Windows (netsh)
Виконайте ці команди в командному рядку, запущеному від імені адміністратора. При розміщенні вдома додатково прокиньте порти на роутері.
netsh advfirewall firewall add rule name="Soulmask 8777 UDP" dir=in action=allow protocol=UDP localport=8777
netsh advfirewall firewall add rule name="Soulmask 27015 UDP" dir=in action=allow protocol=UDP localport=27015Автозапуск у Linux (systemd)
Служба перезапускає сервер після збою та під час завантаження машини. Увімкніть її командами з блоку.
[Unit]
Description=Soulmask dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=soulmask
WorkingDirectory=/home/soulmask/soulmask-server
ExecStart=/home/soulmask/soulmask-server/StartServer.sh
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=90
[Install]
WantedBy=multi-user.target
# sudo nano /etc/systemd/system/soulmask.service
# sudo systemctl daemon-reload && sudo systemctl enable --now soulmask
# journalctl -u soulmask -fАвтозапуск у Windows (планувальник завдань)
Створіть завдання, що запускає стартовий скрипт під час завантаження Windows, за можливості від окремого облікового запису. Змініть шлях до скрипта.
schtasks /Create /TN "Soulmask Server" /TR "C:\soulmask-server\StartServer.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST
schtasks /Run /TN "Soulmask Server"
schtasks /End /TN "Soulmask Server"Оновлення, резервні копії та перезапуск
Зупиняйте сервер перед будь-яким оновленням, робіть резервну копію даних і перезапускайте. Плануйте бекапи через cron (Linux) або планувальник завдань (Windows), а за витоків пам'яті — щоденний перезапуск.
sudo systemctl stop soulmask
/home/soulmask/steamcmd/steamcmd.sh +force_install_dir /home/soulmask/soulmask-server +login anonymous +app_update 3017300 validate +quit
sudo systemctl start soulmask
# Windows uses app 3017310: steamcmd +force_install_dir C:\soulmask-server +login anonymous +app_update 3017310 validate +quit
mkdir -p ~/backups
tar czf ~/backups/soulmask-$(date +%F).tar.gz -C ~/soulmask-server/WS Saved
find ~/backups -name 'soulmask-*.tar.gz' -mtime +14 -delete
# crontab -e -> 30 4 * * * <the two lines above, as a script>Як заявити про сервер і знайти його
Коли сервер стабільний, додайте його на game-rank.com/jeux/soulmask (сайт власника цих інструментів) з адресою підключення, слотами, мовою та версією. Адреса прямого підключення: <IP>:8777 (залежить від версії гри). Ніколи не публікуйте пароль адміністратора.
Усунення несправностей
- Сервер не відображається в списку — причина: закриті порти запитів або сервер не внесено до списку. Рішення: відкрийте 8777/UDP, 27015/UDP, перевірте назву/пароль і зачекайте кілька хвилин; для перевірки підключіться за IP напряму.
- Немає підключення з Інтернету, але локально працює — причина: брандмауер системи/провайдера, відсутність проброса портів або CGNAT. Рішення: перевірте три рівні (ufw/Windows, провайдер, роутер) і протокол (UDP/TCP).
- Сервер закривається під час запуску або не вистачає пам'яті — причина: мало RAM, немає бібліотек або невірна робоча папка. Рішення: запустіть на передньому плані, прочитайте журнали, додайте RAM або swap.
- Після оновлення гри гравці бачать несумісну версію — причина: сервер не оновлено. Рішення: зупиніть його, оновіть (див. розділ про оновлення) і перезапустіть.
- Зміни конфігурації ігноруються або перезаписуються — причина: файл редагували за працюючого сервера, не та папка або синтаксична помилка. Рішення: зупиніть сервер, редагуйте потрібний файл, перевірте синтаксис (JSON/XML) і перезапустіть.
Поширені запитання
- Яка машина потрібна для сервера Soulmask?
- Обладнання (орієнтир спільноти, неофіційно): RAM 16 GB min.; диск —.
- Які порти потрібно відкрити?
- Відкрийте 8777/UDP, 27015/UDP на вхід у брандмауері системи, у провайдера та за потреби на роутері. Це значення за замовчуванням, їх можна змінити в конфігурації сервера.
- Чи потрібно мати гру, щоб хостити?
- Виділений сервер безкоштовно завантажується через SteamCMD (анонімний вхід); гра потрібна лише гравцям.
- Як оновити сервер?
- Зупиніть сервер, повторно виконайте команду SteamCMD +app_update 3017300 (Linux) / 3017310 (Windows) validate (див. розділ про оновлення) і перезапустіть. Для бета-гілки додайте -beta <назва>.
- Чи можна хостити вдома?
- Так, якщо у вас публічна IP і можна прокинути порти на роутері. За CGNAT або слабкої вихідної швидкості краще VPS або виділений сервер.
