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

Как разобрать ошибку мода после обновления Valheim

Поиск первой ошибки в журнале, чтение Harmony и MissingMethod, пределы выводов из NullReference и полезный отчёт автору мода.
Версия не проверена

Если BepInEx уже загружает плагины, но после обновления перестала работать конкретная функция, переходите к журналу ошибок плагинов. Сначала сохраните полный свежий журнал запуска и действия, после которого возникает сбой. Последняя строка повторяющейся ошибки не всегда объясняет её начало.

Зафиксируйте исходные условия

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

Обычно нужен BepInEx/LogOutput.log. В менеджерах Thunderstore его можно найти через настройки профиля и переход к папке профиля. Если BepInEx вообще не запускается и свежего журнала нет, сначала нужна диагностика загрузчика; разбор исключений ниже относится к уже работающему модифицированному клиенту.

Найдите первую ошибку и её окружение

Ищите первое появление Error или текста исключения и читайте соседние строки загрузки плагинов, затем весь stack trace. Имя мода в нём даёт основание проверить этот мод и обратиться к автору, но само по себе не доказывает единственную причину. Название общей библиотеки или зависимости также не равно установленному виновнику.

Сообщение · Как понимать
СообщениеКак понимать
AccessTools.DeclaredMethod: Could not find method / Undefined target methodПлагин пытается наложить Harmony-патч на отсутствующий метод. Сопоставьте ближайшие строки загрузки и имя плагина с поддерживаемой версией игры.
MissingMethodException / MissingFieldExceptionКод обращается к методу или полю, которого нет в загруженной сборке. После обновления это повод проверить совместимость мода; одного имени метода недостаточно для выбора виновника.
NullReferenceException без имени модаНе позволяет надёжно определить мод по одному stack trace. Нужны действия воспроизведения, контекст и помощь сопровождающих.

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

Если ошибка начинается при выходе из области

При повторяющемся ZNetScene.RemoveObjects и резком падении FPS источник рекомендует отметить момент начала ошибки и биом области, которую вы только что покинули. Ошибка связана с удалением некорректного объекта из загружаемой сцены; какой именно предмет, существо или строительная деталь её вызвали, по этому имени не видно.

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

Проверка изменений без риска для единственного мира

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

Что передать автору или поддержке

  • Версию игры и ветку, версии мода, его зависимостей и BepInExPack; если видно, отдельно номер BepInEx внутри пакета.
  • Полный свежий журнал запуска, первую ошибку со stack trace и соседними сообщениями загрузки.
  • Ожидаемый результат, фактический симптом и короткую последовательность действий для повторения.
  • Для ошибки удаления объектов — момент начала, область/биом и наблюдаемые объекты; для сравнения профилей — какое конкретно изменение проверялось.

Если журнал не называет мод, передайте его со сценарием воспроизведения сообществу поддержки вместо догадки по последней строке. Для проблем самого Valheim-пакета BepInEx его сопровождающие направляют в поддержку Valheim-сборки: она отличается от обычного upstream BepInEx.

Информация
Гайд использует сохранённую страницу Valheim Modding Wiki и описание Valheim-пакета BepInEx. Исторические списки сломанных модов, временные hotfix и старые патчи не превращены в рекомендации для текущей версии. Игра и проверка отключением модов здесь не запускались.

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