Managing the AzerothCore Warcraft Server

Introduction

Welcome to the guide for managing the AzerothCore World of Warcraft server. This documentation provides step-by-step instructions for updating and basic operation of the server. This installation guide assumes prerequisite database and software services are already in place in the ubuntu linux server. If you would like to learn more about configuring the server, please go to azerothcore.org.

Getting Started: Use Putty to login to the server with a sudo privilaged user and shut down the auth and game servers if they are running.


Help Off

Operating the Server

  1. Login to the server with sudo privilaged user.
  2. Auth Server Controls
    sudo service authserver start
    sudo service authserver stop
    sudo service authserver restart
  3. World Server Controls
    sudo service worldserver start
    sudo service worldserver stop
    sudo service worldserver restart
  4. Switch to the azerothcore server user.
    su - azerothcore

Updating the Server

  1. Navigate to Source Code Directory:
    cd azerothcore/

    This command will take you to the directory containing the AzerothCore source code.

  2. Update Source Code:
    git pull origin master

    This command updates the source code to include the latest changes made to the AzerothCore software.

  3. Update Installed Modules:
    cd modules/
    cd mod-solo-lfg/ && git pull && cd ../
    cd mod-better-item-reloading/ && git pull && cd ../
    cd mod-eluna/ && git pull && cd ../
    cd mod-ah-bot/ && git pull && cd ../
    cd ../
  4. Move to Compile Directory:
    cd build/

    Compilation of the AzerothCore software will occur in this directory.

  5. Configure Compiler:
    cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static

    This command configures the compiler and specifies where the updated software should be placed.

  6. Compile Source Code:
    make -j $(nproc) install

    This command executes the compiler to process the source code and builds the updated software.

Optional: Issue all of the above commands at one time.

cd azerothcore/ && git pull origin master && cd modules/ cd mod-solo-lfg && git pull && cd ../ && cd mod-eluna && git pull && cd ../ && cd mod-ah-bot && git pull && cd ../ && cd ../ && cd build/ && cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static && make -j $(nproc) install

Note: When complete, refer to "Starting the Server." If you encountered errors, refer to "Forced Update."

Force Updating the Server

Note: Forced updating is necessary only if you have encountered errors during "Regular Update."

  1. Delete Source Code Directory:
    rm -r -f azerothcore/

    This command deletes the existing source directory.

  2. Clone Fresh Source Code:
    git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore

    This command grabs a fresh and complete copy of the source code of the AzerothCore software.

    cd azerothcore/
    mkdir build
  3. Install Modules:
    cd modules/
    git clone https://github.com/azerothcore/mod-solo-lfg.git
    git clone https://github.com/azerothcore/mod-better-item-reloading.git
    git clone https://github.com/azerothcore/mod-eluna.git mod-eluna
    git clone https://github.com/azerothcore/mod-ah-bot.git

    Because this is a fresh reinstall, your installed modules will have been deleted. Reinstall them by using git, or manually copying them into the /home/azerothcore/modules/ directory.

  4. Configure Source Code Compiler:
    cd ../build
    cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static

    These commands configure the compiler and specifies where the updated software should be placed.

  5. Compile and Install:
    make -j $(nproc) install

    This command executes the compiler to process the source code and builds a fresh version of the software.

Optional: Issue all of the above commands at one time.

rm -r -f azerothcore/ && git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore && cd azerothcore/ && mkdir build/ && cd modules/ && git clone https://github.com/azerothcore/mod-solo-lfg.git && git clone https://github.com/azerothcore/mod-eluna.git mod-eluna && git clone https://github.com/azerothcore/mod-ah-bot.git && cd ../build/ && cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static && make -j $(nproc) install

Server Map Data

A requirement of the server is to have accurate map data. If there was an update to the way the server handles map data, updating the map data will be necessary. Compiling maps data is optional, it is easier to download the latest map data from their repository.

Download New Maps Data:

  1. Delete Old Maps Data:
    cd ~/server && rm -r data/ && mkdir data/ && cd data/
  2. Download New Maps Data:
    wget [url here]

    Click on the repository link above, locate the newest AC Data enUS version. Right click "data.zip", choose 'copy link' and paste it in .

    wget https://github.com/wowgaming/client-data/releases/download/v16/data.zip
  3. Extract New Maps Data:
    unzip data.zip

Compile New Maps Data:

To recompile updated maps data using the latest tools that align with the server binaries, you'll need access to data from a 3.3.5 (Build 12340) client installation. The simplest approach is to organize your project files logically: keep the client data in a folder named client, placed alongside your AzerothCore and Server directories.
This setup ensures everything is in one place and easy to manage. For example, your client folder should contain the installation's data directory, which holds the essential files. All the instructions provided here will assume this structure, making it straightforward to follow along and complete the process efficiently.

  1. Delete Old Maps Data:
    cd ~/server && rm -r data/ && mkdir data
  2. Extract New Maps:
    cd ~/client && ~/server/bin/mapextractor
  3. Extract New VMaps
    mkdir vmaps && ~/server/bin/vmap4extractor && ~/server/bin/vmap4assembler Buildings vmaps
  4. Extract New MMaps
    ~/server/bin/mmaps_generator

    Note: Generating MMaps will require ~20 minutes.

  5. Install All New Maps:
    mv -r dbc maps vmaps mmaps ~/server/data && rm -r Buildings Cameras