macOS Server Setup

Creating configuration files

  1. Open a Terminal (Applications > Utilities > Terminal)
  2. cd ~/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/etc
    1. Example: cd ~/TrinityCore/tc-server/etc
  3. cp -v worldserver.conf.dist worldserver.conf
  4. For 3.3.x:
    1. cp -v authserver.conf.dist authserver.conf
  5. For 6.x and 7.x:
    1. cp -v bnetserver.conf.dist bnetserver.conf

Extracting DBC, maps, vmaps, and mmaps

RECOMMENDATION: compile tools in release mode to save time, debug mode extraction is much longer and it's only needed if you have a crash to report.

DBC and maps files

The TrinityCore engine depends on two critical pieces of information in order to function properly: DBCs and maps. Data Base Client files (DBCs) give essential values that the TrinityCore engine interprets. These values define races, textures, local models, and other features. The engine interprets these values and loads them up. But in order for the player to interact with those values, they must be placed in a virtual world or 'map.' Maps thus provide the physical values and data that the Trinity engine interprets to create a layout that can be compared with each client, including physical volume definitions in that virtual world.

cd <your_WoW_client_directory>
# example: cd /Applications/World\ of\ Warcraft/
/Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/bin/mapextractor
# example: /Users/myusername/TrinityCore/tc-server/bin/mapextractor
mkdir -v /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/data
# example: mkdir -v /Users/myusername/TrinityCore/tc-server/data

# For 3.3.x:
cp -rv dbc maps /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/data
# example: cp -rv dbc maps /Users/myusername/TrinityCore/tc-server/data
# For 6.x and 7.x:
cp -rv dbc maps gt /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/data
# example: cp -rv dbc maps gt /Users/myusername/TrinityCore/tc-server/data

nano -w /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/etc/worldserver.conf
# example: nano -w /Users/myusername/TrinityCore/tc-server/etc/worldserver.conf
# change datadir from "." to "../data"

vmaps

Virtual Maps (vmaps) provide the context upon which DBCs and maps interact with each other. For instance, they calculate the possibility of line-of-sight, allowing the Trinity engine to calculate if spell casts are possible (e.g. if a wall is in between the target and caster or not).

Note: If you stop vmap4extractor before finish you will need to delete the Buildings directory before start again.

cd <your_WoW_client_directory>
# example: cd /Applications/World\ of\ Warcraft/
/Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/bin/vmap4extractor
# example: /Users/myusername/TrinityCore/tc-server/bin/vmap4extractor
mkdir -v vmaps
/Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/bin/vmap4assembler Buildings vmaps
# example: /Users/myusername/TrinityCore/tc-server/bin/vmap4assembler Buildings vmaps
cp -rv vmaps /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/data
# example: cp -rv vmaps /Users/myusername/TrinityCore/tc-server/data

mmaps

WARNING

This process may take hours to finish.

Movement maps (mmaps) define how non-player characters (NPCs) move in the virtual world. In essence, they enforce the physical boundaries that NPCs have since their collision with the physical world is not handled by the World of Warcraft client.

cd <your_WoW_client_directory>
# example: cd /Applications/World\ of\ Warcraft/
mkdir -v mmaps
/Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/bin/mmaps_generator
# example: /Users/myusername/TrinityCore/tc-server/bin/mmaps_generator
cp -rv mmaps /Users/<your_username>/<your_TrinityCore_directory>/<name_of_your_TrinityCore_server_directory>/data
# example: cp -rv mmaps /Users/myusername/TrinityCore/tc-server/data