Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ModDoctor
Finds which mod is breaking your game: traces every error to the mod that caused it, explains why, silences log spam, flags Thunderstore updates and gathers players' reports on the server.
| Last updated | 2 hours ago |
| Total downloads | 67 |
| Total rating | 1 |
| Categories | Tools Utility AI Generated Deep North Update |
| Dependency string | HotdogKnights-ModDoctor-1.0.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351README
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 withUpdates.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.logreadable; Unity's ownPlayer.logis 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.