Installation: Extracting Client Data

Client Data

In order to run the server, certain data is required from the WoW client. The source data is contained within the MPQ archives that you can see in your client folder. The server will only needs parts of what the client contains, so we will need to use special programs, called extractors, to create files for the server to use.

The extractors are created as a part of the server build process, either by checking the TOOLS option in the Windows Cmake GUI, or by including -DTOOLS=1 on the configure line of the Linux build (this is set by default for both platforms). When you build your core, the extractors will be created to run on the operating system that you use to build. If you build on Windows, you will create Windows tools, if you build on Linux, you will create Linux tools. This is important because you will need to run the extractors from a WoW client directory.


Terminology

DBC (DataBaseClient): DBC files are client-side databases containing data about Items, NPC's, Environment, World etc. DBC files are required for the server to run.

Maps: Map files are used by the server to interpret the in-game terrain, such as the difference between land and water, etc. Map files are required for the server to run.

VMaps (Visual Maps): VMaps make it possible to calculate Line-Of-Sight (LOS) relationships. There are special configuration options needed in oregoncore.conf for VMaps to be activated. VMap files are not required for the server to run, but will greatly enhance playability in many ways (such as preventing most NPCs from attacking through walls, etc).


Preparing to Extract the Data Files

Copy the programs map_extractor.exe, vmap_extractor.exe, and vmap_assembler.exe (map_extractor, vmap_extractor, and vmap_assembler on Linux) to the folder where your WoW client is installed. If you have built on Linux, and you do not have a WoW client on the same machine, you will need to copy the client to your Linux machine (or to an external disk that can be mounted on your Linux machine). Linux-built extractors will not run on Windows.


Running the map_extractor

1. Run the map_extractor program. You can run this on Windows by either opening cmd.exe and changing to your WoW client directory, then executing it, or by double-clicking it. It is advised that you open cmd.exe and run that way, since you will not have the option of double-clicking for all of the extractor programs.

2. The program will create two directories, dbc and maps. These will both be required for the server to run.

If the program fails to run, read the error message carefully. If you double-clicked, you should open a cmd.exe and try again, so that you can see the error. The most common error is that you do not have the program in the right directory. It should be in the same place as wow.exe.


Running the vmap_extractor

1. Run the vmap_extractor program just as you did the map_extractor.

2. The program will create a directory called Buildings, which is needed for the next step.


Running the vmap_assembler

1. Create a directory called vmaps.

2. Run the following: vmap_assembler Buildings vmaps NOTE: You will not be able to do this by double-clicking. The command-line arguments are required. You MUST run this from cmd.exe.

3. The program will create your vmaps in the vmaps directory.


Using the Data Files

1. Copy the dbc, maps, and vmaps directories to your server. The Buildings directory is not needed after the vmaps have been created. You can delete it, if you choose to.

2. Edit your worldserver.conf file - look for the DataDir line.

3. Set the DataDir to the directory that contains the dbc, maps, and vmaps directories. Examples: Windows - DataDir = "C:\Unity\Data", Linux - DataDir = "/opt/unity/data"

Published on  October 21st, 2011