For Warcraft III custom maps

Broken maps, saved.

WC3 Map Doctor reads a custom map, finds what crashes it, desyncs it, leaks memory or broke after a patch, and fixes the safe cases on a copy. Your original is never touched.

Instant scans open soon

Self-serve scans open after public hosting and a security review. Until then, send us a map with a request: post it on our Discord with a link to the map's page, and the community votes on which map gets saved each week.

  • Never unlocks protected maps
  • Never adds cheats
  • Every change is shown line by line
Lanternfall DefenseA map we built to show a report
Example
Saved
Was 2 (F). Fixed on a copy, re-scanned, script re-checked.
23→8findings
3→0Errors
fails→runson 3.0.1
Real engine output, nothing typed by hand.Open the full report
387engine runs on 26 of the hardest maps we hold312 passed every check, 74 were refused with a reason, 1 failed
Source: docs/gauntlet/gauntlet-out.md
1,343,690object-data edits read by two independent map readers0 disagreements across 24 maps
Source: docs/oracle/oracle-out.md
121detection rules in the current rule packchecked against 6 game builds, 1.26 to 3.0.1
Source: tools/doctor/rules.json
75error cards behind the findingseach with symptom, cause, fix and sources
Source: corpus/wc3/errors/

How a map gets saved

Read it. Fix a copy. Prove it.

No guesswork and no black box. Each step leaves evidence you can check.

Fig. 1

Read and diagnose

Opens the archive read-only and decodes the script, object data, strings and imports. Then 121 rules check it against 6 game builds. Findings come grouped as Errors, Severe, Warnings and Info, each with the line it came from.

Fig. 2

Fix on a copy

Only fixes rated safe or review, each a small named edit: rename a function that clashes with a new native, free a leaked location, destroy a forgotten effect. The input file is hashed before and after.

Fig. 3

Prove every change

The copy is re-opened, re-scanned and its script re-compiled. You get the score before and after, every line that changed, and a list of what the fix did not touch and why.

Our line

What we will never do

A map belongs to the person who made it. These rules hold for every request, from anyone.

Read the full policy
  • Unprotect or deprotect a mapProtected maps are reported as protected. Play-side fixes only, and only when the map can be read without unlocking it.
  • Add cheats or remove anti-cheatCheat and exploit patterns are reported, never added or stripped.
  • Strip or change author creditsNames, loading screens and credits stay as the author left them.
  • Make a map less protected than it wasArchive protections are restored byte for byte in the fixed copy.
  • Post someone else's map without consentWithout the author's OK we publish the report and let players fix their own copy.

The request board

Send a map. Vote. One gets saved every week.

Send us a broken map with what you want done. Members vote on Discord, one vote per account; the top five go to a poll every Friday and the winner is saved that week.

This week's pickEvery Friday at 18:00 UTC the five requests with the most votes go to a 24-hour poll in #weekly-pick; the winner is announced on Sunday at 16:00 UTC.
The top requests show here when the board can be loaded. Open the request page or see the votes on Discord.

Join the Discord

Request a fix for a map you play, vote on the weekly pick and tell us what breaks.