Extracting client data (DBC, Maps, VMaps, MMaps)
In order to run the OregonCore server, certain data is required from the WoW client. Source data is contained within the MPQ archives that you can see in your client folder. The server will only need 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. 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.
You can also download map tools from http://code.google.com/p/oregoncore/downloads/list but we highly recommend building them on your own, because these are not kept up to date with the main repository.
DBC (DataBaseClient) files are client-side databases containing world data about items, NPCs, environment etc. DBC files are required for the server to run.
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) 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.
MMaps (Movement Maps) are used to allow correct pathing. Just as VMaps, MMaps are not required but will improve game experience greatly.
Copy map_extractor.exe, vmap_extractor.exe and vmap_assembler.exe (map_extractor, vmap_extractor and vmap_assembler on Linux respectively) to the root 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.
- 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 and the opportunity to see possible extraction errors.
- If the program fails to run, read the error message carefully. 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.
- The program will create two directories: dbc and maps. These will both be required for the OregonCore server to run.
- . Run the vmap_extractor program just as you did the map_extractor.
- . The program will create a directory called Buildings, which is needed for the next step.
- . Create a directory called vmaps.
- . Run the following (NOTE: You will not be able to do this by double-clicking. The command-line arguments are required. You must run this from command line):
vmap_assembler Buildings vmaps
- . The program will create your vmaps in the vmaps directory.
- Create mmaps directory
- Run movements_extractor program just as you did the vmaps_extractor
- 1. WARNING: Extracting move maps takes a few hours on Linux, and ages on Windows, you may use the script mmap_extract.py located in src/tools/movements_extractor. This will use sacrifice your CPU power for quick extract.
(Script is not working on Python 3.x).
- The program will fill up the mmaps directory.
- 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.
- Edit your oregoncore.conf file. Look for the DataDir line.
- Set the DataDir to the directory that contains the dbc, maps and vmaps directories. Examples:
- Windows: DataDir = "C:\OregonCore\Data"
- Linux: DataDir = "/opt/oregoncore/data"
Continue to Loading the OregonDB Database →