As we all know, World of Warcraft is an online game(!).
A fully-fledged multiplayer process requires a connection between the client (the game executable on a player's computer) and the server, which manages player interaction and the content not located client-side.
The diagram below presents an abstract overview of the game's client-server architecture. Each of the elements shown is, to various extents, a potential subject for your modifications.
Do not worry if you find yourself confused by some of these definitions - each will receive a detailed explanation in the upcoming tutorials.
The MPQ Files
All WoW client data is stored in MPQ files. You can find them in the folder:
And also in the local subfolder. This folder is named with your language code. It can be called as enUS, enGB, ruRU, frFR, etc.
MPQ files are archives like ZIP or RAR. They contain all the data the game needs, e.g. models, maps, textures, etc.
Blizzard uses several own filetypes where you need specialized applications to edit them. But also mp3 or simple text files for Lua and XML code. In the following, I will explain some data you will find in the MPQs.
To mod WoW, you have to extract the files, edit them and pack them again in the MPQ patch, so the client will load them. In the next tutorials, we will show you how it works.
Common WoW File Types
Below you can see short description of WoW File types. We will describe them individually in the next part of the tutorial.
- BLP - Blizzard Picture
Blizzard's image format. You can find textures, maps and interface elements with this type
- DBC - DataBase Client
DBCs store the data for the client. This is a table of values that contains data about the particular area of the game client. E.g., what maps you have, how spells should work and much more
- LUA - script files in the Lua programming language
These files define the actions of the interface. For example what happens if you click the Login button
- XML - files in the XML (Extensible Markup Language)
These files define the look of the interface. It places images, models and UI elements
These models are used for doodads (decoration objects), players, monsters and really everything in the game except for Terrain and WMOs
Contains the information about different levels of detail and geosets for M2s
- WMO - World Models
Models like houses, bridges or even full cities and dungeons like Stormwind or Deathmine
Contain terrain and object information for map tiles
- WDT - map definition file
It defines what ADTs on the map exist, or the map is built only out of one WMO like instances
Low-res heightmap of all ADTs of the map. This file is used to display far away mountains.
Sound files for music and effects