ServerManager в Valheim: серверный или локальный персонаж при входе
ServerManager хранит принятое состояние персонажа на сервере и при входе может возвращать именно его. Это сторонний мод для выделенного сервера или мира с Start Server; состояние локального хозяина тоже управляется им. Инструкция относится к ServerManager 1.2.3 по документации автора, а не к штатному хранению персонажей Valheim.
Подготовка установки
- Сверьте совместимость версии: разобранная документация ServerManager требует Valheim 1.0.20 на сервере и клиентах.
- Установите ServerManager.dll в BepInEx/plugins на сервере и у всех клиентов. Если используются другие плагины, настройте для них required и optional: неуказанные BepInEx-плагины не допускаются у обычных игроков.
- Отключите crossplay и не совмещайте разные моды, управляющие теми же сохранениями персонажей. При замене старого менеджера сначала сохраните данные.
- После первого запуска откройте созданный ServerManager.yml и проверьте серверный лог на ошибки.
Режим серверного персонажа
| Параметр в serverSettings | Значение по умолчанию | Действие |
|---|---|---|
| loadServerCharacterOnJoin | true | При повторном входе загружает последнее принятое сервером состояние. |
| maxCharactersPerAccount | 3 | Лимит новых регистраций персонажей на Steam-аккаунт. |
| backupsPerProfile | 30 | Количество предыдущих копий дополнительно к текущему сохранению. |
При loadServerCharacterOnJoin: true изменения из одиночной игры не заменяют серверного персонажа. По умолчанию старый локальный персонаж с прогрессом не допускается, если сервер ещё не имеет его сохранения: игроку предлагается новый персонаж. Сам отказ не перезаписывает локальную запись.
Новый серверный персонаж сохраняет выбранный при создании внешний вид, а стартовые предметы и прогресс определяются правилами сервера. Возвращающиеся игроки не получают стартовый набор заново. Снижение maxCharactersPerAccount не блокирует уже существующих персонажей; проверенные администраторы и локальный хозяин освобождены от этого лимита.
Если нужно разрешить выбранное локальное состояние
loadServerCharacterOnJoin: false принимает при каждом входе выбранного Local или Steam Cloud персонажа, продолжая собирать серверные сохранения и копии. Тем самым разрешается перенос прогресса из других миров, а стартовые предметы этого режима не применяются.
- Выберите режим осознанно: true сохраняет приоритет серверного состояния, false принимает выбранное локальное или облачное состояние при входе.
- Помните, что изменение влияет на новые подключения, а не переписывает всех уже находящихся онлайн игроков.
- Перед возвратом с false на true попросите игроков нормально выйти, выполните save и дождитесь завершённого checkpoint персонажей.
Где лежат данные и что проверять после изменений
Хранилище ServerManager отделено от профиля менеджера модов и находится в папке сохранений Valheim. При -savedir используется <savedir>/ServerManager. Несколько миров делят это хранилище; для независимых серверов на одном компьютере документация рекомендует отдельные -savedir.
Локальное или Steam Cloud сохранение не доказывает запись персонажа сервером. После планового save дождитесь WorldCharacterCheckpointCompleted с pending=0. Это подтверждает записи, принятые до контрольного момента, но не гарантирует сохранение каждого последнего действия ещё не доставленного клиента.
Гайд был полезен?