Um einen World-of-Warcraft-Server einzurichten, müssen Sie eine Server-Emulationssoftware installieren, eine Datenbank konfigurieren, Spieldaten vorbereiten und die verschiedenen Serverkomponenten miteinander verbinden. Eines der bekanntesten Open-Source-Projekte, anhand derer sich dieser Prozess nachvollziehen lässt, ist AzerothCore. Es emuliert die Serverumgebung von World of Warcraft: Wrath of the Lich King 3.3.5a.
AzerothCore läuft unter Linux, Windows und macOS. In dieser Anleitung konzentrieren wir uns auf die Installation unter Ubuntu 26.04 LTS anhand des aktuellen Installationsverfahrens aus dem Quellcode.
Wir behandeln die wichtigsten Befehle, die Datenbankkonfiguration, die Netzwerkeinstellungen und häufige Installationsprobleme.
Wichtig: AzerothCore ist ein unabhängiges Open-Source-Projekt und kein offizieller Blizzard-Server. Die Lizenzbedingungen von Blizzard schränken nicht autorisierte Emulation und Verbindungen ein. Diese Anleitung dient der technischen Weiterbildung und ist für Umgebungen gedacht, in denen Sie über die erforderlichen Rechte und Genehmigungen verfügen. Sie stellt weder Spielclients noch proprietäre Inhalte bereit und erteilt keine Erlaubnis, einen nicht autorisierten Dienst zu betreiben.
Was ist AzerothCore?
AzerothCore ist ein Open-Source-MMO-Serveremulator, der auf der Umgebung von Wrath of the Lich King 3.3.5a basiert.
Die Software bildet serverseitige Systeme wie Charakterverwaltung, Authentifizierung, Quests, Kreaturen und Interaktionen in der Spielwelt nach.
Die Software nutzt drei Hauptkomponenten:
- Authserver: Übernimmt die Anmeldung und die Auswahl des Realms.
- Worldserver: Verwaltet die Aktivitäten in der Spielwelt, Charaktere und Spielsysteme.
- MySQL-Datenbank: Speichert Authentifizierungsdaten, Charaktere und Informationen zur Spielwelt.
Beide Serveranwendungen kommunizieren mit MySQL und können auf demselben Rechner laufen.
AzerothCore stellt Serversoftware bereit, jedoch weder einen lizenzierten World-of-Warcraft-Spielclient noch die Rechte, Inhalte von Blizzard weiterzugeben.

Anforderungen an einen World-of-Warcraft-Server
Die Anforderungen von AzerothCore hängen von der Installationsmethode und der Auslastung ab. Das Kompilieren der Software erfordert in der Regel mehr Ressourcen als der Betrieb einer kleinen Testumgebung.
Für eine Entwicklungs- oder Testumgebung unter Linux können Sie sich an folgenden Ausgangswerten orientieren:
| Ressource | Empfohlene Konfiguration |
|---|---|
| CPU | 4 vCPUs oder mehr |
| RAM | 8 GB oder mehr zum Kompilieren |
| Speicherplatz | 60–100 GB SSD oder NVMe |
| Betriebssystem | Ubuntu 26.04 LTS |
| Datenbank | MySQL 8.4 LTS |
| Compiler | GCC 15+ oder Clang 18+ |
Diese Hardwareangaben sind praktische Richtwerte für den Einstieg, keine offiziellen Mindestanforderungen oder garantierten Spielerkapazitäten.
Für diese Anleitung verwenden wir Ubuntu 26.04 LTS, das unterstützte MySQL-8.4-Pakete über seine Paketquellen bereitstellt.
Für die Installation benötigen Sie außerdem Administratorzugriff und Grundkenntnisse der Linux-Befehle.
Wenn Sie noch keine Erfahrung mit dem Hosting von Multiplayer-Spielen haben, erfahren Sie in unserem Leitfaden zum Gameserver-Hosting, wie sich Serverhardware, Netzwerkleistung und Hosting-Infrastruktur auf das Spielerlebnis, die Stabilität und den Ressourcenbedarf auswirken.
Schritt 1: Linux-Server vorbereiten
Verbinden Sie sich per SSH mit Ihrer Linux-Umgebung:
ssh admin@YOUR_SERVER_IP
Ersetzen Sie admin durch Ihren Benutzernamen und YOUR_SERVER_IP durch die tatsächliche Adresse Ihres Servers.
Aktualisieren Sie das System:
sudo apt update
sudo apt upgrade
Installieren Sie anschließend die für Ubuntu 26.04 dokumentierten Abhängigkeiten:
sudo apt install git cmake make gcc g++ clang \
libstdc++-16-dev default-libmysqlclient-dev \
libssl-dev libbz2-dev libreadline-dev \
libncurses-dev mysql-server libboost-all-dev tmux
Prüfen Sie, ob MySQL läuft:
sudo systemctl status mysql
Sie können auch die Versionen des Compilers und der Datenbank überprüfen:
clang --version
mysql --version
Stellen Sie sicher, dass sie die aktuellen Anforderungen von AzerothCore erfüllen, bevor Sie fortfahren.
Verwenden Sie zum Kompilieren und Ausführen von AzerothCore ein reguläres Linux-Benutzerkonto, statt die Anwendung als root zu betreiben.
Schritt 2: AzerothCore herunterladen und kompilieren
Laden Sie den offiziellen Quellcode von GitHub herunter:
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Wechseln Sie in das Projektverzeichnis und erstellen Sie ein separates Build-Verzeichnis:
cd ~/azerothcore
mkdir build
cd build
Konfigurieren Sie den Build mit CMake:
cmake .. \
-DCMAKE_INSTALL_PREFIX="$HOME/azerothcore/env/dist/" \
-DCMAKE_C_COMPILER=/usr/bin/clang \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
-DTOOLS_BUILD=all \
-DSCRIPTS=static \
-DMODULES=static
Wenn die Konfiguration erfolgreich war, kompilieren Sie AzerothCore:
make -j2
Die Option -j2 begrenzt die Kompilierung auf zwei parallele Aufträge. Dadurch wird der Arbeitsspeicher weniger belastet, als wenn alle verfügbaren CPU-Threads genutzt würden.
Wenn Ihr Server nur über wenig RAM verfügt und die Kompilierung wegen Speichermangels fehlschlägt, versuchen Sie es mit make -j1.
Installieren Sie nach Abschluss der Kompilierung die Binärdateien:
make install
Die installierten Dateien sollten nun unter folgendem Pfad verfügbar sein:
~/azerothcore/env/dist/
Das Verzeichnis bin enthält die Serveranwendungen und kompilierten Werkzeuge.
Schritt 3: MySQL-Datenbank konfigurieren
AzerothCore verwendet drei Datenbanken:
acore_auth— Authentifizierungs- und Kontoinformationen.acore_characters— Charakter- und Spielerdaten.acore_world— Informationen zur Spielwelt.
Für eine Neuinstallation stellt AzerothCore ein SQL-Skript bereit, das die Datenbanken und den Datenbankbenutzer erstellt.
Führen Sie Folgendes aus:
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Verwenden Sie dieses Initialisierungsskript nur bei einer Neuinstallation. Das Skript erstellt auch den Standard-Datenbankbenutzer neu, wodurch bestehende Konfigurationen beeinträchtigt werden könnten.
Das Skript erstellt ein Konto namens acore mit einem Standardpasswort. Ändern Sie dieses Passwort, bevor Sie die Installation verwenden.
Öffnen Sie MySQL:
sudo mysql
Ändern Sie das Kontopasswort:
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Ersetzen Sie den Platzhalter durch ein starkes, individuelles Passwort. Halten Sie es geheim und aktualisieren Sie die entsprechenden Datenbank-Zugangsdaten in den Konfigurationsdateien.
Beenden Sie MySQL:
EXIT;
AzerothCore enthält eine automatische Datenbankaktualisierung, die beim Start der entsprechenden Serverprozesse die benötigten Tabellen initialisiert und aktualisiert.
Sie müssen nicht jede Datenbank-Updatedatei manuell importieren.
Schritt 4: Benötigte Spieldaten vorbereiten
AzerothCore benötigt Spieldaten, die mit der 3.3.5a-Umgebung kompatibel sind.
Diese Daten sind vom Open-Source-Servercode getrennt; beim Umgang mit proprietären Inhalten und Lizenzen ist besondere Sorgfalt erforderlich.
Zu den wichtigsten Datenverzeichnissen gehören:
| Verzeichnis | Zweck |
|---|---|
dbc | Spielkonfigurations- und Referenzdaten |
maps | Gelände- und Karteninformationen |
vmaps | Kollisions- und Sichtliniendaten |
mmaps | Navigations- und Bewegungsdaten |
AzerothCore stellt Extraktionswerkzeuge bereit, mit denen Sie diese Daten aus einer kompatiblen Clientinstallation aufbereiten können, sofern Sie über die erforderlichen Rechte verfügen.
Für die Extraktion werden Werkzeuge wie map_extractor, vmap4_extractor, vmap4_assembler und mmaps_generator verwendet. Befolgen Sie für das zu Ihrer Umgebung passende Extraktionsverfahren die offizielle Anleitung zur Einrichtung eines Linux-Servers.
Legen Sie nach Abschluss der Extraktion die benötigten Verzeichnisse am konfigurierten Speicherort für Spieldaten ab.
Bei der Standardkonfiguration wird in der Regel erwartet, dass sie sich neben der installierten Binärdatei worldserver unter folgendem Pfad befinden:
~/azerothcore/env/dist/bin/
Überprüfen Sie vor dem Start des Worldservers, ob die benötigten Verzeichnisse vorhanden sind.
Hinweis: Die Lizenz des Open-Source-Emulators berechtigt nicht dazu, proprietäre World-of-Warcraft-Clientdateien herunterzuladen, zu teilen oder weiterzuverbreiten.
Schritt 5: Authserver und Worldserver konfigurieren
AzerothCore stellt Beispielkonfigurationsdateien für beide Dienste bereit.
Wechseln Sie in das Konfigurationsverzeichnis:
cd ~/azerothcore/env/dist/etc/
Erstellen Sie Kopien für Ihre Konfiguration:
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Öffnen Sie die Konfigurationsdateien mit einem Texteditor Ihrer Wahl.
Zum Beispiel:
nano worldserver.conf
Suchen Sie die Einstellungen für die Datenbankverbindung.
Sie haben folgendes Format:
LoginDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_auth"
WorldDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_world"
CharacterDatabaseInfo = "127.0.0.1;3306;acore;YOUR_PASSWORD;acore_characters"
Ersetzen Sie YOUR_PASSWORD durch das zuvor festgelegte Datenbankpasswort.
Konfigurieren Sie auch LoginDatabaseInfo in authserver.conf.
Jeder Eintrag enthält den MySQL-Host, den Port, den Benutzernamen, das Passwort und den Datenbanknamen.
Überprüfen Sie anschließend die Option DataDir in worldserver.conf.
Wenn sich die benötigten Spieldatenverzeichnisse neben der installierten Worldserver-Binärdatei befinden, kann der voreingestellte relative Pfad bereits passen. Andernfalls setzen Sie DataDir auf das richtige Verzeichnis.
Speichern Sie die Konfigurationsdateien, bevor Sie fortfahren.
Schritt 6: Worldserver und Authserver starten
AzerothCore enthält Startskripte zur Verwaltung der Serverprozesse.
Für einen interaktiven Test können Sie mit tmux jeden Prozess in einer eigenen Terminalsitzung ausführen.
Erstellen Sie zunächst eine Sitzung für den Worldserver:
tmux new -s wow-world
Führen Sie in dieser Sitzung Folgendes aus:
cd ~/azerothcore
./acore.sh run-worldserver
Beim ersten Start fordert AzerothCore Sie möglicherweise auf, Datenbanktabellen zu erstellen oder mit Daten zu füllen. Folgen Sie den Anweisungen und warten Sie, bis die Initialisierung abgeschlossen ist.
Prüfen Sie die Ausgabe auf Probleme mit der Datenbankverbindung oder fehlende Spieldatendateien.
Um die tmux-Sitzung zu verlassen, ohne den Prozess zu beenden, drücken Sie Ctrl+B und anschließend D.
Starten Sie eine zweite Sitzung:
tmux new -s wow-auth
Führen Sie dann Folgendes aus:
cd ~/azerothcore
./acore.sh run-authserver
Beide Serverprozesse sollten nun in getrennten Sitzungen laufen.
Sie können Ihre Sitzungen mit folgendem Befehl auflisten:
tmux ls
Verwenden Sie für einen dauerhaften Betrieb die von AzerothCore dokumentierten Optionen zur Dienstverwaltung, statt sich ausschließlich auf interaktive Terminalsitzungen zu verlassen.
Schritt 7: Testkonto erstellen
Sobald der Worldserver erfolgreich gestartet ist, können Sie über seine Konsole ein Konto erstellen.
Verbinden Sie sich erneut mit der Worldserver-Sitzung:
tmux attach -t wow-world
Geben Sie in der Worldserver-Konsole Folgendes ein:
account create testuser YOUR_STRONG_PASSWORD
Ersetzen Sie den beispielhaften Benutzernamen und das Passwort durch die von Ihnen gewählten Zugangsdaten.
AzerothCore unterstützt außerdem unterschiedliche Berechtigungsstufen für Konten.
Mit den Befehlen zur Kontoverwaltung können Sie beispielsweise Administratorrechte vergeben:
account set gmlevel testuser 3 -1
Stufe 3 gewährt Administratorrechte, während -1 die Einstellung auf alle Realms anwendet.
Vergeben Sie erhöhte Berechtigungen nur an Konten, die sie tatsächlich benötigen.
Dies sind AzerothCore-Konsolenbefehle, keine regulären Linux-Shell-Befehle.
Schritt 8: Realm-Netzwerkeinstellungen verstehen
AzerothCore verwendet standardmäßig zwei TCP-Ports:
| Port | Dienst |
|---|---|
| 3724 | Authserver |
| 8085 | Worldserver |
Darüber hinaus speichert AzerothCore Informationen zur Realm-Verbindung in der Tabelle realmlist innerhalb von acore_auth.
Für lokale Tests kann die Adresse 127.0.0.1 bleiben. In einer autorisierten Remote-Testumgebung muss die Realm-Adresse mit der Adresse übereinstimmen, unter der der berechtigte Client den Realm erreichen kann. Der Netzwerkzugang muss entsprechend konfiguriert sein.
Sie können die bestehende Realm-Konfiguration über MySQL einsehen:
sudo mysql
Anschließend:
USE acore_auth;
SELECT id, name, address FROM realmlist;
Die Netzwerkdokumentation von AzerothCore erklärt, wie Realm-Adressen und Netzwerkeinstellungen funktionieren.
Machen Sie Ihren Datenbankport nicht über das öffentliche Internet zugänglich. Wenn in einer autorisierten Umgebung ein Fernzugriff erforderlich ist, beschränken Sie ihn durch geeignete Firewall- oder private Netzwerkregeln.
AzerothCore ist auf das historische WoW-3.3.5a-Clientprotokoll ausgelegt. Moderne World-of-Warcraft-Clients sind mit dieser Version nicht austauschbar. Die Kompatibilität eines Clients allein berechtigt nicht dazu, sich mit einem inoffiziellen Server zu verbinden.
Häufige Probleme beim Einrichten eines World-of-Warcraft-Servers
Selbst wenn sich die Software erfolgreich kompilieren lässt, können Konfigurationsprobleme den Start der Dienste verhindern.
| Problem | Was Sie überprüfen sollten |
|---|---|
| Datenbankverbindung fehlgeschlagen | MySQL-Status, Datenbank-Zugangsdaten, Benutzerberechtigungen |
| Worldserver kann Karten nicht laden | Fehlende oder falsch abgelegte Dateien in dbc, maps oder vmaps |
| Realm nicht verfügbar | Authserver-Status und realmlist-Konfiguration |
| Verbindung abgelehnt | Serverprozess, überwachter Port, Firewall |
| Kompilierung fehlgeschlagen | Compiler-Version, Abhängigkeiten, verfügbarer RAM |
| Unerwartete Abstürze | Startprotokolle, Kompatibilität der Softwareversionen, Ressourcenlimits |
Überprüfen Sie beispielsweise den verfügbaren Arbeitsspeicher und Speicherplatz mit:
free -h
df -h
Wenn Sie einen Kompilierungsfehler beheben möchten, führen Sie den betreffenden Befehl erneut aus und lesen Sie die erste aussagekräftige Fehlermeldung, statt sich nur auf die abschließende Fehlermeldung zu konzentrieren.
Bei anhaltenden Problemen lesen Sie die Dokumentation zu häufigen Fehlern von AzerothCore.
AzerothCore aktuell und sicher halten
AzerothCore wird laufend weiterentwickelt. Daher können sich Installationsanforderungen und Konfigurationsoptionen ändern.
Bevor Sie eine bestehende Umgebung aktualisieren:
- Sichern Sie Ihre MySQL-Datenbanken und individuellen Konfigurationen.
- Lesen Sie die aktuellen Installations- und Updatehinweise des Projekts.
- Beenden Sie die betreffenden Dienste ordnungsgemäß.
- Aktualisieren Sie den Quellcode und kompilieren Sie ihn bei Bedarf neu.
- Warten Sie, bis die dokumentierten Datenbankaktualisierungen abgeschlossen sind.
- Überprüfen Sie die Serverprozesse und sehen Sie sich ihre Protokolle an.
Halten Sie auch Ihr Betriebssystem mit Sicherheitsupdates aktuell, schützen Sie Administrator-Zugangsdaten, beschränken Sie unnötigen Netzwerkzugang und testen Sie Wiederherstellungsverfahren.
Deaktivieren Sie automatische Sicherheitsupdates nicht vollständig. Planen Sie stattdessen Wartungsfenster und stimmen Sie Updates ab, die MySQL oder andere Dienste neu starten könnten.
Wenn Ihr Gameserver unter Ubuntu läuft, verwenden Sie UFW, um die Server-Firewall zu konfigurieren. Geben Sie nur die benötigten Spielports und den SSH-Zugang frei und halten Sie unnötige Dienste für öffentliche Verbindungen geschlossen.
Häufig gestellte Fragen
Ja. AzerothCore unterstützt Linux und stellt eine Dokumentation zum Kompilieren und Konfigurieren seiner Open-Source-Serversoftware bereit. Für die Nutzung proprietärer Spielinhalte oder die Verbindung eines WoW-Clients sind zusätzliche Rechte und Lizenzbedingungen zu beachten.
Nein. Das AzerothCore-WotLK-Projekt ist auf die historische World-of-Warcraft-3.3.5a-Umgebung ausgelegt. Moderne Clients der aktuellen Spielversion sind nicht direkt kompatibel.
Nein. AzerothCore hat die Unterstützung für MariaDB im September 2024 eingestellt. Die aktuelle Dokumentation empfiehlt MySQL 8.4 LTS.
Nicht unbedingt. Eine Entwicklungs- oder Testumgebung kann auf einer ausreichend leistungsfähigen virtuellen Maschine laufen. Der Ressourcenbedarf hängt von der Kompilierung, den installierten Modulen, den aktiven Diensten und der Auslastung ab.
Die Endbenutzer-Lizenzvereinbarung von Blizzard schränkt nicht autorisierte Serveremulation und Verbindungen ein. Open-Source-Serversoftware gewährt keine Rechte an Blizzards Spielclient, Grafiken oder anderen proprietären Inhalten. Wer den Einsatz einer Emulatorumgebung erwägt, sollte die einschlägigen Lizenzen prüfen und alle erforderlichen Genehmigungen einholen.
Fazit
Zur Einrichtung eines World-of-Warcraft-Servers mit AzerothCore gehört weit mehr, als einen Emulator herunterzuladen und zwei Befehle auszuführen.
Eine funktionsfähige technische Umgebung erfordert kompatible Software, eine konfigurierte MySQL-Datenbank, geeignete Spieldaten, korrekt konfigurierte Authentifizierungs- und Worldserver-Dienste sowie passende Netzwerkeinstellungen.
Wenn Sie die aktuelle Projektdokumentation befolgen und jeden Schritt überprüfen, bevor Sie fortfahren, verstehen Sie besser, wie die Serverinfrastruktur eines MMOs funktioniert, und vermeiden viele häufige Installationsfehler.
Unterscheiden Sie stets zwischen der Open-Source-Servertechnologie und den proprietären Inhalten sowie den Berechtigungen, die für deren Nutzung erforderlich sind.