Valheim: моды через BepInEx на своём сервере
Что такое BepInEx, как устроены его папки, где лежат моды, конфиги и лог, как поставить загрузчик в панели EGN и разобраться, почему мод не загрузился.
Содержание 17
- Коротко
- Как работает загрузчик
- Установка в панели EGN
- Из чего состоит папка BepInEx
- Ручная установка мода
- Как читать LogOutput.log
- Моды у игроков
- Сервер не запускается после мода
- Симптом, причина и решение
- Частые ошибки
- Что дальше
- Итог
- Вопросы и ответы
- Что такое BepInEx и зачем он на сервере Valheim?
- Где на сервере лежат конфиги модов?
- Где смотреть ошибки загрузки модов?
- Нужно ли ставить моды игрокам?
Моды в Valheim держатся на загрузчике BepInEx: игра запускается через него, а он подгружает файлы .dll из своей папки. Если понимать, как загрузчик устроен, любая проблема с модами разбирается за несколько минут. В этой статье разберём устройство BepInEx на сервере, установку в панели EGN, конфиги, лог и работу с игроками. Установку и обновление конкретных пакетов из каталога мы вынесли в отдельный материал: моды Valheim из каталога Thunderstore в панели.
Коротко
BepInEx — загрузчик модов для игр на Unity, и для Valheim он нужен почти всем модам. На сервере EGN его ставит кнопка «Установить BepInEx» в разделе «Моды». Пакеты кладутся в BepInEx/plugins, настройки появляются в BepInEx/config после первого запуска, а причины ошибок видны в BepInEx/LogOutput.log. Большинство модов должны стоять и на сервере, и у игроков в одинаковых версиях.
Как работает загрузчик
Valheim сам по себе не умеет подключать чужой код. BepInEx (для Valheim обычно используется сборка BepInExPack_Valheim из каталога Thunderstore, это серия 5.x) встаёт между запуском и игрой: при старте сервера он находит плагины, загружает их и пишет журнал. Если загрузчик не подключён к запуску, моды лежат на диске мёртвым грузом, и сервер работает как обычный.
На сервере EGN подключением занимается файл egn-launch.sh в корне сервера: он собирает команду запуска и добавляет в неё загрузчик. Именно поэтому его нельзя удалять и переименовывать. Если файл потерян, достаточно нажать «Установить BepInEx» ещё раз.
Не удаляйте egn-launch.shЧерез
egn-launch.shв корне сервера подключается загрузчик. Если вы удалили файл, нажмите «Установить BepInEx» в разделе «Моды» ещё раз: панель создаст его заново.
Установка в панели EGN
- Откройте страницу сервера Valheim и перейдите в раздел «Моды».
- Если загрузчика нет, вверху появится красная плашка «Загрузчик BepInEx не установлен — моды не загрузятся». Нажмите «Установить BepInEx».
- Дождитесь завершения. После установки в шапке раздела будет написано «BepInEx установлен · папка /BepInEx/plugins/».
- Перезапустите сервер, чтобы загрузчик подключился при старте.
После установки шапка раздела меняется, а во вкладке «Установлено» появляется список пакетов из папки плагинов:
Установка не требует ручной распаковки архивов. Панель сама убирает за собой временные файлы установки, поэтому лишних папок в корне не остаётся.
Из чего состоит папка BepInEx
После первого запуска с загрузчиком в корне сервера появляется папка BepInEx. Основное, что вам понадобится:
| Путь | Что там лежит | Зачем открывать |
|---|---|---|
BepInEx/plugins |
пакеты модов, чаще по одной папке на мод | добавить или убрать мод |
BepInEx/config |
файлы настроек модов (.cfg) и BepInEx.cfg |
поменять параметры мода |
BepInEx/LogOutput.log |
журнал загрузки плагинов | понять, почему мод не работает |
BepInEx/patchers |
патчеры загрузчика | обычно трогать не нужно |
Конфиги модов создаются только после первого запуска с этим модом. Поэтому порядок такой: поставили мод, запустили сервер, остановили, открыли файл в BepInEx/config и поправили значения. Файлы настроек называются по идентификатору мода, например author.modname.cfg, и это обычные текстовые файлы с комментариями, где описан каждый параметр.
Пример структуры после установки двух пакетов (имена папок в панели EGN формируются как Автор-Пакет):
BepInEx/
├── plugins/
│ ├── ValheimModding-Jotunn/
│ └── RandyKnapp-EpicLoot/
├── config/
│ ├── BepInEx.cfg
│ └── randyknapp.mods.epicloot.cfg <- появится после первого запуска
└── LogOutput.logОдин мод — одна папкаДержите каждый мод в своей папке внутри
plugins. Так его проще отключить и удалить, а в журнале проще понять, чей код загрузился. Панель EGN при установке из каталога делает именно так.
Отключённые через панель пакеты уходят в BepInEx/egn-disabled. Из этой папки они не загружаются, но возвращаются одним нажатием, поэтому для проверки гипотез удобнее отключать мод, а не удалять.
Ручная установка мода
Если нужного пакета нет в каталоге панели или вы получили файл от автора, мод можно поставить вручную через «Файлы» или SFTP:
- Скачайте архив мода со страницы пакета на Thunderstore (кнопка Manual Download).
- Распакуйте архив на своём компьютере и посмотрите содержимое. Внутри обычно лежит файл
.dllи вспомогательные файлы. - Создайте в
BepInEx/pluginsпапку с понятным именем и загрузите в неё содержимое. - Поставьте зависимости, которые указаны на странице пакета, до перезапуска.
- Перезапустите сервер и откройте
BepInEx/LogOutput.log.
Как загрузить папку с файлами, показано в статье про файловый менеджер панели.
Как читать LogOutput.log
Журнал загрузчика пишется при каждом старте. Для диагностики достаточно трёх вещей.
- Строки вида «Loading [Название версия]» показывают, какие плагины загрузчик нашёл. Если вашего мода среди них нет, он лежит не в той папке или загрузчик не подключён.
- Строки с уровнем Error или Warning перед сообщением об остановке сервера указывают на виновника.
- Сообщение о недостающей зависимости называет пакет, который нужно поставить.
Откройте файл в «Файлах» панели и ищите по названию мода. Если журнал не обновился после перезапуска, значит BepInEx не запускался: проверьте egn-launch.sh и кнопку установки.
Моды у игроков
Почти все моды Valheim нужны и серверу, и игрокам, причём тех же версий. Моды только для интерфейса, графики или управления ставит только игрок. Консольная версия Valheim модов не поддерживает, поэтому игрокам с консолей сервер с модами недоступен.
Чтобы у всех был одинаковый набор:
- Игроки ставят r2modman или Thunderstore Mod Manager. Это бесплатные менеджеры для работы с профилями модов.
- Вы создаёте профиль с нужными модами и экспортируете его кодом (в r2modman это раздел «Settings», пункт экспорта профиля в виде кода).
- Друзья импортируют профиль по коду, и у всех оказывается один и тот же набор.
Если вы ставите моды из каталога панели, список пакетов для друзей можно взять там же: в разделе «Моды» есть «Список для игроков». Его удобно переслать в личные сообщения.
Сервер не запускается после мода
Над консолью сервера может появиться подсказка Доктора сервера. Самые частые причины:
- Не хватает зависимости. Чаще всего это библиотека Jotunn. Её название есть в строке ошибки в журнале.
- Мод не обновлён под текущую версию Valheim. После патча игры часть модов перестаёт работать, пока автор не выпустит обновление. Отключите мод или подождите.
- Клиентский мод на сервере. Моды интерфейса на сервер ставить не нужно.
- Конфликт двух модов. Они меняют одно и то же. В журнале видно, где именно произошла ошибка.
Поиск виновника делением пополамПеренесите половину модов из
pluginsво временную папку и запустите сервер. Если он работает, виновник в перенесённой половине. Повторяйте, пока не останется один мод.
Симптом, причина и решение
| Симптом | Вероятная причина | Что сделать |
|---|---|---|
| Мод стоит, эффекта нет | Загрузчик не подключён или нет перезапуска | Проверьте кнопку «Установить BepInEx», перезапустите |
В config нет файла мода |
Мод ещё не запускался | Запустите сервер один раз |
| Ошибка про отсутствующую зависимость | Не поставлена библиотека | Поставьте указанный пакет |
| Игрок не заходит, пишет о несовпадении | Разные версии мода | Синхронизируйте версии |
| Сервер падает сразу после патча игры | Мод устарел | Отключите мод, дождитесь обновления |
LogOutput.log не меняется |
BepInEx не стартует | Проверьте egn-launch.sh |
Частые ошибки
- Кладут мод в корень
pluginsбез папки. Потом непонятно, какие файлы чьи. - Копируют моды в чужую структуру. Папка должна лежать именно в
BepInEx/plugins. - Правят конфиг при работающем сервере. Сервер может перезаписать его при остановке. Редактируйте файлы на остановленном сервере.
- Обновляют мод у себя, а на сервере нет. Версии расходятся, вход блокируется.
- Нет снимка перед экспериментами. Перед установкой нового набора сделайте копию в «Бэкапах».
Что дальше
Если вам нужен готовый набор, а не ручная сборка, посмотрите популярные модпаки Valheim и каталог «Сборки» в панели. Работа с каталогом пакетов подробно описана в статье про Thunderstore в панели EGN. Мир с модами переносите по порядку из статьи про перенос мира.
Итог
BepInEx — основа всех модов Valheim. На сервере EGN он ставится кнопкой, моды живут в BepInEx/plugins, настройки в BepInEx/config, а ответ на вопрос «почему не работает» лежит в BepInEx/LogOutput.log. Держите моды по одной папке, синхронизируйте версии с игроками и делайте снимок перед изменениями.
Вопросы и ответы
Что такое BepInEx и зачем он на сервере Valheim?
Это загрузчик модов для игр на Unity. Без него файлы из BepInEx/plugins не подключаются, и сервер работает как обычный.
Где на сервере лежат конфиги модов?
В BepInEx/config. Файлы появляются после первого запуска с модом, поэтому один раз запустите сервер, остановите его и только потом правьте настройки.
Где смотреть ошибки загрузки модов?
В файле BepInEx/LogOutput.log. В нём видно, какие плагины загрузились и какого пакета не хватает.
Нужно ли ставить моды игрокам?
Да, почти все моды нужны и серверу, и игрокам в одинаковых версиях. Чисто клиентские моды интерфейса ставит только игрок.
Сервер Valheim с модами за пару минут — egnetwork.ru
Читать далее
Вся рубрика →Популярные модпаки Valheim для сервера: что ставить и что убрать
Какие моды Valheim чаще всего ставят на сервер, какие работают только у игрока и как собрать модпак, который запускается с первого раза.
Бэкапы миров Valheim: автосохранение, снимки и восстановление
Как настроить регулярные копии мира Valheim: встроенные параметры -saveinterval и -backups, снимки в панели EGN и порядок восстановления без потери прогресса.
Valheim: кроссплей, Xbox и подключение к серверу по адресу
Когда нужен кроссплей Valheim, как включить его в панели EGN, почему Steam и Xbox заходят по-разному и как подключиться по адресу, если сервер скрыт из списка.