RE:NODE

Сервер Valheim с модами для друзей: полное руководство

Автор Команда RE:NODE
16 мин чтения


Сервер Valheim с модами для компании друзей сводится к пяти шагам, которые делаются по порядку: договориться о коротком списке модов, собрать один профиль r2modman, который импортируют все, установить BepInExPack Valheim на сервер и скопировать на него плагины и конфиги из профиля, проверить лог сервера до того, как кто-то зайдёт, и после этого ничего не менять так, чтобы это не менялось сразу у всех. Набор из 10-20 хорошо поддерживаемых модов спокойно работает на 4-6 ГБ памяти, запускается за минуту-две и месяцами остаётся стабильным - при условии, что за список отвечает один человек. Почти на каждом сломанном сервере с модами сломан не мод. Просто есть три слегка отличающиеся копии одного и того же списка.

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

Решите, какой сервер с модами вы строите#

Прежде чем выбирать хоть один мод, договоритесь в группе о двух вещах: от них зависит всё остальное.

Насколько далеко вы готовы уйти от ванильной игры? Грубо говоря, есть три уровня:

  • Только удобство. Крафт из ближайших сундуков, сортировка и быстрая раскладка предметов, более удобная камера для строительства, увеличенный инвентарь. Игра остаётся прежней, но рутины становится меньше. Это самый безопасный набор, он лучше всего переживает патчи.
  • Удобство и правила. Всё перечисленное плюс моды, меняющие баланс: посадка чего угодно где угодно, изменённая грузоподъёмность, правила для порталов, уровни существ. Это по-прежнему узнаваемый Valheim, но теперь сервер должен принудительно применять настройки.
  • Контент. Новые предметы, зачарования, существа, биомы или классы. Сюда относятся Epic Loot, Valheim Legends и крупные паки существ. Именно такие моды делают мир новым, и именно они дольше всего обновляются после патча игры.

Группе, которая только начинает, обычно комфортнее всего на втором уровне и не более чем с одним контентным модом. Добавить можно и позже; убрать контентный мод из мира, который его уже использует, гораздо сложнее, чем не добавлять вовсе, потому что добавленные им постройки и предметы перестают существовать.

Есть ли у вас игроки на Xbox или Game Pass на консоли? Консольные игроки не могут устанавливать моды. Если хотя бы один из модов должен стоять на клиенте, сервер получается только для ПК, что бы ни говорил флаг crossplay. Game Pass на ПК - другой случай: в принципе моды он запускает, но r2modman и большинство руководств рассчитаны на копию из Steam, так что планируйте, что все играют через Steam, если только кто-то не готов разбираться со своей собственной настройкой.

Запишите ответы в канале Discord. "Только Steam, удобство плюс Plant Everything и Epic Loot, список ведёт Дима" - вполне хорошая спецификация, она снимает споры до того, как они начнутся.

Как выбрать 10-20 модов, которые будут работать и через месяц#

Моды для Valheim лежат на Thunderstore, и у каждого пакета там есть название вида Author-ModName, версия, список изменений и дата последнего обновления. Для группового сервера оценивайте каждого кандидата по четырём пунктам, прежде чем оценивать, насколько он весёлый.

  1. Когда его обновляли в последний раз? Мод, который не трогали с момента до последнего крупного обновления Valheim, - это риск. Он может работать (многие небольшие моды работают), но вы не узнаете этого до дня патча.
  2. Где его нужно устанавливать? На странице мода написано "server and clients", "client only" или "server only". Это важнее всего остального в списке.
  3. От чего он зависит? Большинству контентных модов нужен Jotunn, а Jotunn нужен HookGenPatcher. Зависимости - это нормально; длинные цепочки зависимостей - это просто больше вещей, которые должны обновиться, прежде чем вы сможете играть.
  4. Пересекается ли он с тем, что уже есть в списке? Два мода, меняющие крафт, инвентарь или выносливость, будут пытаться патчить один и тот же код игры. Выберите один.

Вот реалистичный стартовый набор для группы второго уровня - такой список получается за один вечер споров. Имена авторов указаны так, как они опубликованы на Thunderstore; проверяйте на каждой странице актуальные заметки по установке, потому что колонка "где работает" иногда меняется между версиями.

МодАвторЧто делаетГде работает
BepInExPack ValheimdeniksonЗагрузчик модовСервер и клиенты
JotunnValheimModdingБиблиотека, нужная многим модамСервер и клиенты
PlantEverythingAdvizeПосадка ягод, грибов, деревьевСервер и клиенты
AzuCraftyBoxesAzumattКрафт из ближайших сундуковСервер и клиенты
ComfyGizmoComfyModsБолее точный поворот при строительствеТолько клиент
Epic LootRandyKnappМагические предметы, зачарованиеСервер и клиенты
ServerDevcommandsJereKuuselaАдмин-команды на сервереКлиенты, сервер для доп. функций
Discord ConnectornwesterhausenСообщения о входе, выходе и смертиТолько сервер

Это восемь записей, а вместе с зависимостями в профиле окажется двенадцать пакетов и больше. Добавьте несколько клиентских интерфейсных модов, которые нравятся отдельным игрокам, и вы окажетесь в диапазоне 10-20 без лишних усилий.

Несколько практических правил по опыту работы с такими наборами:

  • Не добавляйте все QoL-моды сразу. Каждый из них мал, но двадцать модов - это двадцать авторов, каждый из которых должен обновиться после патча. Выберите пять неудобств, на которые ваша группа действительно жалуется.
  • Избегайте старых заброшенных версий. У ValheimPlus за годы появилось несколько форков; ставить стоит только поддерживаемый форк сообщества, и он пересекается со многими мелкими модами, поэтому обычно его ставят вместо них, а не вместе с ними.
  • Клиентские моды - личный выбор. В общем профиле их может вообще не быть. Если общий список ограничен тем, что обязано совпадать, всем проще; игроки могут добавить свои клиентские дополнения сверху, на свой риск.

В материале Моды для удобства игры в группе популярные QoL-моды разобраны по одному, а Epic Loot на сервере подробно рассказывает о самом крупном контентном выборе.

Сборка общего профиля в r2modman#

Профиль собирает один человек. Все остальные его только импортируют. Это единственное правило предотвращает большую часть проблем, о которых пойдёт речь дальше.

  1. Установите r2modman, выберите Valheim и создайте новый профиль с названием, содержащим дату или номер, например Longship-2026-10. Если у кого-то старая копия, по названию это сразу видно.
  2. Установите каждый мод на вкладке online. Зависимости подтянутся автоматически - после первого контентного мода вы увидите, как появились BepInExPack Valheim, Jotunn и HookGenPatcher.
  3. Нажмите "Start modded" и дойдите до главного меню. Этот шаг часто пропускают, а он важен: именно первый запуск записывает конфигурационный файл каждого мода в BepInEx/config. В экспорте, сделанном до этого, конфигов нет.
  4. Измените настройки, о которых договорилась группа, через редактор конфигов r2modman или прямо в файлах.
  5. Создайте временный мир, поиграйте десять минут и проверьте, что каждый мод делает то, что обещает. Скрафтите что-нибудь из сундука, посадите что-нибудь необычное, откройте стол зачарования Epic Loot.
  6. Уберите всё, что вы только пробовали, и сделайте экспорт.

r2modman умеет экспортировать профиль в виде короткого кода или файла .r2z. Код удобен для первой установки, но коды загружаются на временный сервис обмена и через какое-то время перестают работать. Файл .r2z - это zip с точным списком модов и версий и копией конфигов, и срок его действия не истекает. Опубликуйте и то и другое в канале группы и закрепите файл. Форматы экспорта и фиксацию версий подробнее разбирает материал Профили r2modman для групп.

Подбор мощности сервера для группы с модами#

Моды расходуют память и время запуска сильнее, чем CPU. Ванильный сервер Valheim для группы лёгок; тот же мир с одним-двумя контентными модами и десятком QoL-модов требует заметно больше запаса, в основном из-за дополнительных префабов, предметов и конфигов, загружаемых при старте.

КонфигурацияИгроковRAMCPUТипичное время запуска
Ваниль2-62-3 ГБ1-1.5 ядраМеньше минуты
Набор QoL, 10-15 модов2-63-4 ГБ1.5-2 ядраОколо минуты
QoL и контент, 15-20 модов4-104-6 ГБ2 ядра1-3 минуты
Много контента, моды генерации мира6-106-8 ГБ2+ ядраНесколько минут

Это отправные точки, а не обещания. Реальное значение зависит от конкретных модов и от того, как много в мире исследовано и застроено, поэтому следите за графиком памяти первые пару недель и переходите на следующий тариф, только если память действительно подходит к пределу. Куда уходит память в долго живущем мире, объясняет материал Сколько RAM нужно серверу Valheim.

На RE:NODE линейка Valheim идёт от 2 ГБ до 8 ГБ, а переход на следующий тариф меняет лимит на том же сервере, так что начать с 4 ГБ и перейти позже стоит только одного перезапуска. Консоль показывает память и CPU на фоне лимитов тарифа - это самый простой способ понять, подходит ли вам набор с модами.

Установка BepInEx и модов на сервер#

r2modman управляет игровым клиентом. На выделенный сервер он ничего не устанавливает, поэтому эта часть делается вручную. Это несложно: папка профиля - это просто папка BepInEx.

  1. Остановите сервер. Если мир уже существует, сначала сделайте backup.
  2. Установите BepInExPack Valheim на сервер. Скачайте его с Thunderstore, откройте архив и загрузите содержимое папки BepInExPack_Valheim - не саму папку - в корень сервера, рядом с valheim_server.x86_64. В итоге рядом с бинарником сервера должны оказаться BepInEx/, doorstop_libs/, unstripped_corlib/ и start_server_bepinex.sh.
  3. Сделайте так, чтобы сервер запускался через BepInEx. На Linux-сервере, которым вы управляете сами, это значит отредактировать start_server_bepinex.sh, указав имя сервера, мир и пароль, и запускать его вместо ванильного скрипта. На панельном хостинге BepInEx включается переменными окружения или параметром запуска BepInEx; какие именно переменные задаёт скрипт, перечислено в руководстве по BepInEx для сервера.
  4. Запустите один раз и остановите. Так создаются собственные BepInEx/config и LogOutput.log сервера, и вы убеждаетесь, что загрузчик работает, ещё до добавления модов.
  5. Скопируйте моды из профиля. В r2modman откройте папку профиля (Settings, затем "Browse profile folder"). Упакуйте в zip BepInEx/plugins, BepInEx/patchers и BepInEx/config, загрузите архив в каталог BepInEx сервера и распакуйте его там. Не копируйте BepInEx/core и любые файлы Windows вроде winhttp.dll: у сервера свои.
  6. Уберите клиентские моды из папки plugins сервера. В нашем примере это ComfyGizmo. Большинство клиентских модов на сервере безвредны, но некоторые выдают ошибки в процессе без экрана и камеры, а каждый лишний мод - это лишнее время запуска.
  7. Запустите сервер и прочитайте лог.

При нормальном запуске в логе перечислены все моды с версиями:

BepInEx/LogOutput.log
[Info   :   BepInEx] Loading [Jotunn 2.x.x][Info   :   BepInEx] Loading [PlantEverything 1.x.x][Info   :   BepInEx] Loading [Epic Loot 0.x.x][Message:   BepInEx] Chainloader startup complete

Номера версий выше - заглушки, у вас будут те, что установил профиль. Чтобы быстро сравнить список на сервере со списком на клиенте, вытащите строки загрузки из обоих логов:

bash
# From the server root$ grep -o 'Loading \[[^]]*\]' BepInEx/LogOutput.log | sort > server-mods.txt

Сделайте то же самое с LogOutput.log из папки BepInEx профиля после одного модифицированного запуска на ПК и сравните файлы через diff. За исключением удалённых клиентских модов, они должны совпадать.

На RE:NODE файловый менеджер распаковывает zip на месте, так что шаг 5 - это одна загрузка; для тех, кому удобнее настольный клиент, есть SFTP - параметры подключения описаны в материале SFTP и файловый менеджер. Моды - это то, что вы загрузили, без какого-либо списка разрешённых.

Конфиги: какие настройки где живут#

Конфиги - то место, где группы расходятся незаметно для себя, потому что несовпадающая настройка редко вызывает ошибку. Просто у одного игрока лимит переносимого веса отличается от остальных.

Настройки модов бывают двух видов:

  • Синхронизируемые с сервером. Моды, построенные на синхронизации конфигов Jotunn или на библиотеке ServerSync, передают эти настройки с сервера каждому клиенту при подключении. Правда - в файле сервера; правки клиента игнорируются или перезаписываются. У многих таких модов есть параметр блокировки, часто называемый Lock Configuration, который делает это строгим.
  • Локальные настройки. Всё остальное - привязки клавиш, параметры интерфейса и настройки модов, которые вообще не синхронизируются. Они свои на каждой машине.

Рабочее правило для группы: синхронизируемые настройки меняйте на сервере и перезапускайте; локальные меняйте в профиле, экспортируйте новую версию и пусть все импортируют заново. Никогда не просите людей править файлы вручную, чтобы они совпали: кто-нибудь обязательно пропустит одну настройку. В материале ServerSync и принудительное применение конфигов объяснено, как понять, к какому виду относится каждая настройка.

Каждый мод записывает собственный файл в BepInEx/config, названный по ID плагина, и его форма всегда одинакова: секции, затем ключи, над которыми написаны описание и значение по умолчанию. Синхронизируемый мод с настройкой блокировки обычно выглядит примерно так (имя файла, секция и ключ здесь условные):

BepInEx/config/author.ModName.cfg
## Settings file was created by plugin ModName[1 - General]## If on, the configuration is locked and can be changed by server admins only.# Setting type: Toggle# Default value: OnLock Configuration = On

Названия ключей и секций различаются между модами и версиями, поэтому открывайте сгенерированный файл на своём сервере, а не копируйте ключи из поста на форуме.

Первое подключение#

Первое подключение сделайте коротким и назначенным заранее - пятнадцать минут вечером в будний день, а не началом долгой сессии. Проблемы проявляются в первые пять минут.

  1. Сначала запускается сервер. Запустите его, дождитесь Chainloader startup complete, а затем строки о том, что мир загружен и сессия активна. Сервер с модами может запускаться пару минут; не перезапускайте его только потому, что он кажется медленным.
  2. Первым заходит один человек. Лучше всего владелец профиля, на точно том экспортированном профиле. Заходите по IP, а не через список сообщества: так быстрее и одной переменной меньше. Все способы входа перечислены в материале Вход по IP и избранное Steam.
  3. Проверьте, что моды работают в игре. Посадите что-нибудь, скрафтите из сундука, проверьте то, что добавляет контентный мод. Если работает у одного игрока, у остальных на том же профиле будет работать тоже.
  4. Затем все остальные импортируют профиль и заходят. Импортируйте .r2z или код, нажмите "Start modded", зайдите по IP.
  5. Добавьте админов. Впишите SteamID64 владельца профиля в adminlist.txt в каталоге сохранений; найти его можно в логе сервера, где записано каждое подключение. Формат описан в материале Файлы списков: объяснение.

Если консольных игроков нет, подумайте о том, чтобы отключить crossplay. Сервер с модами с ним работает, но выгоды нет: трафик идёт через релей PlayFab, а не напрямую на сервер, и в файлах списков ожидаются ID с префиксом платформы вместо обычных SteamID. RE:NODE поставляет Valheim с включённым crossplay, потому что этого хочет большинство ванильных групп; это параметр запуска, ищите его среди переменных на вкладке Startup.

Напишите для группы короткое закреплённое сообщение, например такое:

code
Server: 203.0.113.10:2456   Password: in the pinned message aboveProfile: Longship-2026-10.r2z (pinned)   Do not press "Update all"Problems: post the error text and your LogOutput.log in #server

Обновления без поломок для группы#

Сервер остаётся стабильным, пока список модов меняется в одном месте и доходит до всех сразу. Порядок такой:

  1. Владелец профиля решает, что обновление стоит делать: исправление ошибки, новый мод, за который проголосовала группа, или патч игры.
  2. Сделайте backup сервера, включая всю папку BepInEx, а не только мир.
  3. Обновите профиль, запустите с модами, проверьте на временном мире.
  4. Экспортируйте новый профиль с новым названием и опубликуйте его.
  5. Остановите сервер, замените plugins, patchers и config из нового профиля, запустите, проверьте лог.
  6. Все импортируют новый профиль перед следующей игрой.

Не обновляйте моды посреди недели по одному, по мере появления уведомлений. Собирайте изменения в ежемесячный "вечер обслуживания", если только что-то на самом деле не сломалось.

Патчи игры - отдельный случай: игра обновляется сама через Steam, и на ПК ваших друзей вы это остановить не можете. Сервер с модами должен оставаться на старой сборке, пока моды не догонят, и у этого ожидания есть собственный порядок действий: сервер Valheim с модами после патча игры разбирает полный день патча.

Backup для мира с модами#

Для мира с модами нужно сохранять вместе две вещи: файлы мира (.db и .fwl в worlds_local) и папку BepInEx с плагинами и конфигами. Мир, восстановленный без модов, с которыми в него играли, теряет всё, что эти моды добавили, а папка модов без конфигов - это другая игра.

  • Делайте backup перед каждым изменением списка модов, перед каждым обновлением игры и по расписанию каждый день в час, когда никто не играет.
  • Не позволяйте последнему заведомо рабочему backup выпасть из ротации, пока вы разбираетесь с проблемой.
  • Сократите -saveinterval примерно до 600 секунд на загруженном мире с модами. Сервер с модами падает чаще ванильного, а интервал сохранения определяет, сколько потеряется при аварийной остановке.

На RE:NODE в каждом тарифе Valheim есть слоты backup, backup восстанавливается одной кнопкой, и его можно заблокировать от ротации - именно это стоит сделать с последним рабочим набором модов перед рискованным обновлением. Ежедневный backup можно запускать автоматически на вкладке Schedules. Что внутриигровые backup защищают, а что нет, описано в материале Backup серверов Valheim и повреждение мира.

Что делать в первую ночь, если что-то пошло не так#

Игрока выкидывает сразу после подключения. Почти всегда это несовпадение версий модов, о котором сообщает Jotunn или ServerSync. В сообщении указан мод; у игрока старый или изменённый профиль. Пусть он заново импортирует закреплённый .r2z. Как читать каждое сообщение, объясняет материал Отключения из-за несовпадения версий модов.

"Incompatible version". Это игра, а не мод: у игрока и на сервере разные сборки Valheim. На сервере с модами обычно это значит, что вышел патч. Прочитайте материал про день патча, прежде чем что-либо обновлять.

Моды на сервере ничего не делают. Сервер запускается через ванильный скрипт, поэтому BepInEx не загружается. Если BepInEx/LogOutput.log отсутствует или не обновлялся с последнего запуска, это и есть ответ.

Сервер запускается, затем снова и снова перезапускается. Какой-то плагин роняет процесс, часто из-за отсутствующей зависимости или клиентского мода. Прочитайте конец LogOutput.log; типичные строки разобраны в материале Диагностика логов BepInEx. На RE:NODE три перезапуска из-за падения за час выводят предупреждение на странице сервера и открывают тикет, так что цикл заметят, даже если вы спите.

Настройки у игроков отличаются. Это локальная настройка в моде без синхронизации. Измените её в профиле и раздайте заново или оставьте как личный выбор.

Один игрок вызывает лаги у всех рядом. Дело не в модах, а во владении зонами в Valheim и в соединении этого игрока. Почему так, объясняет материал Производительность и лаги в Valheim.

FAQ#

Сколько модов слишком много для сервера друзей?

Точного числа нет, но цена модов - это поддержка, а не производительность. Десять-двадцать модов один человек может держать актуальными; при сорока дни патча растягиваются на недели, потому что вы ждёте сорок авторов. Уберите всё, чего никто не заметит.

Нужно ли друзьям что-то устанавливать, если мод стоит только на сервере?

Нет. Серверным модам, например мосту в Discord, ничего не нужно на клиенте. Игроки могут даже зайти без BepInEx вообще, если на сервере нет модов, которым нужна копия и на клиенте.

Можно ли добавить мод посреди жизни мира?

Для большинства модов да: добавьте его в профиль, раздайте заново, поставьте на сервер и перезапустите. Контентные моды, меняющие генерацию мира, затрагивают только зоны, которых никто ещё не исследовал. Убирать контентный мод позже рискованно, потому что добавленные им предметы и постройки перестают загружаться.

Можно ли использовать Thunderstore Mod Manager или Gale вместо r2modman?

Подойдёт любой. Thunderstore Mod Manager построен на r2modman, а Gale умеет импортировать коды и файлы r2modman. Важно лишь то, чтобы профиль собирал один человек и все импортировали именно этот экспорт.

Сможет ли игрок со Steam Deck зайти на сервер с модами?

Обычно да, потому что Deck запускает версию игры из Steam, а у r2modman есть сборка для Linux. Настройка сложнее, чем в Windows, поэтому проведите этого игрока через первое подключение до первой настоящей сессии группы.

Что будет с модовыми предметами, если кто-то зайдёт без модов?

Если сервер требует мод на клиентах, игрока без него обычно не пустит проверка версий. Если требование не принудительное, клиент не сможет отобразить незнакомые ему предметы, и эти предметы могут пропасть из инвентаря игрока. Держите всех на одном профиле.