Выделенный сервер Enshrouded - это бесплатное приложение под Windows (приложение Steam 2278520), которое настраивается одним файлом enshrouded_server.json в папке установки. Он вмещает до 16 игроков, требует одного открытого UDP-порта (query-порт, по умолчанию 15637) и хранит мир в папке savegame в виде небольшого набора файлов с шестнадцатеричными именами. Доступом управляют группы пользователей: у каждой группы свой пароль и свои права, и то, какой пароль вводит игрок, решает, в какую группу он попадёт. Консоли администратора и RCON нет - кикают и банят в списке игроков в игре те, чья группа это позволяет. Для полной группы серверу вполне хватает 6-8 GB памяти. Остальное - детали, и именно в деталях миры и теряются.
Как устроен хостинг Enshrouded#
В Enshrouded можно играть тремя способами: одному, на мире, который хостит из игры один из игроков, или на выделенном сервере. Хостинг из игры привязывает мир к компьютеру хоста: когда он выходит, мир уходит вместе с ним. Выделенный сервер держит мир запущенным, даже когда никого нет в сети, и позволяет каждому в группе играть по своему расписанию.
Две особенности устройства Enshrouded определяют всё остальное в этом руководстве:
- Персонажи хранятся на компьютере каждого игрока, а не на сервере. Сервер хранит мир - рельеф, постройки, сундуки, NPC, флаги прогресса. Инвентарь и навыки персонажа игрок приносит с собой. Поэтому один персонаж может посещать несколько миров, и поэтому сервер не может запретить кому-то прийти со снаряжением из другого места.
- Исполняемый файл сервера есть только под Windows. Keen Games выпускают сборку под Windows. На машине с Linux она работает под Wine или Proton - это работает и стоит немного памяти. Такая конфигурация в общем виде разобрана в статье Wine и Proton для серверов только под Windows.
Игра находится в раннем доступе, и файл конфигурации сервера не раз менял структуру. Старые гайды упоминают единственное поле password и отдельный игровой порт. Текущие сборки используют группы пользователей и только query-порт. Там, где это руководство приводит значение по умолчанию, сверяйте его с файлом, который сгенерировал ваш сервер.
Требования#
Сервер Enshrouded легче, чем можно подумать по графике, но воксельный рельеф, который игроки копают и застраивают, увеличивает и сохранение, и потребление памяти.
| Группа | RAM | CPU | Диск |
|---|---|---|---|
| 1-4 игрока | 4-6 GB | 2 ядра | 30 GB |
| 5-10 игроков | 6-8 GB | 2-3 ядра | 35 GB |
| 11-16 игроков, большие базы | 8-12 GB | 3-4 ядра | 40 GB |
Если сервер работает под Wine, добавьте немного памяти. Установка занимает несколько гигабайт и растёт с обновлениями; само сохранение сначала маленькое и растёт по мере того, как мир перекапывают и застраивают. Как и в большинстве игр на выживание, быстрое ядро важнее множества ядер. Прежде чем винить сервер в лагах, выясните, действительно ли он упирается в предел, - как это прочитать по графикам, показано в статье CPU или RAM для игровых серверов.
Установка и первый запуск#
На собственной машине SteamCMD скачивает сервер анонимно. Поскольку это сборка под Windows, при скачивании на Linux принудительно укажите платформу Windows:
$ steamcmd +@sSteamCmdForcePlatformType windows \ +force_install_dir /home/enshrouded/server \ +login anonymous +app_update 2278520 validate +quitЗапустите enshrouded_server.exe один раз (на Linux - под Wine) и дайте ему поработать, пока он не сообщит о готовности, затем остановите. Первый запуск записывает enshrouded_server.json со значениями по умолчанию и создаёт папки savegame и logs. Редактируйте файл только при остановленном сервере: сервер читает его при запуске. Шаг скачивания подробнее разобран в статье SteamCMD с объяснениями.
enshrouded_server.json по ключам#
Только что сгенерированный файл в текущей сборке выглядит примерно так (сокращено):
{ "name": "Longship Enshrouded", "saveDirectory": "./savegame", "logDirectory": "./logs", "ip": "0.0.0.0", "queryPort": 15637, "slotCount": 16, "gameSettingsPreset": "Default", "gameSettings": { "playerHealthFactor": 1, "enemyDamageFactor": 1, "shroudTimeFactor": 1, "tombstoneMode": "AddBackpackMaterials", "dayTimeDuration": 1800000000000, "nightTimeDuration": 720000000000 }, "userGroups": [ { "name": "Admin", "password": "change-this-admin-pass", "canKickBan": true, "canAccessInventories": true, "canEditBase": true, "canExtendBase": true, "reservedSlots": 0 } ]}Ключи верхнего уровня:
| Ключ | По умолчанию | Что делает |
|---|---|---|
name | Enshrouded Server | Имя в браузере серверов |
saveDirectory | ./savegame | Где хранится мир |
logDirectory | ./logs | Куда пишутся логи |
ip | 0.0.0.0 | Адрес для привязки; оставьте как есть |
queryPort | 15637 | UDP-порт, к которому подключаются игроки и браузер серверов |
slotCount | 16 | Лимит игроков; 16 - максимум |
gameSettingsPreset | Default | Default, Relaxed, Hard, Survival или Custom |
gameSettings | - | Отдельные правила, применяются при пресете Custom |
userGroups | - | Роли, у каждой пароль и права |
JSON строгий. Лишней запятой после последнего элемента списка, пропущенной кавычки или строки комментария достаточно, чтобы сервер отверг файл или откатился к значениям по умолчанию. Прежде чем запускать сервер, вставьте файл в JSON-валидатор или в редактор кода, который подсвечивает синтаксические ошибки: одна подсветка синтаксиса помогает заметить пропущенную скобку, но не всегда о ней скажет.
Игровые настройки#
gameSettingsPreset выбирает набор настроек. Чтобы использовать отдельные значения, поставьте его в Custom и отредактируйте gameSettings; при именованном пресете отдельные значения игнорируются. Подборка настроек, о которых спрашивают игроки:
| Настройка | Действие |
|---|---|
playerHealthFactor, playerStaminaFactor, playerManaFactor | Запасы здоровья, выносливости и маны игрока, 1 - норма |
enemyDamageFactor, enemyHealthFactor | Сложность обычных врагов |
bossDamageFactor, bossHealthFactor | Сложность боссов |
shroudTimeFactor | Сколько можно находиться в Shroud |
tombstoneMode | Что выпадает при смерти |
enableDurability | Изнашивается ли снаряжение |
enableStarvingDebuff | Штраф за то, что персонаж не ест |
miningDamageFactor | Скорость копания и добычи |
plantGrowthSpeedFactor | Скорость фермерства |
resourceDropStackAmountFactor | Ресурсы за один дроп |
factoryProductionSpeedFactor | Скорость станков для крафта |
experienceCombatFactor | Опыт за бои |
dayTimeDuration, nightTimeDuration | Длина дня и ночи в наносекундах |
Значения времени сбивают с толку: они в наносекундах, так что 1800000000000 - это 30 минут. Добавляйте и убирайте нули аккуратно. Набор доступных настроек расширялся с обновлениями; файл, который сервер записывает при первом запуске, перечисляет все настройки, которые понимает ваша версия, и именно на него стоит опираться.
tombstoneMode - настройка, о которой стоит договориться всей группой. AddBackpackMaterials выбрасывает при смерти материалы, но оставляет снаряжение; Everything выбрасывает всё; NoTombstone не выбрасывает ничего. Для неспешной группы значение по умолчанию справедливо. Для группы, которая хочет риска, Everything делает Shroud по-настоящему опасным.
Группы пользователей, пароли и права#
Группы пользователей заменили единый пароль сервера из ранних версий. У каждой группы есть:
name- видно администраторам, а не игрокам.password- то, что игрок вводит при входе. Пароль определяет группу.canKickBan- может кикать и банить из списка игроков в игре.canAccessInventories- может открывать сундуки других игроков.canEditBase- может строить и менять существующие базы.canExtendBase- может ставить алтари пламени и расширять базы.reservedSlots- слоты, зарезервированные для этой группы, чтобы она могла зайти на заполненный сервер.
Разумная схема для группы друзей - три группы: Admin для одного-двух человек со всеми правами и зарезервированным слотом; Friend, которая может строить и открывать сундуки; и Guest для гостей, которые могут играть, но не могут трогать базы и сундуки. Сообщайте пароль Admin как можно меньшему числу людей - любой, у кого он есть, может кикнуть и забанить всех остальных. В поздних сборках появились дополнительные права; сгенерированный файл показывает, что есть в вашей версии.
Кик и бан делаются в игре: администратор открывает список игроков и применяет действие к игроку. Консольных команд для этого нет, RCON тоже. Сменить пароль группы - грубый, но надёжный способ закрыть доступ всем, кто его знал.
Порты и подключение#
| Порт | Протокол | Назначение |
|---|---|---|
15637 | UDP | Query и игровые подключения в текущих сборках |
15636 | UDP | Игровой порт в старых сборках, где ещё есть gamePort |
Текущие сборки используют только query-порт. Если в сгенерированном конфиге есть ключ gamePort, ваша сборка его ещё использует, и открыты должны быть оба порта. Оба - UDP; правило для TCP - классическая причина, по которой сервер работает, но недоступен. Зачем вообще нужны query-порты, объясняется в статье порты игровых серверов.
Игроки находят сервер во внутриигровом браузере по имени или заходят, введя адрес и порт напрямую. Новый сервер появляется в списке через несколько минут. Если прямое подключение работает, а в списке сервера нет, с сервером всё в порядке, просто список медленный.
Как перенести локальный мир на сервер#
Мир, в который играли локально или который хостили из игры, можно перенести на выделенный сервер. Локальные миры сохраняет игровой клиент - у версии из Steam в папке Steam userdata для приложения 1203620 или в Saved Games\Enshrouded в папке пользователя, в зависимости от настроек и версии.
- Остановите сервер и сделайте копию его папки
savegame. - На своём компьютере найдите нужный мир: файл с шестнадцатеричным именем плюс файлы с тем же именем и суффиксами вроде
-indexи пронумерованными копиями. Скопируйте их. - Сервер загружает мир с именем
3ad85aeaиз своей папки сохранений. Переименуйте главный файл своего мира и его файл-indexв это имя, сохранив суффиксы. - Загрузите их в папку
savegameсервера, заменив то, что там есть. - Запустите сервер и зайдите. Вы должны увидеть свой мир со своими базами.
Персонажей переносить не нужно - они приходят вместе с каждым игроком. Если игрок играл в этом мире локально как хост, его персонаж лежит у него на компьютере и работает на сервере как есть.
Загружайте по SFTP или через файловый менеджер - подробности в статье SFTP и файловый менеджер. Файлы мира достаточно маленькие, так что подойдёт любой способ.
Сохранения, резервные копии и обновления#
Сервер записывает мир в savegame по собственному расписанию и хранит рядом несколько сменяющихся копий в виде пронумерованных копий файла мира. Они защищают от повреждённой записи, но не от удалённого сервера и не от ошибки: они на том же диске.
- Останавливайте штатно. Штатная остановка записывает мир. Убитый процесс теряет всё, что произошло с последнего сохранения.
- Делайте копии в другое место ежедневно и перед каждым обновлением игры. Обновления раннего доступа меняли формат сохранения; сохранение, сделанное до обновления, - ваш путь назад.
- Иногда восстанавливайте, чтобы доказать, что копия рабочая. Почему это важно, объясняется в статье резервные копии, которые действительно восстанавливаются.
- Обновляйте сервер, когда обновляется игра. Клиент новой версии не может зайти на старый сервер.
Перезапуски и долгоживущие миры
Сервер Enshrouded, как и большинство серверов игр на выживание в раннем доступе, тем больше потребляет памяти, чем дольше работает и чем больше мира игроки перекопали. Еженедельный или ежедневный перезапуск в тихий час держит потребление ровным и стоит минуту. Поставьте его в расписание, а не полагайтесь на то, что кто-то вспомнит, и объявляйте о нём в чате группы: внутриигровой команды объявления, чтобы заранее предупредить игроков, нет, так что перезапуск при людях в сети просто их отключит. О выборе времени - в статье расписания перезапусков, которые помогают.
Изменение рельефа - самое дорогое, что делают игроки. Каждый выкопанный или засыпанный воксель - это изменение, которое мир хранит, и группа, которая срывает склон горы под базу, получает сохранение больше и область тяжелее для загрузки, чем та, что строит на естественной местности. Если сервер подтормаживает, когда все собираются на главной базе, а в других местах работает плавно, обычно причина в этом, и никакая настройка этого не изменит.
Перед обновлением игры сделайте копию и храните её, пока все не поиграют на новой версии несколько дней. После большого контентного обновления некоторые группы решают начать новый мир, чтобы встретить новый контент с начала, а не на середине. Если сохранить старый мир, это решение можно отменить, если через неделю новый старт потеряет привлекательность.
Enshrouded официально не поддерживает моды на выделенных серверах. Для клиента есть моды от сообщества, в основном косметические или для одиночной игры; планируйте сервер как ванильный.
Enshrouded у хостера с панелью#
В панели на базе Pterodactyl настройки сервера лежат в enshrouded_server.json и правятся в файловом менеджере. Отдельной строки для Enshrouded в каталоге RE:NODE нет, так что что предлагается, смотрите в списке игровых серверов. Общие правила действуют у любого хостера: дайте серверу 6-8 GB на полную группу, откройте query-порт как UDP и делайте копии папки savegame на другую машину. В RE:NODE слоты резервных копий есть в каждом игровом тарифе, а вкладка Schedules может запускать ночной backup и перезапуск; сервер, упёршийся в лимит памяти, останавливают и чисто перезапускают, а не оставляют уходить в swap, что для Enshrouded означает потерю всего, что произошло с последнего сохранения, так что берите ресурсы с запасом.
Если что-то не работает#
Сервера нет в браузере. Проверьте, что query-порт открыт как UDP, что queryPort совпадает с выделенным портом, и подождите несколько минут. Проверьте прямым подключением.
Игроки не могут зайти с правильным паролем. У двух групп один пароль, или JSON не загрузился и сервер работает на значениях по умолчанию. Поищите в логе ошибку конфигурации.
Сервер игнорирует мои игровые настройки. gameSettingsPreset не равен Custom.
Мой загруженный мир не загрузился, я получил новый. Файлы не переименовали в 3ad85aea с их суффиксами или положили не в ту папку.
Сутки длятся минуты или часы. dayTimeDuration и nightTimeDuration задаются в наносекундах; пропущенная или лишняя группа нулей меняет их в тысячу раз.
После правки конфига сервер не запускается. Неверный JSON. Ищите лишнюю запятую или пропущенную кавычку.
FAQ#
Сколько игроков вмещает сервер Enshrouded?
Шестнадцать. Выше slotCount не поднять. Зарезервированные слоты позволяют группе администраторов зайти на заполненный сервер.
Есть ли в Enshrouded консоль команд администратора?
Нет. Права администратора дают группы пользователей: группа с canKickBan может кикать и банить из списка игроков в игре. RCON нет.
Переносятся ли персонажи на выделенный сервер?
Персонажи хранятся на компьютере каждого игрока и приходят вместе с ним. Переносить нужно только мир.
Можно ли запустить сервер Enshrouded на Linux?
Только через Wine или Proton, потому что сервер - сборка под Windows. У многих это работает и требует чуть больше памяти.
Поддерживает ли Enshrouded моды на сервере?
Официально нет. Планируйте ванильный сервер и следите за изменениями в патчноутах игры.




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