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.

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.
Minimum and Recommended Hardware
Component | Minimum | Recommended | Notes |
---|---|---|---|
CPU | 2 cores | 4+ cores | Multi-core CPUs handle compiling and gameplay better |
RAM | 4 GB | 8–16 GB | Memory is crucial for smooth gameplay and large databases |
Storage | 40 GB SSD | 100 GB+ SSD | Faster I/O improves performance |
Network | 1 Gbps | 1 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:
- Extract them yourself using tools included in AzerothCore (
map_extractor
,vmap4_extractor
, etc.), or - 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
oriptables
to allow only necessary ports. - Performance: Monitor resources and tune MySQL configs.
- Automation: Create systemd services to auto-start
authserver
andworldserver
. - 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.