ModDoctor

v1.0.0·Updated 2026-10-10

Trouve le mod qui pose problème: nomme le mod en cours quand le jeu se fige, attribue chaque erreur à son mod, explique les mods non chargés et les conflits. Côté client.

About this mod Author’s original text

ModDoctor: trouve le mod qui pose problème

Avec beaucoup de mods, il arrive que tout se bloque sans rien dans la console: le jeu se fige, un chargement

ne finit jamais, ou des erreurs défilent sans dire quel mod les cause. ModDoctor surveille la partie et nomme le mod

responsable, dans la console, dans un rapport et à l'écran.

Il est côté client et n'a besoin de rien chez les autres joueurs.

Ce qu'il détecte

| Problème | Ce que ModDoctor fait |

|---|---|

| Le jeu se fige (boucle infinie, attente sans fin…) | Un thread à part remarque que le jeu ne produit plus d'image et écrit tout de suite, sans attendre que le jeu reparte, la méthode de mod en cours d'exécution, les dernières méthodes de mods appelées et les dernières erreurs. Si le jeu repart, c'est noté aussi. |

| Le jeu a été fermé de force pendant un blocage | Au lancement suivant, le suspect de la session précédente est affiché. |

| Exceptions | Chaque erreur est reliée au mod dont le code apparaît dans la pile d'appels. Si elle a lieu dans une méthode du jeu modifiée par Harmony, les mods qui la modifient sont indiqués. |

| Erreurs en boucle | Une erreur répétée plusieurs fois par seconde est signalée à part: c'est souvent elle qui « bloque » un chargement ou une action. |

| Mod non chargé | Il dit pourquoi: dépendance absente ou trop ancienne, incompatibilité déclarée, mod d'un autre jeu. |

| Mod qui plante au démarrage | Erreur dans son Awake. |

| Doublons | Le même mod présent deux fois dans plugins (ancienne copie oubliée). |

| Conflits Harmony | Méthodes du jeu modifiées par plusieurs mods, dont un peut annuler la méthode d'origine, ou que plusieurs mods réécrivent. |

| « Pas de log dans la console » | Il signale si la console BepInEx est désactivée, si les erreurs Unity ne sont pas copiées dans le journal, ou si la console masque les erreurs. |

Où lire les résultats

  • Console BepInEx: chaque problème sur une ligne (en rouge s'il est grave), puis un résumé une fois les mods chargés.
  • En jeu: une petite alerte en haut à gauche pendant 15 s quand un nouveau problème apparaît. F9 ouvre la liste,

les plus graves d'abord. F10 masque complètement ModDoctor à l'écran (et le réaffiche); le choix est retenu pour

les parties suivantes, et la surveillance comme le rapport continuent.

  • BepInEx/ModDoctor/rapport.txt: tout le détail, plus la liste des mods chargés et celle des conflits Harmony.

rapport-precedent.txt contient la session d'avant.

  • BepInEx/ModDoctor/blocage-.txt: un fichier par blocage, écrit pendant que le jeu est figé.

Avec r2modman, le dossier BepInEx est celui du profil (Paramètres → « Browse profile folder »).

Exemple de rapport de blocage

=== BLOCAGE: le jeu ne répond plus depuis 8 s ===

Scène: MainMenu

Suspect principal: BuggyMod › BuggyMod.BuggyBehaviour.FreezeRoutine (coroutine)

Pourquoi: le thread principal est à l'intérieur de cette méthode.

Installation

Avec r2modman Mod Manager: installer ModDoctor dans le profil qui pose problème.

À la main: installer BepInExPack 5.4.2305, puis copier ModDoctor.dll dans BepInEx/plugins.

Réglages

BepInEx/config/emeric.moddoctor.cfg:

  • SecondesAvantAlerte (8): durée sans image avant de parler de blocage. Un long chargement peut déclencher une

fausse alerte; le rapport indique alors que le jeu est reparti.

  • SuivreLesMods (oui): suit l'exécution des mods pour nommer celui qui bloque (voir plus bas).
  • MethodesSuiviesMax (6000), ModsExclus (GUID séparés par des virgules): à utiliser si le suivi gêne un mod.
  • ErreursEnBoucleParSeconde (20): seuil des erreurs en boucle.
  • AlerteEnJeu (mis à jour par F10), ToucheRapport (F9), ToucheMasquer (F10), DureeAlerte (15 s, 0 = jusqu'à

ouverture de la liste), ConflitsDansLAlerte.

Testé

  • Jeu: build Steam 22825947 (Unity 2022.3.62), BepInEx 5.4.23.5, au menu principal, en LAN.
  • Test automatique avec un faux mod volontairement bogué. Vérifié:
  • blocage détecté et écrit pendant que le jeu est figé, avec la bonne coroutine;

-

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack

File & checksum

Filename
ModDoctor-1.0.0.zip
File size
39.2 KiB