Valheim
Install with App

Details

Latest version
1.0.1
Last Updated
First Uploaded
Downloads
41
Likes
0
Size
140KB
Dependants
ADDatHost Valheim hosting
€1

Mod Doctor

Which mod is breaking my game? Mod Doctor answers that for you.

Big modpacks fail in confusing ways: a stack trace that only mentions InventoryGrid.UpdateGui, an error repeated 30,000 times, a patch that silently failed at startup. Mod Doctor watches the game's errors, works out which mod caused each one, explains what it means and tells you what to do.

Versão em português abaixo.

Features

  • Traces every error to a mod. Reads each stack trace and maps it to the plugin that owns the code.
  • Finds culprits hidden inside game methods. When an error surfaces in a patched vanilla method (DMD<InventoryGrid::UpdateGui> with no mod in sight), Mod Doctor asks Harmony which mods patched that method. If one of them also failed to load part of itself, it is named as the likely culprit.
  • Catches startup failures. Errors from plugins that loaded before Mod Doctor are recovered from the start of LogOutput.log.
  • Explains the problem. Each finding is classified: patch failed to apply, incompatible with this game version, error repeating every frame, error in Valheim's own code, or harmless engine message.
  • Stops log spam. After 20 identical copies, repeats are no longer written to LogOutput.log; a one-line summary is written every minute instead.
  • Flags updates. Checks Thunderstore for newer versions of every installed package and highlights the ones that are causing problems.
  • In-game report (F7) and a notice when a mod starts misbehaving while you play.
  • Server summary. Players send their findings to the server, which keeps one report per player and a summary of which mods are breaking for whom.

Example

== TeleportEverything 2.9.1  (OdinPlus-TeleportEverything) ==
  - Incompatible with this game version (443x, ~85/s)
    BadImageFormatException: Expected reference type but got type kind 17
    Where: InventoryGrid.UpdateGui
    Mods patching this method: TeleportEverything 2.9.1, Equipment and Quick Slots 3.1.3
    Pinned on this mod because it is the only one of them that also failed to load part of itself.
    The mod expects game code that no longer exists (built for an older Valheim). Update it; if
    there is no update, remove it.
  - Patch failed to apply (1x)
    ArgumentException: Undefined target method for patch method ... GetTooltip_Patch::Postfix(...)
    Where: TeleportEverything.Plugin.Awake

Where to find the reports

File What
BepInEx/ModDoctor/report.txt Your own report, refreshed every 30 seconds
BepInEx/ModDoctor/summary.txt On a server: which mods are failing, for which players
BepInEx/ModDoctor/players/*.tsv On a server: the latest report from each player

Installation

  • Players: install it like any other mod. It works on its own.
  • Server owners: install it on the dedicated server as well to collect players' reports. Players without Mod Doctor are unaffected, and Mod Doctor never blocks anyone from joining.

Configuration (BepInEx/config/bub.moddoctor.cfg)

Setting Default
General.Language Auto Auto (game language), English or Portuguese
General.ToggleKey F7 Opens the report window
General.ShowToast true Notice when a mod starts causing errors
Log.SuppressRepeats true Stop identical errors flooding LogOutput.log
Log.SuppressAfter 20 Copies written before suppressing
Updates.CheckThunderstore true Look up newer versions on thunderstore.io
Updates.CacheHours 12 How long a lookup is reused
Server.SendReportsToServer true Send your findings to the server you play on
Server.CollectClientReports true On a server, store players' reports

Privacy

  • Update check: requests thunderstore.io/api/experimental/package/<package>/ for each installed package. Nothing about you is sent. Disable with Updates.CheckThunderstore = false.
  • Server reports: your character name, how many plugins you run, and for each problem the mod's name, version, package, error message and where it happened. Sent only to the server you are connected to, and only if it runs Mod Doctor. Disable with Server.SendReportsToServer = false.
  • Nothing else leaves your machine.

Limitations

  • Errors a mod catches and hides itself are invisible to everyone, Mod Doctor included.
  • When several mods patch the failing method and none of them failed elsewhere, all of them are listed as suspects rather than one culprit.
  • Suppressing repeats keeps LogOutput.log readable; Unity's own Player.log is not affected.

Notes

Written with the help of an AI assistant (Claude) and tested on Valheim 1.0.16 with a 35-mod pack, on Windows clients and a Linux dedicated server.


Mod Doctor (português)

Qual mod está quebrando meu jogo? O Mod Doctor responde isso.

  • Descobre o mod por trás de cada erro, pela pilha do erro.
  • Acha o culpado escondido dentro de métodos do jogo: quando o erro aparece num método do Valheim alterado por mods, ele pergunta ao Harmony quem alterou aquele método.
  • Recupera falhas da inicialização, de mods que carregaram antes dele.
  • Explica o problema: patch que falhou, mod incompatível com esta versão do jogo, erro que se repete a cada frame, erro do próprio Valheim ou aviso inofensivo do motor.
  • Corta o spam do log: depois de 20 cópias idênticas, grava só um resumo por minuto.
  • Avisa sobre atualizações no Thunderstore, com destaque para os mods com problema.
  • Relatório no jogo (F7) e aviso quando um mod começa a dar erro.
  • Resumo no servidor: os jogadores enviam o que encontraram, e o servidor mostra quais mods estão quebrando e para quem (BepInEx/ModDoctor/summary.txt).

O relatório segue o idioma do jogo (português ou inglês). Para forçar português, use General.Language = Portuguese em BepInEx/config/bub.moddoctor.cfg.

Privacidade: a verificação de atualizações só consulta a API pública do Thunderstore. O relatório enviado ao servidor contém o nome do personagem e os erros de mods (nome, versão, mensagem), e só vai para o servidor em que você está, se ele tiver o Mod Doctor. As duas coisas podem ser desligadas na config.

DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro
DatHost — Valheim server hosting, first month for one euro