Details
Expansion
Categories
Developers
Having issues?
MapDumper
MapDumper is a lightweight developer utility designed to scan, parse, and export game world mapping data—specifically UiMapID and AreaID (subzone) references—directly from the World of Warcraft client.
Whether you are building quest trackers, coordinate tools, navigation waypoints, or custom database tables, MapDumper pulls clean, indexed map metadata directly into an in-game copy-paste window as formatted JSON, as well as preserving it in your SavedVariables.
Features
- Automated Map Hierarchy Crawl: Iterates through client map registries using
C_Map.GetMapInfoto capture names, numeric map types, resolved human-readable map types (World, Continent, Zone, Dungeon, Micro, Orphan), and parent map links. - AreaTable / Subzone Scraping: Gathers all valid subzone and
AreaIDstrings viaC_Map.GetAreaInfo. - Nil & Orphan Sanitization: Filters out empty strings, invalid table records, and non-existent parent links to guarantee clean, immediately usable datasets.
- In-Game Copy-Paste Window: Formats all scraped data into standard JSON on the fly and opens a scrollable UI frame with text automatically selected, letting you copy everything to your clipboard (
Ctrl+C) with zero hassle. - SavedVariables Persistence: Flushes clean tables into
MapDumperDBinside your client's SavedVariables file upon/reloador logout.
Usage
- Log into your character.
- Type
/dumpmapsin chat. - The crawler will iterate the map tables and open the MapDumper Export window.
- Press
Ctrl+Cto copy the pre-selected JSON payload, then paste it directly into your IDE, database file, or external scripts. - If you prefer working directly with raw Lua tables, export to your SavedVariables file using the steps below.
Accessing SavedVariables Data
World of Warcraft holds modified SavedVariables in memory while the game is running and writes them to disk only during a UI reload, logout, or clean exit.
1. Flush Data to Disk
After running /dumpmaps in-game, type either command in chat to commit memory to disk:
/reload
(Alternatively, log out to the character select screen.)
2. Locate the File
Navigate to your World of Warcraft installation directory. SavedVariables are stored at the account level:
- Forever:
World of Warcraft_classic_beta_WTFAccount<ACCOUNT_NAME>SavedVariablesMapDumper.lua
Note: If you have multiple account folders (e.g.,
12345678#1or named accounts), select the folder matching the active account you logged into.
3. Reading the File
Open MapDumper.lua in your editor. The data is saved under the global variable MapDumperDB:
MapDumperDB = {
["UiMaps"] = {
[1411] = {
["name"] = "Durotar",
["mapTypeID"] = 3,
["mapType"] = "Zone",
["parentMapID"] = 1414,
},
},
["AreaIDs"] = {
[14] = "Durotar",
[363] = "Valley of Trials",
},
}
This table can be imported directly into other Lua addon projects as a static database file (Data.lua) by removing the MapDumperDB = wrapper or assigning it to your addon's private namespace.
Output Structure (JSON Window)
The in-game copy-paste window provides the exact same sanitized data formatted as standard JSON:
{
"UiMaps": {
"1411": { "name": "Durotar", "mapTypeID": 3, "mapType": "Zone", "parentMapID": 1414 },
"1414": { "name": "Kalimdor", "mapTypeID": 2, "mapType": "Continent", "parentMapID": 947 }
},
"AreaIDs": {
"14": "Durotar",
"363": "Valley of Trials"
}
}
Slash Commands
/dumpmaps– Runs the crawler and opens the copy-paste export interface.
You must be logged in to leave a comment.