Выделенный сервер The Forest - это бесплатная загрузка через SteamCMD (app id 556450), он вмещает восемь игроков, спокойно работает в 3 ГБ памяти и настраивается обычным текстовым файлом, где каждая строка - это ключ, пробел и значение. По современным меркам это по-настоящему маленький и послушный сервер, а игра уже так давно закончена в плане функций, что ничего под вами больше не сдвигается. Людей подводят две вещи: серверная программа существует только под Windows, нативной версии для Linux нет, и конфиг лежит не там, где вы установили сервер, а в профиле пользователя - если только вы не указали свой файл через -configfilepath. Разберитесь с этими двумя пунктами, и остаётся один файл и три порта.
Что даёт выделенный сервер#
The Forest можно хостить прямо из игры, и для двоих, которые всегда играют вместе, этого достаточно. Выделенный сервер даёт три вещи: мир существует, пока хост спит, чужой FPS не превращается в общую симуляцию, а сохранение не лежит в AppData у одного человека и не ждёт, пока он переустановит Windows.
Что сервер умеет из коробки:
- Восемь игроков. Это документированное значение по умолчанию и число, под которое построена игра. Endnight никогда не публикует максимум, и некоторые хостеры рекламируют больше слотов, но проверено именно восемь.
- Пять слотов сохранений, выбираются в конфиге, каждый - независимый мир.
- Три пресета сложности - Peaceful, Normal и Hard - плюс набор отдельных переключателей: возрождение деревьев, разрушение построек, враги в творческом режиме и так далее.
- Админский пароль, который превращает чат в консоль администрирования для всякого, кто его знает.
- VAC, по желанию, - редкость для кооперативной выживалки, и для публичного сервера его стоит включить.
- Автосохранения по таймеру, минимум пятнадцать минут.
Чего нет: RCON, белого списка, файла бана, который можно править руками, сообщений по расписанию и какой-либо официальной поддержки модов. Администрирование - это админский пароль и команды чата, которые он открывает. Если вы пришли сюда из сиквела, то этот сервер оснащён в нескольких отношениях лучше, чем выделенный сервер Sons of the Forest, вышедший с меньшим набором возможностей.
Требования и расход ресурсов#
Это один из самых дешёвых серверов выживания, какие можно запустить. Память растёт вместе с размером построенного мира и числом проёмов, прорезанных в постройках, и мало зависит от числа игроков.
| Группа | RAM | CPU | Примечания |
|---|---|---|---|
| 2-4 игрока, свежее сохранение | 2-3 ГБ | 1-1,5 ядра | Комфортно с самого начала |
| 5-8 игроков, обжитая база | 3-4 ГБ | 1,5-2 ядра | Обычный случай |
| Долгоживущее сохранение, большие постройки | 4-6 ГБ | 2 ядра | Постройки и правки ландшафта накапливаются |
| С модами | 6-8 ГБ | 2 ядра | Целиком зависит от модов |
- CPU: симуляцию тянет один поток, поэтому частота важнее числа ядер. Пик приходится на набег каннибалов на большую базу, а не на восьмерых, стоящих в разных местах.
- Диск: установка сервера занимает несколько гигабайт, а слот сохранения невелик - десятки мегабайт. Двадцати гигабайт хватает на установку, пять слотов и стопку бэкапов.
- Сеть: лёгкая. The Forest отправляет мало данных на игрока, и передача при подключении скромная - в этом главное практическое отличие от сиквела.
Сервер, который год крутит одно и то же сохранение, тяжелеет по вполне конкретной причине: каждый проём в постройке, каждый изменённый кусок ландшафта и каждый брошенный предмет - это состояние, которое сохраняется и загружается заново. Именно для этого в конфиге есть resetHolesMode, и включить его на один перезапуск - грубый, но действенный способ почистить сохранение, которое стало неудобным. Он же удалит все окна и дверные проёмы, которые кто-либо прорезал, так что предупредите людей заранее.
Установка и первый запуск#
Выделенный сервер на SteamCMD скачивается анонимно, так что аккаунт и токен игрового сервера не нужны:
$ steamcmd +force_install_dir C:\theforest-server +login anonymous \ +app_update 556450 validate +quitВ статье SteamCMD простыми словами есть общий вариант этой команды, в том числе как автоматизировать обновления. Исполняемый файл называется TheForestDedicatedServer.exe. Сборки для Linux нет - там он запускается под Wine, что работает хорошо, и именно так его запускает за вас большинство хостеров.
Запустите его один раз без аргументов и остановите по Ctrl+C. Первый запуск создаёт папку профиля и записывает конфиг по умолчанию:
C:\Users\<user>\AppData\LocalLow\SKS\TheForestDedicatedServer\ds\Server.cfgРасположение по умолчанию подходит для одного сервера и мешает всему остальному, поэтому почти в любой настоящей установке передают -configfilepath и держат конфиг рядом с установкой. Когда вы узнали, где лежит файл, остановите сервер перед правкой и прочитайте IP-адрес, который сервер напечатал при первом запуске: это внутренний адрес, к которому он привязался, и именно его ждёт serverIP.
Server.cfg, ключ за ключом#
Каждая строка имеет вид ключ значение, комментарии начинаются с //, а недостающий ключ берёт значение по умолчанию. Вот полный набор:
// Server display nameserverName My Forest Server// Server password. blank means no passwordserverPassword// Steam game server login token. See the warning belowserverSteamAccount YOURTOKENHERE// Server administration password. blank means no passwordserverPasswordAdmin changeme// Server IP address (the internal address if you are behind a router)serverIP 10.5.0.6// Steam communication portserverSteamPort 8766// Game communication portserverGamePort 27015// Query communication portserverQueryPort 27016// Maximum number of playersserverPlayers 8// Valve Anti-cheat. off or onenableVAC on// Minutes between auto saves. Minimum 15, default 30serverAutoSaveInterval 30// Peaceful, Normal, Hard (and HardSurvival on current builds)difficulty Normal// New or ContinueinitType Continue// Save slot, 1 to 5slot 1// Show the event log. off or onshowLogs on// Contact email for the server adminserverContact// No enemies at allveganMode off// No enemies during the dayvegetarianMode off// Reset all structure holes when loading a saveresetHolesMode off// Regrow 10% of cut trees when sleepingtreeRegrowMode on// Allow cannibals to break your buildingsallowBuildingDestruction on// Allow enemies in creative gamesallowEnemiesCreativeMode off// Allow clients to use the built-in debug consoleallowCheats off// Full weapon damage when players hit each otherrealisticPlayerDamage off// Custom folder for save slots, blank for the defaultsaveFolderPath// Target FPS with nobody connectedtargetFpsIdle 5// Target FPS with at least one player connectedtargetFpsActive 60Ключи, которые определяют, какой сервер вы запускаете:
| Ключ | Почему это важно |
|---|---|
initType | New пересоздаёт слот при каждом запуске, а не один раз |
slot | Какой из пяти миров загружается; смена слота меняет мир |
serverPasswordAdmin | Единственные учётные данные администрирования у сервера |
allowCheats | on даёт каждому клиенту консоль отладки. Оставьте выключенным |
difficulty | Peaceful означает полное отсутствие каннибалов, а не их уменьшенное число |
treeRegrowMode | Разница между лесом и полем пней через полгода |
serverAutoSaveInterval | Минимум 15 минут, так что 15 - ваше наименьшее возможное окно потерь |
serverSteamAccount заслуживает отдельного абзаца, потому что комментарий, который сервер пишет рядом с ним, вводит в заблуждение. Это не имя вашего пользователя Steam. Это токен входа игрового сервера Steam - учётные данные того же рода, что описаны в статье токены игровых серверов Steam, - создаваемый для app id The Forest 242760 на странице аккаунтов игровых серверов Steam. Относитесь к нему как к секрету и никому не передавайте.
targetFpsIdle 5 - причина, по которой пустой сервер The Forest почти ничего не стоит по CPU. Оставьте как есть. enableVAC on имеет смысл на любом сервере, о котором вы объявляли, и не важен на приватном. allowCheats on - переключатель, который включают, чтобы что-нибудь построить, и забывают выключить: он отдаёт каждому вошедшему консоль читов - и учтите, что он закрывает только встроенную консоль, но не моды, так что защитой от грифинга он не является.
О difficulty: в исходной документации Endnight перечислены Peaceful, Normal и Hard, а вики для актуальных сборок добавляет HardSurvival. Если нужен четвёртый вариант, задайте его и проверьте строку в логе при старте, а не предполагайте.
Параметры запуска и несколько серверов#
Каждому ключу конфига соответствует параметр командной строки в нижнем регистре, и командная строка главнее. Так можно запустить два сервера из одной установки:
TheForestDedicatedServer.exe -batchmode -showlogs ^ -configfilepath "C:\theforest-server\server1.cfg" ^ -savefolderpath "C:\theforest-server\saves1\"-batchmode запускает сервер без окна, что и нужно для всего, что работает без присмотра, а -nographics рядом с ним снижает нагрузку на CPU, потому что ничего не отрисовывается. -showlogs печатает журнал событий, так что вы видите подключения, сохранения и ошибки. -configfilepath фактически обязателен в любой установке, которую вы не оставили целиком на значениях по умолчанию, а -savefolderpath держит сохранения рядом с сервером, а не в папке профиля, которую унесёт переустановка Windows.
Две ловушки в списке параметров. Имена написаны в нижнем регистре и не всегда совпадают с ключами конфига: serverPasswordAdmin в файле - это -serverpassword_admin в командной строке. И один из параметров инвертирован: ключ конфига - allowBuildingDestruction on, а параметр - -nobuildingdestruction. Если задать оба, не заметив этого, получится обратное тому, что вы хотели.
Если вы сравниваете это с панелью, то практическая разница не в конфиге, а во всём, что вокруг него. В статье хостинг дома или аренда разобраны проброс портов, канал и электричество. У хостера на панели конфиг уже написан, и те же значения видны как поля на вкладке Startup; на RE:NODE вы правите Server.cfg в браузере или по SFTP и перезапускаете, а порты выделяются вместе с сервером.
Порты и подключение#
| Порт | Назначение |
|---|---|
8766 | Связь со Steam |
27015 | Игровой трафик |
27016 | Запросы Steam - браузер серверов |
В инструкции самого разработчика сказано открыть все три и для TCP, и для UDP, и в этом нет никаких издержек. Если вы открываете их по одному протоколу, игру несёт UDP. Сервер, который работает, но не появляется в браузере, - почти всегда проблема порта запросов; сервер, который появляется, но не пускает, - проблема игрового порта. Почему это две разные вещи, объясняет статья порты игровых серверов.
Игроки заходят через Multiplayer, затем в список выделенных серверов, где можно фильтровать по имени. Добавление сервера по адресу работает на том же экране и надёжнее, когда список тормозит. Если вы направили на адрес домен, учтите, что браузер The Forest всё равно показывает IP: имя помогает набрать адрес, но не найти сервер. Нужная запись описана в статье как привязать домен к игровому серверу.
Админский пароль и команды в чате#
Задайте для serverPasswordAdmin что-нибудь длинное. Игрок, вошедший на сервер с этим паролем, получает права администратора, а команды набираются в чате мультиплеера с косой чертой в начале:
| Команда | Действие |
|---|---|
/help | Показывает команды, которые знает сервер |
/save | Немедленно сохраняет в активный слот |
/save [1-5] | Сохраняет в указанный слот |
/kick [SteamID64] | Выгоняет игрока |
/ban [SteamID64] | Банит игрока |
/unban [SteamID64] | Снимает бан |
/restart | Перезапускает сервер. Считайте разрушительной - см. ниже |
/shutdown | Останавливает сервер |
/openlogs / /closelogs | Открывает и закрывает окно журнала |
/treeregrowmode on|off | Включает и выключает возрождение деревьев на лету |
/allowbuildingdestruction on|off | Включает и выключает разрушение построек на лету |
/allowenemiescreative on|off | Включает и выключает врагов в творческом режиме на лету |
Kick и ban принимают 17-значный SteamID64, а после обновления, которое их починило, - ещё и имя игрока. showLogs on записывает каждое подключение в журнал вместе с ID, и оттуда его проще всего прочитать, когда имя неоднозначно.
Последние три команды из таблицы добавили в раннем патче, и они меняют работающий сервер без перезапуска, что очень удобно для компании, решающей посреди сессии, можно ли каннибалам есть стены. /help на вашем собственном сервере авторитетнее любого списка, включая этот.
Консоль отладки, о которой говорят игроки и которая открывается по F1, - совсем другое дело. Это клиентская консоль читов, она ограничивается allowCheats и не является инструментом администрирования. Оставить allowCheats off - правильное значение по умолчанию для всего, кроме приватной строительной сессии.
Слоты сохранений, перенос мира и бэкапы#
Сохранения лежат в папке, заданной через saveFolderPath или -savefolderpath, а внутри каждый слот - отдельный каталог. Пять слотов - пять миров на одном сервере; смена slot и перезапуск переключают между ними, ничего не теряя.
Перенести существующий мир на сервер можно, и это одна из вещей, которые эта игра делает лучше сиквела. Ваши собственные сохранения лежат в AppData\LocalLow\SKS\TheForest\<SteamID64>\, в папке SinglePlayer или MultiPlayer, а под ней - Slot1...Slot5. Переносятся оба вида. Остановите сервер, скопируйте содержимое своей локальной папки SlotX в серверную Multiplayer/SlotX, задайте slot этого номера и initType в Continue, затем запустите. Копируйте всё содержимое папки, а не выбирайте отдельные файлы, и сначала сделайте бэкап того, что лежало в этом слоте.
- Автосохранение - это не бэкап. Оно перезаписывает тот же слот, так что сохранение, записанное в плохом состоянии, заменяет хорошее.
- Минимальный интервал - пятнадцать минут. Что бы вы ни делали, это нижняя граница того, во что может обойтись сбой.
- Корректная остановка сохраняет.
/shutdownили обычная остановка из панели. Убийство процесса - нет.
Значит, план бэкапов - это копия папки сохранений в другом месте по расписанию, которую хотя бы раз восстановили, чтобы убедиться, что она работает. Лучше, чем одно предложение здесь, последний пункт обосновывает статья бэкапы, которые действительно восстанавливаются. На RE:NODE в тарифы входят слоты бэкапов, бэкапы хранятся вне машины, которую защищают, и восстанавливаются одной кнопкой, а вкладка Schedules запустит ночную копию и еженедельный перезапуск по cron-выражению.
Моды, обновления и что ломается#
У The Forest нет официальной поддержки модов и нет конвейера workshop для серверов. Сообщество пользуется ModAPI, который указывает выделенный сервер отдельной целью, не совпадающей с клиентом игры. По сути это патчер: вы направляете его лаунчер на файлы сервера, выбираете моды, и он переписывает сборки на месте. Правила знакомые: сервер и каждый клиент должны иметь одни и те же моды одних и тех же версий, несовпадение проявляется как неудачное подключение или рассинхронизированная сессия, и ничего из этого разработчик не поддерживает. Не у каждого клиентского мода есть серверная сборка, так что проверяйте по каждому моду, а не по сборке целиком.
Два практических следствия. Пропатченные сборки перезаписываются при каждом app_update, поэтому моды нужно применять заново после каждого обновления сервера, и именно в этот момент нужен бэкап сохранения, а не час спустя. И allowCheats off не останавливает моды - он закрывает только встроенную консоль, - так что это не та защита от грифинга, какой её считают.
Необычно то, что здесь это гораздо более надёжная ставка, чем в большинстве игр. The Forest много лет как закончена по функциям, поэтому то, что обычно ломает сервер с модами - патч, прилетевший во вторник, - фактически перестало случаться. Правильно настроенный сервер The Forest с модами обычно остаётся настроенным. Если что-то всё же сломалось, порядок восстановления описан в статье что делать, если обновление мода всё сломало, а коротко: вы сохранили копию рабочей папки или не сохранили.
Для ванильных обновлений сервер должен точно совпадать с клиентом. Запускайте app_update после любого патча и до того, как кто-либо попытается зайти.
Устранение неполадок#
Сервер не показывается в списке. Порт запросов 27016 закрыт или указан неверно. Проверьте, добавив сервер по адресу; если так работает, игровой порт в порядке и сломан только браузер.
«Could not connect». Игровой порт 27015 либо serverIP задан адресом, к которому сервер не может привязаться. Нужен тот адрес, который сервер напечатал при первом запуске.
Мир сбрасывается при каждом перезапуске. initType равен New. Поставьте Continue.
Изменения конфига ничего не делают. Вы правили не тот файл, который загружает сервер. Передайте -configfilepath явно, и неоднозначности не будет.
Изменение в командной строке игнорируется. Нет - всё наоборот. Параметры командной строки переопределяют файл конфига, так что забытый параметр в скрипте запуска побеждает значение, которое вы только что отредактировали.
Сервер вообще никогда не сохраняет. Дело не в интервале и не в слоте: serverSteamAccount пуст. Сервер The Forest без токена входа игрового сервера может работать часами и ничего не записывать.
Сервер сохраняет, но люди всё равно теряют прогресс. Интервал - в лучшем случае пятнадцать минут, а убитый процесс ничего не сохраняет. Используйте /save перед всем рискованным и останавливайте сервер корректно.
Журнал полон строк `NullReferenceException`. Почти наверняка безвредны. Безголовый сервер The Forest выдаёт непрерывный поток мусора о нулевых ссылках из системы ввода, не имеющий отношения к игре, а эталонные контейнерные проекты по умолчанию его отфильтровывают. Прежде чем что-то менять, поищите настоящую ошибку выше или ниже.
Добавление сервера в избранное Steam его не находит. Источники расходятся в том, чего список избранного Steam хочет для этой игры - игровой порт или порт запросов. Сначала попробуйте address:27016, потом address:27015; один из них сработает.
Каннибалы не появляются. difficulty Peaceful или veganMode on. Peaceful - это не «меньше врагов».
FAQ#
Сколько игроков вмещает выделенный сервер The Forest?
Восемь - значение по умолчанию и число, которое документирует Endnight. Опубликованного максимума нет, и горстка хостеров продаёт больше слотов, но ничто в собственной документации игры не поддерживает большее число, а баланс тем более. Уменьшить serverPlayers - хороший способ сохранить компанию небольшой, а расход памяти предсказуемым.
Работает ли выделенный сервер The Forest на Linux?
Не нативно. Endnight выпустила только исполняемый файл для Windows, а на Linux он запускается под Wine. Путь хорошо проторён, и так работает много хостинговых серверов The Forest, но каждый путь в документации - это путь Windows.
Можно ли перенести мой одиночный мир на сервер?
Да. Скопируйте содержимое своей локальной папки SlotX - подойдут и одиночная, и мультиплеерная - в серверную Multiplayer/SlotX, задайте slot и initType Continue и запустите. Сначала сделайте бэкап того, что лежало в этом слоте, потому что копирование его перезапишет.
Чем пароль сервера отличается от админского пароля?
serverPassword решает, кто вообще может зайти. serverPasswordAdmin решает, кто получает команды с косой чертой. Игрок, вошедший с админским паролем, становится администратором, так что относитесь к нему как к паролю root, а не как к общему секрету.
Как часто сервер сохраняется?
Каждые serverAutoSaveInterval минут, минимум пятнадцать, по умолчанию тридцать. Он также сохраняется при корректном завершении и всякий раз, когда админ вводит /save. При убийстве процесса он не сохраняется.
Стоит ли включать VAC?
На публичном сервере да: он ничего не стоит и убирает самых ленивых читеров. На приватном сервере для друзей с паролем разницы нет, а если кто-то использует моды, он иногда добавит сложностей.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.