Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

Setting Up a World of Warcraft Server Step by Step

Introduction

Running your own World of Warcraft (WoW) private server can be an exciting way to relive the game, customize gameplay, or create a community for friends and players. But many gamers and developers face the same question: how do you actually set up a WoW server on a VPS or dedicated server?

This guide walks you through the Linux setup process in a step-by-step manner. We’ll explain the hardware and operating system requirements, cover all the dependencies, and provide installation instructions that result in a working WoW server. By the end, you’ll be able to log in to your own realm and start exploring Azeroth on your terms.

World of Warcraft - zynoo

System Requirements

Before installing, it’s essential to ensure that your VPS Hosting or dedicated server has sufficient resources to run smoothly. WoW server emulators like AzerothCore and TrinityCore can be resource-intensive, especially if you plan to allow multiple players.

ComponentMinimumRecommendedNotes
CPU2 cores4+ coresMulti-core CPUs handle compiling and gameplay better
RAM4 GB8–16 GBMemory is crucial for smooth gameplay and large databases
Storage40 GB SSD100 GB+ SSDFaster I/O improves performance
Network1 Gbps1 Gbps+Stable bandwidth reduces lag

Supported Operating Systems

While WoW servers can technically run on multiple Linux distributions, the most reliable choices today are:

  • Ubuntu (20.04 / 22.04 / 24.04 LTS) – popular, stable, and beginner-friendly.
  • Debian 12 (Bookworm) – rock-solid stability and widely supported by server communities.
  • Rocky Linux / AlmaLinux – modern, community-driven replacements for CentOS, suitable for enterprise environments.

For most players, Linux VPS Hosting offers a cost-effective way to get started, while a dedicated server is recommended for larger communities or public realms. Ensure your hosting plan provides sufficient CPU, RAM, and storage to handle peak activity smoothly.

Preparing World of Warcraft Server

Log into your server with SSH:

ssh user@your-server-ip

Update packages and install the required dependencies:

sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git cmake clang libssl-dev libbz2-dev \
  libreadline-dev libncurses-dev libboost-all-dev mariadb-server \
  libmysqlclient-dev wget unzip screen -y

These packages include compilers, libraries, and MariaDB for database management.

Next, secure your MariaDB installation:

sudo mysql_secure_installation

Follow the prompts to set a root password and disable insecure defaults.

Setting Up a Dedicated User

For security, avoid running the server as root. Create a new user:

sudo adduser wowuser
sudo usermod -aG sudo wowuser
su - wowuser

Create a directory for the WoW server files:

mkdir ~/azerothcore

Downloading AzerothCore

We’ll use AzerothCore, an actively maintained open-source WoW emulator for Wrath of the Lich King (3.3.5a).

Clone the repository:

git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master ~/azerothcore

Compiling the Core

Move into the build directory:

cd ~/azerothcore
mkdir build && cd build

Run CMake:

cmake ../ \
  -DCMAKE_INSTALL_PREFIX=~/azerothcore/env/dist/ \
  -DCMAKE_C_COMPILER=/usr/bin/clang \
  -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
  -DWITH_WARNINGS=1 \
  -DTOOLS_BUILD=all \
  -DSCRIPTS=static \
  -DMODULES=static

Compile with all available CPU cores:

make -j$(nproc)
make install

Configuring: World of Warcraft Database

Switch back to root for database setup:

sudo mysql -u root -p

Create the required databases:

CREATE DATABASE acore_auth;
CREATE DATABASE acore_characters;
CREATE DATABASE acore_world;

CREATE USER 'acore'@'localhost' IDENTIFIED BY 'YourStrongPass';
GRANT ALL PRIVILEGES ON acore_*.* TO 'acore'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Import the base SQL files:

cd ~/azerothcore/env/dist/bin
mysql -u acore -p acore_auth < ../../../data/sql/create/acore_auth_database.sql
mysql -u acore -p acore_characters < ../../../data/sql/create/acore_characters_database.sql
mysql -u acore -p acore_world < ../../../data/sql/create/acore_world_database.sql

Editing Configuration Files

Copy the default configuration files:

cd ~/azerothcore/env/dist/etc
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf

Edit both files with your database details:

LoginDatabaseInfo     = "127.0.0.1;3306;acore;YourStrongPass;acore_auth"
WorldDatabaseInfo     = "127.0.0.1;3306;acore;YourStrongPass;acore_world"
CharacterDatabaseInfo = "127.0.0.1;3306;acore;YourStrongPass;acore_characters"

Extracting Game Data

The server requires WoW client files (dbc, maps, vmaps, mmaps). You can:

  1. Extract them yourself using tools included in AzerothCore (map_extractor, vmap4_extractor, etc.), or
  2. Download pre-extracted files if available.

Once extracted, place them in the folder defined by DataDir in worldserver.conf.

Starting Your World of Warcraft Server

Run the servers:

cd ~/azerothcore/env/dist/bin
./authserver
./worldserver

For background sessions, use screen:

screen -S authserver ./authserver
screen -S worldserver ./worldserver

Connecting to Your WoW Server

On your WoW client machine, edit the realmlist.wtf file:

set realmlist your-server-ip

Then log in with your admin account.

Troubleshooting

  • Missing files? Double-check DataDir paths.
  • Connection issues? Ensure port 3724 is open in your firewall.
  • Database errors? Verify user/password settings in config files.

Advanced Tips for WOW Server

  • Security: Use ufw or iptables to allow only necessary ports.
  • Performance: Monitor resources and tune MySQL configs.
  • Automation: Create systemd services to auto-start authserver and worldserver.
  • Backups: Regularly backup your acore_ databases.

Conclusion

By following this step-by-step guide, you now have a working World of Warcraft private game server on Linux VPS Hosting. With AzerothCore powering the backend, you can explore Azeroth on your own terms, test gameplay modifications, or build a community server.

Running WoW on a VPS or dedicated server provides the performance, flexibility, and security needed for smooth gameplay. Once everything is set up, you’re in complete control of your realm and players’ experience.

Scroll to Top