Как поднять сервер Sons of the Forest: пошаговая инструкция
Официальный dedicated-сервер Sons of the Forest вышел не сразу после релиза игры, и первое время выживание в мультиплеере держалось на костылях вроде Steam-инвайтов и проброса портов вручную через хост-клиента. Сейчас всё проще: Endnight Games выложили нормальный headless-сервер через SteamCMD, и поднять его на VPS можно за 20-30 минут, если знать, куда смотреть. Ниже — рабочий процесс от установки до автозапуска, с граблями, на которые я лично успел наступить.
Содержание
Системные требования
Sons of the Forest — не самая лёгкая игра для dedicated-сервера, особенно с открытым миром и физикой разрушений. Минимум, с которым сервер вообще стартует и не падает под нагрузкой:
- RAM: от 4 ГБ для игры на 2-4 игрока, но на практике под 6-8 игроков с активной стройкой и вырубкой леса лучше закладывать 6-8 ГБ — движок съедает память с ростом построек и убитых NPC в мире.
- CPU: 2+ ядра, желательно с приличной частотой на поток — игра не особо параллелится, узкое место чаще в single-core производительности, а не в количестве ядер.
- Диск: 15-20 ГБ под сам сервер, клиентские файлы SteamCMD и сохранения. SSD ощутимо ускоряет подгрузку мира при старте.
- ОС: Windows Server или Linux через Proton/Wine-обвязку (об этом ниже — официально сервер под Linux не поддерживается напрямую).
Если берёте готовый VPS под игровые серверы, ориентируйтесь на тариф от 4 ГБ RAM как на стартовую точку — это соответствует тому, что заявляет сама игра в качестве минимума для сервера.
Установка через SteamCMD
Dedicated-сервер Sons of the Forest распространяется как отдельное Steam-приложение с app id 2465200. Устанавливается он без покупки игры — сервер бесплатный для всех.
Если SteamCMD ещё не стоит на машине, сначала ставим его:
mkdir C:\steamcmd
cd C:\steamcmd
# скачать steamcmd.zip с сайта Valve и распаковать сюда
На Linux (если разворачиваете через Proton, об этом ниже):
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" -o steamcmd.tar.gz
tar -xvzf steamcmd.tar.gz
Дальше запускаем сам SteamCMD и качаем сервер анонимным логином:
steamcmd.exe +force_install_dir C:\sotf-server +login anonymous +app_update 2465200 validate +quit
Флаг validate в конце обязателен при первой установке — он проверяет целостность файлов и докачивает то, что могло не докачаться. На апдейтах его можно опускать, чтобы не тратить время на пересчёт хешей каждого файла, но раз в несколько крупных патчей игры всё же стоит гонять валидацию — после больших обновлений сервер иногда падает именно из-за недокачанных ресурсов.
Установка занимает от 10 до 25 минут в зависимости от скорости канала — сам билд сервера весит около 10 ГБ.
Поднять сервер Sons of the Forest за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверОсобенность: сервер официально только под Windows
Важный нюанс, который часто ловит новичков: dedicated-сервер Sons of the Forest — это Windows-приложение (SonsOfTheForestDS.exe). Официальной Linux-сборки нет. Есть два рабочих пути:
- Windows VPS — самый предсказуемый вариант. Сервер запускается нативно, без прослоек, меньше шансов словить странный баг с сохранениями или сетью.
- Linux + Proton/Wine — работает, но с оговорками. Комьюнити гоняет сервер через Proton (обычно через SteamCMD с
+@sSteamCmdForcePlatformType windowsи запуском черезproton runили обвязку вродеwine). Часть игроков сообщает о стабильной работе, часть — о случайных вылетах при большой нагрузке или после патчей игры. Если для вас критична стабильность 24/7, я бы рекомендовал Windows VPS как более надёжный вариант, особенно для только запущенного сервера, где вы ещё не набили руку на дебаге Proton-специфичных падений.
Дальше в статье пример конфигурации и команд дан под Windows-запуск — это основной и наиболее протестированный путь.
Конфигурация через dedicatedserver.cfg
После установки в папке сервера (C:\sotf-server\, если следовали примеру выше) появляется файл конфигурации dedicatedserver.cfg. Он в формате JSON, несмотря на расширение .cfg. Открываем любым текстовым редактором и правим ключевые поля:
{
"ServerName": "Мой сервер Sons of the Forest",
"SaveSlot": 1,
"MaxPlayers": 4,
"Password": "supersecret",
"LanOnly": false,
"ServerVisible": true,
"GamePort": 8766,
"QueryPort": 27016,
"BlockingPort": 8767,
"AutoSaveInterval": 60,
"Perma-Death": false,
"PlayerDamageMultiplier": 1.0,
"EnemyDamageMultiplier": 1.0,
"AllowCrossplay": true
}
Разберём поля, которые реально стоит трогать:
- ServerName — имя, которое видят игроки в списке серверов.
- SaveSlot — номер игрового сохранения (слота), с которым работает сервер. Полезно, если хотите вести несколько параллельных миров.
- MaxPlayers — лимит игроков. Помните про требования к RAM: каждый дополнительный игрок ощутимо добавляет нагрузку.
- Password — пароль на вход. Оставьте пустым, если хотите публичный сервер (не рекомендую для survival-игры без вайтлиста).
- GamePort / QueryPort / BlockingPort — сетевые порты, о них подробнее в следующем разделе.
- AutoSaveInterval — интервал автосохранения в секундах. Значение 60 — разумный компромисс между сохранностью прогресса и нагрузкой на диск при частых сейвах большого мира.
- Perma-Death — хардкорный режим без возрождения. Ставьте осознанно, это решение на весь мир.
После правки конфига файл нужно сохранить в той же кодировке и структуре JSON — если сломать синтаксис (забыть запятую или скобку), сервер откажется стартовать и в логе будет ошибка парсинга.
Проброс портов: 8766-8767 UDP
Sons of the Forest использует Steam-сетевой стек, и по умолчанию сервер слушает:
- 8766/UDP — основной игровой порт (GamePort).
- 8767/UDP — блокирующий порт (BlockingPort), используется для части сетевого взаимодействия Steam.
- 27016/UDP — порт запроса статуса сервера (QueryPort), нужен, чтобы сервер отображался в списке публичных серверов и отвечал на пинг.
Если сервер стоит на выделенном VPS с белым IP (что обычно и есть у арендованных игровых серверов), отдельно пробрасывать порты через NAT не нужно — трафик и так приходит напрямую на машину. Проброс актуален, если вы поднимаете сервер дома за роутером: тогда в настройках роутера открываем диапазон 8766-8767 UDP и 27016 UDP и направляем их на локальный IP машины с сервером.
Проверить, что порты реально открыты и сервер отвечает снаружи, можно любым онлайн-чекером UDP-портов или командой с другой машины:
Test-NetConnection -ComputerName ВАШ_IP -Port 8766 -InformationLevel Detailed
Учтите, что UDP не всегда честно проверяется такими тулзами (в отличие от TCP, где есть handshake) — самый надёжный способ убедиться, что порты открыты, это зайти на сервер клиентом Sons of the Forest напрямую по IP через меню "Join Game" → "Direct Connect".
Настройка автозапуска
Ручной запуск через SonsOfTheForestDS.exe удобен для отладки, но для боевого сервера нужен автозапуск — чтобы сервер поднимался сам после перезагрузки VPS или падения процесса.
На Windows Server проще всего сделать это через Планировщик заданий (Task Scheduler):
- Создаём новую задачу с триггером "При запуске системы".
- В качестве действия указываем путь к
SonsOfTheForestDS.exeс рабочей директорией, равной папке сервера. - Ставим галочку "Выполнять вне зависимости от того, вошёл ли пользователь в систему".
- В настройках задачи включаем "Перезапускать при сбое" с интервалом в 1 минуту, до 3 попыток — это спасает, если сервер вылетит из-за редкого краша движка.
Для тех, кто предпочитает батник и NSSM (Non-Sucking Service Manager) — рабочий вариант превратить сервер в полноценную Windows-службу с автоматическим перезапуском:
nssm install SonsOfTheForestServer "C:\sotf-server\SonsOfTheForestDS.exe"
nssm set SonsOfTheForestServer AppDirectory "C:\sotf-server"
nssm set SonsOfTheForestServer AppExit Default Restart
nssm start SonsOfTheForestServer
Этот путь даёт больше контроля: логи службы, статус через services.msc, управление через nssm stop/start/restart без захода в GUI планировщика.
Особенности сохранения прогресса
Сохранения сервера лежат в профиле пользователя, под которым запущен сервер — обычно это путь вида %appdata%\..\LocalLow\Endnight\SonsOfTheForest\Saves\Server\. Внутри — папки с номерами слотов, которые соответствуют полю SaveSlot из конфига.
Несколько практических моментов:
- Бэкапьте папку с сейвами регулярно. Sons of the Forest — игра, где потеря прогресса за десятки часов стройки болезненна. Простейший вариант — задача в планировщике, которая раз в сутки архивирует папку сохранений в отдельное место (не на тот же диск, если есть возможность).
- AutoSaveInterval не панацея. Автосохранение снижает нагрузку в моменте, но сам процесс сохранения на большом освоенном мире может занимать заметное время и на слабом диске подвешивать сервер на секунду-другую — это нормально, паниковать не стоит, если видите в логе паузу при сейве.
- Смена SaveSlot = новый мир. Если хотите начать заново, не удаляя старый прогресс, просто меняйте номер
SaveSlotв конфиге — сервер создаст новую папку сохранения, а старая останется нетронутой. - Перенос сейва между серверами делается копированием папки нужного слота в аналогичный путь на новой машине — работает, если версия игры на сервере совпадает или новее, чем версия сохранения.
Поднять сервер Sons of the Forest за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Можно ли играть на сервере с друзьями без Steam-инвайтов?
Да, именно для этого и существует dedicated-сервер — заходите через "Join Game" → "Direct Connect" по IP:порту, приглашения через Steam не нужны.
Сервер не виден в списке серверов, но работает по прямому IP — что не так?
Обычно дело в QueryPort (27016/UDP) — если он закрыт или не пробрасывается, сервер не отвечает на запросы списка, хотя игровой порт 8766 при этом рабочий.
Почему сервер требует так много RAM с ростом мира?
Игра держит в памяти состояние всех построек, срубленных деревьев и убитых NPC в загруженных зонах — чем дольше живёт мир и активнее стройка, тем выше базовое потребление даже без пиковой нагрузки от онлайна игроков.
Работает ли Perma-Death задним числом на уже идущем сейве?
Изменение этого параметра в конфиге применяется к новым смертям после рестарта сервера, но не переписывает уже произошедшие события — если нужен честный хардкорный забег, включайте режим до старта на новом слоте.
Нужно ли останавливать сервер перед бэкапом сейвов?
Крайне желательно — копирование файлов сохранения во время активной записи (например, в момент автосейва) может дать повреждённый архив. Проще всего ставить бэкап-задачу с небольшой задержкой после остановки службы или в окно между сессиями, когда игроков нет.