HowToWiki/WoW
2026-02-08 11:05:04 -05:00
..
images Finishing touches on the wow readme 2026-01-26 10:58:40 -05:00
README.md Fixing wow database settings 2026-02-08 11:05:04 -05:00

Guide on getting a private WoW server running

This is the documentation to create a World of Warcraft server.

The VM has to have a minimum of 3 cores, 50 gig of storage and 4 gig of memory not less

You will set the number of cores during the make steps

Setting up the Server

Core Installation

  • Log into server using putty.

  • Create a user names acore with pw acore

    sudo adduser acore
    

    It then ask you to set a pw use acore and leave all the other info blank just say Y to last question.

  • Then add them to the sudo group

    sudo usermod -aG sudo acore
    
  • Install the needed packages

    sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev unzip
    
  • Install Mysql

    export MYSQL_APT_CONFIG_VERSION=0.8.33-1
    

*!WARNING When using recent versions of Debian or Ubuntu, there's an automatic update checking and install that can break the functioning of the server! In fact, MySQL for example can be automatically updated (while the server is running!), so authserver and worldserver instantly crash and this situation may cause a loss of playtime.

So, to avoid this, just do this:

1. Edit the file 

    sudo nano /etc/apt/apt.conf.d/20auto-upgrades
2. Put a # at the start o both lines.
3. Reboot
  • Download the latest Mysql Repository
    wget https://dev.mysql.com/get/mysql-apt-config_${MYSQL_APT_CONFIG_VERSION}_all.deb
    
  • Configure the install directory
    echo $HOME
    export AC_CODE_DIR=$HOME/azerothcore
    
  • Clone the Github
    git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch $AC_CODE_DIR
    
  • Create a direstory named build to keep things organized
    cd $AC_CODE_DIR
    mkdir build
    cd build
    
  • Configure for compiling
    cmake ../ -DCMAKE_INSTALL_PREFIX=$AC_CODE_DIR/env/dist/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
    
  • You need to set a variable for the number of cores need for the "make" step. This ensures you do not run out of memory. First check to make sure you have the correct amount of cores on the machine
     nproc --all
    
    Then set the VARIABLE to the max numer.

!NOTE See above important message regaring server requierments.

  • This will set a varibale to the number of cores a min. of 3.

    export BUILD_CORES=`nproc | awk '{print $1 - 1}'`
    
  • Run the make install commands (note: this will take awhile)

    make -j$BUILD_CORES
    make install
    

Server Setup

  • Go to the directory /azerothcore/env/dist/bin

  • You must do the above step to ensure the zip file goes into the correct place.

  • Download the data.zip file with the game files in it.

    wget https://github.com/wowgaming/client-data/releases/download/v19/Data.zip
    
  • Unzip the zile in the same folder it is in

    unzip Data.zip
    
  • Get the worldserver.conf and authserver.conf from the direstory /env/dist/etc/

    You need to change the name of them, in the directory they are called worldserver.conf.dist and authserver.conf.dist

    You open them in nano and write out, save by taking off the .dist extenstion

    nano worldserver.conf.dist
    nano authserver.conf.dist
    

Database Installation

  • Go to the following directory

    /azerothcore/data/sql/create

    run this file thats located in the directory using this command

    sudo mysql < create_mysql.sql
    
  • Go to the following directory

    /azerothcore/env/dist/bin

    run the batch files to start the auth and world server !NOTE Once they are up and running stop them using the command ctr+c run the auth stop it and then the world and stop it

    ./authserver
    
    ./worldserver
    

Networking

  • Set the ip address of the machine in the MySql database

Run the following commands in order

```
sudo mysql

use acore_auth;

UPDATE realmlist SET address = '192.168.*.*' WHERE id = 1;

exit
```

NOTE: YOU HAVE TO PUT THE VMS IP ADDRESS AFTER THE SET adress =

Time to start the server

  • You need to create a screen session for each server auth and world

  • Starting auth server

    screen -S auth
    ./authserver
    [CTRL+a] then "d"
    
    screen -S world
    ./worldserver
    [CTRL+a] then "d"
    
  • Screen commands

    to create a screen session

    screen -S (name of screenseesion you are creating)
    

    to get out of a screen session

    [CTRL+a] then "d"
    

    to list all the screen session that are running

    screen -ls
    
    

    to reattach to an exisitng screen session

    screen -r (name of of screen session)
    

To add a user into the database for players access to the game

For the next section you must be in the worldserver screen

  • To create an account

    account create <user> <pass>
    
  • to set account security level

    account set gmlevel <user> <level> <realm>
    

    NOTE! Realm will be -1 always

You can grant different levels of account security please see table below, 0 is regular player 3 is admin

Git Clone Command

Client configuration

  • Navagate to the folder in the WOW WOLK Client folder

    \Wrath of the Lich King\Data\enUS

    locate the file named realmlist.wtf

    open in notepad and change the set realmlist server Ip 192.168..*

Run and log in