Сервер Valheim с модами: выделенный сервер на своём ПК и BepInEx без боли
Как поднять выделенный сервер Valheim на своём компьютере: Valheim Dedicated Server, start_headless_server.bat, порты 2456–2458, где лежат миры и adminlist.txt, как поставить BepInExPack и моды и почему после обновления игры всё перестаёт грузиться.
Для игры в Valheim с друзьями не обязательно, чтобы хост всё время был в игре. Выделенный сервер держит мир, пока все спят, и спокойно работает на обычном домашнем компьютере. Моды на него ставятся через BepInEx, и здесь есть пара мест, где легко споткнуться.
Установка сервера
Сервер — отдельный инструмент в Steam. В библиотеке включи фильтр «Инструменты» и найди
Valheim Dedicated Server. Если ставишь через SteamCMD, его номер — 896660:
force_install_dir C:\ValheimServer
login anonymous
app_update 896660 validate
quit
Запуск
В папке сервера лежит start_headless_server.bat. Сделай его копию, например
start_my_server.bat, и правь копию: при обновлении сервера оригинал перезапишется.
Главная строка выглядит так:
valheim_server -nographics -batchmode -name "Наш сервер" -port 2456 -world "Midgard" -password "секрет123" -crossplay
-name— имя в списке серверов.-world— имя мира. Если мира с таким именем нет, сервер создаст новый.-password— пароль на вход. Не короче пяти символов и не должен содержать имя сервера, иначе сервер не запустится.-crossplay— нужен, если с вами играют с Xbox или Game Pass. Если все в Steam, можно убрать.
Порты
Сервер использует UDP-порты начиная с указанного в -port: 2456 и два следующих. Для
друзей извне их пробрасывают на роутере и открывают в брандмауэре Windows. С -crossplay
подключение идёт через сервис PlayFab и проброс часто не нужен.
Где лежат миры и списки
Миры и служебные списки хранятся в папке пользователя:
%USERPROFILE%\AppData\LocalLow\IronGate\Valheim
Внутри worlds_local лежат файлы мира .db и .fwl. Рядом лежат три списка:
adminlist.txt, bannedlist.txt и permittedlist.txt. В них пишут SteamID игроков, по
одному в строке. permittedlist.txt работает как белый список: если он не пустой, зайти
могут только перечисленные.
Чтобы перенести свой одиночный мир на сервер, скопируй его .db и .fwl в
worlds_local и укажи его имя в -world.
Перед любыми экспериментами копируй .db и .fwl мира в отдельную папку. Valheim сам
делает резервные копии, но мир, испорченный модом, проще восстановить из копии, которую ты
сделал своими руками пять минут назад.
Моды через BepInEx
Почти все моды для Valheim требуют BepInEx, загрузчик модов для игр на Unity. Для Valheim берут не обычный BepInEx с GitHub, а BepInExPack_Valheim от denikson на Thunderstore: он собран и настроен под эту игру.
Установка на сервер:
- Начни с чистой установки сервера без старых модов.
- Скачай BepInExPack_Valheim.
- Скопируй содержимое папки
BepInExPack_Valheimиз архива в корень папки сервера, туда, где лежитvalheim_server.exe. - Запусти сервер. Если в папке
BepInExпоявилсяLogOutput.log, загрузчик работает.
Моды — это .dll, их кладут в BepInEx\plugins. Настройки модов появляются после первого
запуска в BepInEx\config.
На Linux в паке есть start_server_bepinex.sh. Его делают исполняемым командой
chmod u+x start_server_bepinex.sh и запускают вместо обычного скрипта.
Моды на сервере и у игроков
Большинство модов, которые меняют игру, нужны и на сервере, и у каждого игрока, причём одной версии. Моды чисто для интерфейса, вроде миникарт или удобного инвентаря, часто достаточно поставить себе.
Если друзья не могут зайти после установки модов, сначала сравни списки и версии модов на сервере и у них. Это причина номер один.
После обновления Valheim ничего не работает
Обновление игры часто ломает моды. Обычно выглядит так: сервер стартует, но часть модов не загрузилась, или сервер падает при запуске.
Что делать:
- обнови BepInExPack_Valheim до свежей версии;
- проверь страницы модов: вышла ли версия под новый патч;
- открой
BepInEx\LogOutput.logи найди строки с ошибками рядом с именами модов; - если мод давно не обновлялся, убери его из
pluginsи проверь, стартует ли сервер без него.
Как отдать разбор агенту
Сервер Valheim с модами — это десяток .dll, столько же конфигов и лог BepInEx, в котором
нужно найти одну строку про несовместимую версию.
Дока — ИИ-агент, который работает с файлами и терминалом на твоём компьютере. Дай ей папку сервера и папку с мирами:
- «Сервер не стартует после обновления. Прочитай
LogOutput.logи назови мод-виновник»; - «Сравни список модов на сервере со списком, который прислал друг, и покажи разницу в версиях»;
- «Сделай копию мира
Midgardс датой в названии»; - «В конфиге мода на размер стака поставь 200 для дерева и камня».
Копию мира перед ночным рестартом можно поставить на расписание. Модель в Доке можно держать локальной, а если компьютер занят сервером и игрой, подключить облачную по ключу.
С чего начать
Подними сервер без модов, зайди на него с другом и убедись, что мир сохраняется. Потом поставь BepInExPack и один мод, который нужен всем. Если на каком-то шаге сервер перестал запускаться, скачай Доку и попроси её прочитать лог. Похожие разборы у нас есть для Project Zomboid и Rust.