Перейти к содержанию

ServerManager в Valheim: серверный или локальный персонаж при входе

Как выбрать загрузку серверного персонажа в ServerManager, управлять новыми регистрациями и не принять Local или Cloud за подтверждённое серверное сохранение.
Версия не проверена

ServerManager хранит принятое состояние персонажа на сервере и при входе может возвращать именно его. Это сторонний мод для выделенного сервера или мира с Start Server; состояние локального хозяина тоже управляется им. Инструкция относится к ServerManager 1.2.3 по документации автора, а не к штатному хранению персонажей Valheim.

Подготовка установки

  1. Сверьте совместимость версии: разобранная документация ServerManager требует Valheim 1.0.20 на сервере и клиентах.
  2. Установите ServerManager.dll в BepInEx/plugins на сервере и у всех клиентов. Если используются другие плагины, настройте для них required и optional: неуказанные BepInEx-плагины не допускаются у обычных игроков.
  3. Отключите crossplay и не совмещайте разные моды, управляющие теми же сохранениями персонажей. При замене старого менеджера сначала сохраните данные.
  4. После первого запуска откройте созданный ServerManager.yml и проверьте серверный лог на ошибки.

Режим серверного персонажа

Параметр в serverSettings · Значение по умолчанию · Действие
Параметр в serverSettingsЗначение по умолчаниюДействие
loadServerCharacterOnJointrueПри повторном входе загружает последнее принятое сервером состояние.
maxCharactersPerAccount3Лимит новых регистраций персонажей на Steam-аккаунт.
backupsPerProfile30Количество предыдущих копий дополнительно к текущему сохранению.

При loadServerCharacterOnJoin: true изменения из одиночной игры не заменяют серверного персонажа. По умолчанию старый локальный персонаж с прогрессом не допускается, если сервер ещё не имеет его сохранения: игроку предлагается новый персонаж. Сам отказ не перезаписывает локальную запись.

Новый серверный персонаж сохраняет выбранный при создании внешний вид, а стартовые предметы и прогресс определяются правилами сервера. Возвращающиеся игроки не получают стартовый набор заново. Снижение maxCharactersPerAccount не блокирует уже существующих персонажей; проверенные администраторы и локальный хозяин освобождены от этого лимита.

Если нужно разрешить выбранное локальное состояние

loadServerCharacterOnJoin: false принимает при каждом входе выбранного Local или Steam Cloud персонажа, продолжая собирать серверные сохранения и копии. Тем самым разрешается перенос прогресса из других миров, а стартовые предметы этого режима не применяются.

  1. Выберите режим осознанно: true сохраняет приоритет серверного состояния, false принимает выбранное локальное или облачное состояние при входе.
  2. Помните, что изменение влияет на новые подключения, а не переписывает всех уже находящихся онлайн игроков.
  3. Перед возвратом с false на true попросите игроков нормально выйти, выполните save и дождитесь завершённого checkpoint персонажей.

Где лежат данные и что проверять после изменений

Хранилище ServerManager отделено от профиля менеджера модов и находится в папке сохранений Valheim. При -savedir используется <savedir>/ServerManager. Несколько миров делят это хранилище; для независимых серверов на одном компьютере документация рекомендует отдельные -savedir.

Локальное или Steam Cloud сохранение не доказывает запись персонажа сервером. После планового save дождитесь WorldCharacterCheckpointCompleted с pending=0. Это подтверждает записи, принятые до контрольного момента, но не гарантирует сохранение каждого последнего действия ещё не доставленного клиента.

Информация
Если из сборки убран мод с предметами, игра может пропустить отсутствующие prefab, а последующая запись сохранить уменьшенный инвентарь. Проверяйте состав сборки и резервные копии до такого изменения. Установка и миграция реального сервера в рамках этого гайда не выполнялись.

Гайд был полезен?