dk-doctor
Static analyzer · RPG Maker MV / MZ

Find the bugs in your game before your players do.

dk-doctor reads your RPG Maker project and reports real bugs and risks — broken transfers, dead switches, dangling references, plugin conflicts — each with its exact location and the fix. Never a wall of statistics.

$cargo install dk-doctor
Free & offline — deterministic engine, honest confidence.
Built on DKPlugins RPG Maker MV & MZ Rust-fast, runs offline Deterministic · honest confidence
What it finds

Every line is a bug and its exact place.

dk-doctor states cause and symptom — and, where it can, the treatment. No event counts, no graphs to interpret. Just findings you can act on.

data/Map007.jsonMap007/EV012/page1/cmd8(broken-transfer)

Transfer Player → Map099, which does not exist — the game crashes when the event fires.

Map099 missing — did you mean Map009?
data/Classes.jsonClass03/learnings(dangling-reference)

Skill #44 is learned by Hero at level 12 but is absent from Skills.json — crash on level-up.

data/Map003.jsonMap003/EV005/page2(uninitialized-symbols)(likely)

Switch #14 is read by 3 page conditions but never set by any event — those pages are unreachable.

Set Switch #14 somewhere, or delete the gated pages.
js/pluginsABMZ_Core · QInput(plugin-conflict)(likely)

Both alias Game_Battler.prototype.gainHp; load order clobbers ABMZ_Core's logic.

Reorder them in the Plugin Manager.
img/charactersHero2.png(orphan-asset)

Imported but referenced by no event or database row — safe to remove.

data/CommonEvents.jsonCE017(dead-common-event)

Never called by command 117 and not autorun or parallel — dead code.

How it works

Point it at your project. Read the diagnosis.

No config and no changes to your game. dk-doctor reads, runs every rule in parallel, and hands back a triaged report.

01
Run it on your project

Point dk-doctor at any RPG Maker MV/MZ folder — dk-doctor ./MyGame. It reads the files, never writes them.

02
It reads everything

Maps, events, the database, assets and plugins are parsed into one engine-agnostic model — then every deterministic rule runs at once.

03
Read the findings

Triaged errors → warnings → info, grouped by category and map, each with its exact location, confidence, and the fix.

Coverage

Categories of problem, one severity language.

Color always means severity — never decoration. Every finding is tagged certain, likely, or ai, so you always know how much to trust it.

datadata
9

DB referential integrity — skills, items, traits, troops, encounters that point at nothing.

252
referencereference
7

Event and database cross-references that resolve to a missing target.

331
assetasset
12

Broken and orphaned images, audio and tilesets across the project.

129
dead-codedead-code
6

Orphan common events, unreachable pages and dead conditional branches.

24
plugin-orderplugin
3

Load-order hazards between plugins that alias the same method.

3
plugin-conflictplugin
3

Plugins that silently clobber each other's logic at runtime.

12
Plugin findings deepen with the AI-augmented analysis — opaque scripts resolved, compatibility judged, false positives cut.

Run it on your project. Read the diagnosis.

dk-doctor is free and offline — a deterministic engine with honest confidence that reads your project and never touches your files.