Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Version Support

World of Warcraft client version compatibility and file format changes.

Supported Client Versions

ExpansionVersionPatchBuildStatus
Classic (Vanilla)1.12.11.12.1.58755875✅ Supported
The Burning Crusade2.4.32.4.3.86068606✅ Supported
Wrath of the Lich King3.3.53.3.5a.1234012340✅ Supported
Cataclysm4.3.44.3.4.1559515595✅ Supported
Mists of Pandaria5.4.85.4.8.1841418414✅ Supported

File Format Versions

MPQ Archives

VersionClientChangeswow-mpq Support
v11.x - 3.xOriginal format, hash table, block table✅ Supported
v23.x+Extended attributes, larger files✅ Supported
v34.x+HET/BET tables, increased hash table size✅ Supported
v45.x+64-bit file support, MD5 checksums✅ Supported

Note: wow-mpq has bidirectional compatibility with StormLib (the reference C++ implementation) and support for official Blizzard WoW archives.

M2 Models

VersionClientMajor Changes
256-2571.xOriginal format
260-2632.xParticle emitters update
2643.0+.skin/.anim file separation
2723.3+Extended animations
2734.0+.phys physics data
2744.x+New texture types
2765.x+Improved bone structure

ADT Terrain

VersionClientChanges
181.x - 2.xOriginal MCNK format
203.xDestructible doodads
214.xTerrain streaming, flight
235.xNew texture blending

BLP Textures

VersionClientFormat Support
BLP11.x - 2.xJPEG compression, palettized
BLP23.x+DXT compression, mipmaps

DBC Database

ClientRecordsString EncodingFeatures
1.xFixed sizeASCIIBasic structure
2.xFixed sizeUTF-8Extended fields
3.xFixed sizeUTF-8Localization support
4.xFixed sizeUTF-8New index format
5.xFixed sizeUTF-8Compressed strings

Version Detection

Each crate handles version detection differently:

  • MPQ: Format version is read from the archive header (v1-v4)
  • M2: Header version field distinguishes expansions; MD20 vs MD21 magic separates legacy from chunked format
  • ADT: MVER chunk is always 18; actual version is detected from chunk presence (MFBO, MH2O, MAMP, MTXP)
  • BLP: File magic is BLP1 or BLP2
  • WMO: MVER chunk version number increases with expansions (17-27)
  • WDT/WDL: Version detection via chunk analysis

File Magic Numbers

FormatMagicNotes
MPQMPQ\x1AAll versions
M2 (Legacy)MD20Pre-Legion
M2 (Chunked)MD21Legion+
BLP1BLP1Classic, TBC
BLP2BLP2WotLK+
WMO/ADT/WDT/WDLRVER (MVER reversed)Chunk-based

Best Practices

  1. Use each crate’s version enum for version-aware code
  2. Let the parser detect versions automatically where possible
  3. Test with files from multiple WoW client versions
  4. Check optional chunk presence rather than assuming version

See Also