Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

So richten Sie mit AzerothCore einen World-of-Warcraft-Server ein

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.

Was ist AzerothCore

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:

RessourceEmpfohlene Konfiguration
CPU4 vCPUs oder mehr
RAM8 GB oder mehr zum Kompilieren
Speicherplatz60–100 GB SSD oder NVMe
BetriebssystemUbuntu 26.04 LTS
DatenbankMySQL 8.4 LTS
CompilerGCC 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.

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:

VerzeichnisZweck
dbcSpielkonfigurations- und Referenzdaten
mapsGelände- und Karteninformationen
vmapsKollisions- und Sichtliniendaten
mmapsNavigations- 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:

PortDienst
3724Authserver
8085Worldserver

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.

ProblemWas Sie überprüfen sollten
Datenbankverbindung fehlgeschlagenMySQL-Status, Datenbank-Zugangsdaten, Benutzerberechtigungen
Worldserver kann Karten nicht ladenFehlende oder falsch abgelegte Dateien in dbc, maps oder vmaps
Realm nicht verfügbarAuthserver-Status und realmlist-Konfiguration
Verbindung abgelehntServerprozess, überwachter Port, Firewall
Kompilierung fehlgeschlagenCompiler-Version, Abhängigkeiten, verfügbarer RAM
Unerwartete AbstürzeStartprotokolle, 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:

  1. Sichern Sie Ihre MySQL-Datenbanken und individuellen Konfigurationen.
  2. Lesen Sie die aktuellen Installations- und Updatehinweise des Projekts.
  3. Beenden Sie die betreffenden Dienste ordnungsgemäß.
  4. Aktualisieren Sie den Quellcode und kompilieren Sie ihn bei Bedarf neu.
  5. Warten Sie, bis die dokumentierten Datenbankaktualisierungen abgeschlossen sind.
  6. Ü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

Kann ich einen WoW-Server unter Linux einrichten?

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.

Unterstützt AzerothCore das moderne World of Warcraft?

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.

Unterstützt AzerothCore MariaDB?

Nein. AzerothCore hat die Unterstützung für MariaDB im September 2024 eingestellt. Die aktuelle Dokumentation empfiehlt MySQL 8.4 LTS.

Benötige ich einen dedizierten Server?

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.

Ist der Betrieb eines privaten World-of-Warcraft-Servers legal?

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.

Table of Content

Eine WordPress-Staging-Website ist eine private Kopie Ihrer Live-Website. Dort können Sie Updates, Plugins, Themes und

So aktualisieren Sie PHP in WordPress sicher: Prüfen Sie Ihre aktuelle PHP-Version, sichern Sie Ihre

Die Konfiguration des Ubuntu-Firewalls mit UFW (Uncomplicated Firewall) schützt Ihren VPS, indem notwendige Verbindungen zugelassen

Build your next project with ZYNOO

From your first website to demanding applications, choose the resources and control you need.

Shared Hosting

Start your blog or business website with cPanel, LiteSpeed and CloudLinux.

VPS Hosting

Grow your websites and applications with NVMe storage, KVM virtualization and full root access.

Dedicated Servers

Power demanding projects with your own physical server, dedicated resources and control over your environment.

Nach oben scrollen