Introducing ZYNOO General Purpose & CPU Optimized Servers   Learn More >

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

Um einen World-of-Warcraft-Server einzurichten, müssen Sie eine Serveremulationssoftware installieren, eine Datenbank konfigurieren, Spieldaten vorbereiten und die verschiedenen Serverkomponenten miteinander verbinden. Eines der bekanntesten Open-Source-Projekte, um diesen Prozess kennenzulernen, 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 des Projekts für den Quellcode.

Wir behandeln die wichtigsten Befehle, die Datenbankkonfiguration, das Netzwerk 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 Emulationen 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 Ressourcen oder eine Genehmigung zum Betrieb eines nicht autorisierten Dienstes bereit.

Was ist AzerothCore?

AzerothCore ist ein Open-Source-MMORPG-Serveremulator, der auf der Umgebung von Wrath of the Lich King 3.3.5a basiert.

Er bildet serverseitige Systeme wie Charakterverwaltung, Authentifizierung, Quests, Kreaturen und Interaktionen in der Spielwelt nach.

Die Software besteht aus drei Hauptkomponenten:

  • Authserver: Übernimmt die Anmeldeauthentifizierung und die Auswahl des Realms.
  • Worldserver: Verwaltet 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, aber weder einen lizenzierten World-of-Warcraft-Spielclient noch die Rechte zur Weiterverbreitung von Blizzards Ressourcen.

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 Linux-Entwicklungs- oder Testumgebung können Sie sich an diesen Ausgangswerten orientieren:

RessourceEmpfohlene Konfiguration
CPU4 vCPU oder mehr
RAM8 GB oder mehr für die Kompilierung
Speicherplatz60–100 GB SSD oder NVMe
BetriebssystemUbuntu 26.04 LTS
DatenbankMySQL 8.4 LTS
CompilerGCC 15+ oder Clang 18+

Diese Hardwareangaben sind praktische Ausgangswerte, 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: Bereiten Sie Ihren Linux-Server vor

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 auszuführen.

Schritt 2: Laden Sie AzerothCore herunter und kompilieren Sie es

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 Jobs und verringert so die Speicherbelastung gegenüber der Nutzung aller verfügbaren CPU-Threads.

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 Tools.

Schritt 3: Konfigurieren Sie die MySQL-Datenbank

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 standardmäßigen Datenbankbenutzer neu, was bestehende Konfigurationen beeinträchtigen könnte.

Das Skript erstellt ein acore-Konto 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, einzigartiges Passwort. Halten Sie es geheim und aktualisieren Sie die entsprechenden Datenbankzugangsdaten in den Konfigurationsdateien.

Beenden Sie MySQL:

EXIT;

AzerothCore enthält einen automatischen Datenbank-Updater, der die benötigten Tabellen initialisiert und aktualisiert, wenn die entsprechenden Serverprozesse starten.

Sie müssen nicht jede Datenbank-Updatedatei manuell importieren.

Schritt 4: Bereiten Sie die erforderlichen Spieldaten vor

AzerothCore benötigt Spieldaten, die mit der Umgebung von 3.3.5a kompatibel sind.

Diese Daten sind vom Open-Source-Servercode getrennt und erfordern besondere Sorgfalt im Umgang mit proprietären Ressourcen und Lizenzen.

Zu den wichtigsten Datenverzeichnissen gehören:

VerzeichnisZweck
dbcSpielkonfiguration und Referenzdaten
mapsGelände- und Karteninformationen
vmapsKollisions- und Sichtliniendaten
mmapsNavigations- und Bewegungsdaten

AzerothCore stellt Extraktionstools bereit, mit denen Sie diese Daten aus einer kompatiblen Clientinstallation vorbereiten können, sofern Sie über die erforderlichen Rechte verfügen.

Für die Extraktion werden Tools wie map_extractor, vmap4_extractor, vmap4_assembler und mmaps_generator verwendet. Befolgen Sie für den zu Ihrer Umgebung passenden Extraktionsprozess die offizielle Anleitung zur Einrichtung eines Linux-Servers.

Legen Sie nach Abschluss der Extraktion die erforderlichen Verzeichnisse am konfigurierten Speicherort für die Daten ab.

Bei der Standardkonfiguration werden sie üblicherweise neben der installierten worldserver-Binärdatei unter folgendem Pfad erwartet:

~/azerothcore/env/dist/bin/

Prüfen Sie vor dem Start des Worldservers, ob die erforderlichen 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: Konfigurieren Sie Authserver und Worldserver

AzerothCore stellt Beispielkonfigurationsdateien für beide Dienste bereit.

Wechseln Sie in das Konfigurationsverzeichnis:

cd ~/azerothcore/env/dist/etc/

Erstellen Sie Arbeitskopien:

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.

Prüfen Sie anschließend die Option DataDir in worldserver.conf.

Wenn sich die erforderlichen Spieldatenverzeichnisse neben der installierten Worldserver-Binärdatei befinden, ist der standardmäßige relative Pfad möglicherweise bereits geeignet. Andernfalls setzen Sie DataDir auf das richtige Verzeichnis.

Speichern Sie die Konfigurationsdateien, bevor Sie fortfahren.

Schritt 6: Starten Sie den Worldserver und den Authserver

AzerothCore enthält Startskripte zur Verwaltung der Serverprozesse.

Für einen interaktiven Test können Sie tmux verwenden, um jeden Prozess in einer eigenen Terminalsitzung auszuführen.

Erstellen Sie zunächst eine Sitzung für den Worldserver:

tmux new -s wow-world

Führen Sie innerhalb dieser Sitzung Folgendes aus:

cd ~/azerothcore
./acore.sh run-worldserver

Beim ersten Start fordert AzerothCore Sie möglicherweise auf, Datenbanktabellen zu erstellen oder zu befü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 Spieldateien.

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.

Mit folgendem Befehl können Sie Ihre Sitzungen auflisten:

tmux ls

Verwenden Sie für den Dauerbetrieb die von AzerothCore dokumentierten Möglichkeiten zur Dienstverwaltung, statt sich ausschließlich auf interaktive Terminalsitzungen zu verlassen.

Schritt 7: Erstellen Sie ein Testkonto

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 verschiedene Berechtigungsstufen für Konten.

Mit den Befehlen zur Kontoverwaltung können Sie beispielsweise Administratorrechte zuweisen:

account set gmlevel testuser 3 -1

Stufe 3 gewährt Administratorrechte, während -1 die Einstellung auf alle Realms anwendet.

Vergeben Sie erweiterte Rechte nur an Konten, die diese tatsächlich benötigen.

Dies sind AzerothCore-Konsolenbefehle, keine regulären Linux-Shell-Befehle.

Schritt 8: Verstehen Sie die Netzwerkanbindung der Realms

AzerothCore verwendet standardmäßig zwei TCP-Ports:

PortDienst
3724Authserver
8085Worldserver

Außerdem speichert AzerothCore Realm-Verbindungsinformationen in der Tabelle realmlist innerhalb von acore_auth.

Für lokale Tests kann die Adresse 127.0.0.1 bleiben. Für eine autorisierte Remote-Testumgebung muss die Realm-Adresse mit der Adresse übereinstimmen, unter der der zugelassene Client den Realm erreichen kann. Der Netzwerkzugang muss entsprechend konfiguriert sein.

Sie können die bestehende Realm-Konfiguration über MySQL prüfen:

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.

Setzen Sie Ihren Datenbankport nicht dem öffentlichen Internet aus. Wenn für eine autorisierte Umgebung ein Remotezugriff erforderlich ist, beschränken Sie ihn mit geeigneten Firewall- oder privaten Netzwerkregeln.

AzerothCore ist auf das historische WoW-3.3.5a-Clientprotokoll ausgelegt. Moderne World-of-Warcraft-Clients sind nicht mit dieser Version austauschbar. Die Kompatibilität eines Clients allein berechtigt nicht dazu, sich mit einem inoffiziellen Server zu verbinden.

Häufige Probleme bei der Einrichtung eines World-of-Warcraft-Servers

Selbst wenn die Software erfolgreich kompiliert wurde, können Konfigurationsprobleme den Start der Dienste verhindern.

ProblemWas Sie prüfen sollten
Datenbankverbindung fehlgeschlagenMySQL-Status, Datenbankzugangsdaten, Benutzerberechtigungen
Worldserver kann Karten nicht ladenFehlende oder am falschen Ort abgelegte dbc-, maps– oder vmaps-Dateien
Realm nicht verfügbarStatus des Authservers und Konfiguration von realmlist
Verbindung abgelehntServerprozess, Port, auf dem Verbindungen entgegengenommen werden, Firewall
Kompilierung fehlgeschlagenCompilerversion, Abhängigkeiten, verfügbarer RAM
Unerwartete AbstürzeStartprotokolle, Kompatibilität der Softwareversionen, Ressourcenlimits

Prüfen Sie beispielsweise den verfügbaren Arbeitsspeicher und Speicherplatz mit:

free -h
df -h

Wenn Sie einen Build-Fehler 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 die Installationsanforderungen und Konfigurationsoptionen ändern.

Bevor Sie eine bestehende Umgebung aktualisieren:

  1. Sichern Sie Ihre MySQL-Datenbanken und benutzerdefinierten 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 Datenbankupdates abgeschlossen sind.
  6. Überprüfen Sie die Serverprozesse und deren Protokolle.

Halten Sie außerdem Ihr Betriebssystem mit Sicherheitsupdates auf dem neuesten Stand, schützen Sie Administratorzugangsdaten, 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.

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 Verwendung proprietärer Spielressourcen 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 Retail-Spielclients sind nicht direkt kompatibel.

Wird MariaDB von AzerothCore unterstützt?

Nein. AzerothCore hat die Unterstützung für MariaDB im September 2024 eingestellt. In der aktuellen Dokumentation wird MySQL 8.4 LTS empfohlen.

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?

Blizzards Endbenutzer-Lizenzvereinbarung schränkt nicht autorisierte Serveremulationen und Verbindungen ein. Open-Source-Serversoftware gewährt keine Rechte an Blizzards Spielclient, Grafiken oder anderen proprietären Inhalten. Wer eine Emulatorumgebung in Betracht zieht, sollte die einschlägigen Lizenzen prüfen und alle erforderlichen Genehmigungen einholen.

Fazit

Um einen World-of-Warcraft-Server mit AzerothCore einzurichten, reicht es bei Weitem nicht aus, einen Emulator herunterzuladen und zwei Befehle auszuführen.

Eine funktionsfähige technische Umgebung erfordert kompatible Software, eine MySQL-Konfiguration, geeignete Spieldaten, korrekt konfigurierte Authentifizierungs- und Worldserver-Dienste sowie eine passende Netzwerkanbindung.

Wenn Sie die aktuelle Dokumentation des Projekts befolgen und jeden Schritt überprüfen, bevor Sie fortfahren, können Sie die Funktionsweise der MMORPG-Serverinfrastruktur besser verstehen und viele häufige Installationsfehler vermeiden.

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

Hosting that grows with you

Give your next website or application the resources and control it needs.

Explore VPS hosting →

Mit VPS-Reseller-Hosting können Hosting-Unternehmen virtuelle private Server unter ihrer eigenen Marke verkaufen, ohne teure Hardware

Sie können mit KI eine WordPress-Website erstellen, ohne programmieren zu können oder einen professionellen Webdesigner

Der Vergleich zwischen Fedora und Ubuntu ist unter Entwicklern, Linux-Enthusiasten und Unternehmen, die ein Betriebssystem

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