В руководстве описана установка выделенного сервера 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 или выделенный сервер.
