La configuration d’un serveur World of Warcraft consiste à installer un logiciel d’émulation de serveur, à configurer une base de données, à préparer les données du jeu et à connecter les différents composants du serveur. L’un des projets open source les plus connus pour étudier ce processus est AzerothCore, qui émule l’environnement serveur de World of Warcraft: Wrath of the Lich King 3.3.5a.
AzerothCore fonctionne sous Linux, Windows et macOS. Dans ce guide, nous nous concentrerons sur son installation sous Ubuntu 26.04 LTS, en suivant la procédure actuelle d’installation à partir du code source du projet.
Nous aborderons les commandes essentielles, la configuration de la base de données, le réseau et les problèmes d’installation courants.
Important : AzerothCore est un projet open source indépendant, et non un serveur officiel de Blizzard. Les conditions de licence de Blizzard restreignent l’émulation et les connexions non autorisées. Ce guide est destiné à l’apprentissage technique et aux environnements pour lesquels vous disposez des droits et autorisations nécessaires. Il ne fournit ni clients de jeu, ni ressources propriétaires, ni autorisation d’exploiter un service non autorisé.
Qu’est-ce qu’AzerothCore ?
AzerothCore est un émulateur de serveur de MMORPG open source basé sur l’environnement de Wrath of the Lich King 3.3.5a.
Il recrée des systèmes côté serveur tels que la gestion des personnages, l’authentification, les quêtes, les créatures et les interactions dans l’univers du jeu.
Le logiciel utilise trois composants principaux :
- Authserver : gère l’authentification à la connexion et la sélection du royaume.
- Worldserver : gère les activités dans l’univers du jeu, les personnages et les systèmes de jeu.
- Base de données MySQL : stocke les données d’authentification, les personnages et les informations sur l’univers du jeu.
Les deux applications serveur communiquent avec MySQL et peuvent fonctionner sur la même machine.
AzerothCore fournit le logiciel serveur, mais ne fournit ni client de jeu World of Warcraft sous licence ni droits de redistribution des ressources de Blizzard.

Configuration requise pour un serveur World of Warcraft
Les besoins en ressources d’AzerothCore dépendent de votre méthode d’installation et de la charge de travail. La compilation du logiciel nécessite généralement plus de ressources que l’exécution d’un petit environnement de test.
Pour un environnement de développement ou de test sous Linux, vous pouvez partir des caractéristiques suivantes :
| Ressource | Configuration suggérée |
|---|---|
| CPU | 4 vCPU ou plus |
| RAM | 8 GB ou plus pour la compilation |
| Stockage | 60–100 GB SSD ou NVMe |
| Système d’exploitation | Ubuntu 26.04 LTS |
| Base de données | MySQL 8.4 LTS |
| Compilateur | GCC 15+ ou Clang 18+ |
Ces caractéristiques matérielles sont des estimations pratiques pour commencer, et non des exigences minimales officielles ni des capacités d’accueil de joueurs garanties.
Pour ce tutoriel, nous utiliserons Ubuntu 26.04 LTS, dont les dépôts proposent des paquets MySQL 8.4 pris en charge.
L’installation nécessite également un accès administrateur et une connaissance des commandes Linux de base.
Si vous découvrez l’hébergement de jeux multijoueurs, notre guide de l’hébergement de serveurs de jeu explique comment le matériel du serveur, les performances du réseau et l’infrastructure d’hébergement influencent l’expérience de jeu, la stabilité et les besoins en ressources.
Étape 1 : préparez votre serveur Linux
Connectez-vous à votre environnement Linux via SSH :
ssh admin@YOUR_SERVER_IP
Remplacez admin par votre nom d’utilisateur et YOUR_SERVER_IP par l’adresse réelle de votre serveur.
Mettez le système à jour :
sudo apt update
sudo apt upgrade
Installez ensuite les dépendances indiquées pour Ubuntu 26.04 :
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
Vérifiez que MySQL est en cours d’exécution :
sudo systemctl status mysql
Vous pouvez également vérifier les versions du compilateur et de la base de données :
clang --version
mysql --version
Assurez-vous qu’elles répondent aux exigences actuelles d’AzerothCore avant de continuer.
Utilisez un compte Linux standard pour compiler et exécuter AzerothCore, plutôt que d’exécuter l’application en tant que root.
Étape 2 : téléchargez et compilez AzerothCore
Téléchargez le code source officiel depuis GitHub :
git clone https://github.com/azerothcore/azerothcore-wotlk.git \
--branch master --single-branch ~/azerothcore
Accédez au répertoire du projet et créez un répertoire de compilation distinct :
cd ~/azerothcore
mkdir build
cd build
Configurez la compilation avec 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
Si la configuration réussit, compilez AzerothCore :
make -j2
L’option -j2 limite la compilation à deux tâches parallèles, ce qui réduit la consommation de mémoire par rapport à l’utilisation de tous les threads CPU disponibles.
Si votre serveur dispose de peu de RAM et que la compilation échoue par manque de mémoire, essayez make -j1.
Une fois la compilation terminée, installez les fichiers binaires :
make install
Les fichiers installés devraient désormais se trouver dans :
~/azerothcore/env/dist/
Le répertoire bin contient les applications serveur et les outils compilés.
Étape 3 : configurez la base de données MySQL
AzerothCore utilise trois bases de données :
acore_auth— informations d’authentification et de compte.acore_characters— données des personnages et des joueurs.acore_world— informations sur l’univers du jeu.
Pour une nouvelle installation, AzerothCore fournit un script SQL permettant de créer les bases de données et l’utilisateur de la base de données.
Exécutez :
sudo mysql < ~/azerothcore/data/sql/create/create_mysql.sql
Utilisez ce script d’initialisation uniquement pour une nouvelle installation. Le script recrée également l’utilisateur de base de données par défaut, ce qui pourrait perturber les configurations existantes.
Le script crée un compte acore avec un mot de passe par défaut. Modifiez ce mot de passe avant d’utiliser l’installation.
Ouvrez MySQL :
sudo mysql
Modifiez le mot de passe du compte :
ALTER USER 'acore'@'localhost'
IDENTIFIED BY 'YOUR_STRONG_PASSWORD';
Remplacez la valeur de remplacement par un mot de passe fort et unique. Gardez-le confidentiel et mettez à jour les identifiants de connexion à la base de données correspondants dans les fichiers de configuration.
Quittez MySQL :
EXIT;
AzerothCore comprend un outil de mise à jour automatique des bases de données qui initialise et met à jour les tables nécessaires au démarrage des processus serveur concernés.
Vous n’avez pas besoin d’importer manuellement chaque fichier de mise à jour des bases de données.
Étape 4 : préparez les données de jeu nécessaires
AzerothCore nécessite des données relatives à l’univers du jeu compatibles avec l’environnement 3.3.5a.
Ces données sont distinctes du code serveur open source et exigent une attention particulière aux ressources propriétaires et aux licences.
Les principaux répertoires de données sont les suivants :
| Répertoire | Fonction |
|---|---|
dbc | Données de configuration et de référence du jeu |
maps | Informations sur le terrain et les cartes |
vmaps | Données de collision et de ligne de visée |
mmaps | Données de navigation et de déplacement |
AzerothCore fournit des outils d’extraction pour préparer ces données à partir d’une installation du client compatible, à condition que vous disposiez des droits nécessaires.
Le processus d’extraction utilise des outils tels que map_extractor, vmap4_extractor, vmap4_assembler et mmaps_generator. Suivez les instructions officielles de configuration d’un serveur Linux pour effectuer l’extraction adaptée à votre environnement.
Une fois l’extraction terminée, placez les répertoires nécessaires à l’emplacement configuré pour les données.
La configuration par défaut prévoit généralement de les placer à côté du fichier binaire worldserver installé, dans :
~/azerothcore/env/dist/bin/
Vérifiez que les répertoires nécessaires existent avant de démarrer le serveur de monde.
Remarque : la licence de l’émulateur open source n’autorise pas le téléchargement, le partage ou la redistribution des fichiers propriétaires du client World of Warcraft.
Étape 5 : configurez Authserver et Worldserver
AzerothCore fournit des exemples de fichiers de configuration pour les deux services.
Accédez au répertoire de configuration :
cd ~/azerothcore/env/dist/etc/
Créez des copies de travail :
cp authserver.conf.dist authserver.conf
cp worldserver.conf.dist worldserver.conf
Ouvrez les fichiers de configuration avec l’éditeur de texte de votre choix.
Par exemple :
nano worldserver.conf
Repérez les paramètres de connexion à la base de données.
Leur format est le suivant :
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"
Remplacez YOUR_PASSWORD par le mot de passe de la base de données créé précédemment.
Configurez également LoginDatabaseInfo dans authserver.conf.
Chaque entrée indique l’hôte MySQL, le port, le nom d’utilisateur, le mot de passe et le nom de la base de données.
Vérifiez ensuite l’option DataDir dans worldserver.conf.
Si les répertoires de données de jeu nécessaires se trouvent à côté du fichier binaire du serveur de monde installé, le chemin relatif par défaut peut déjà convenir. Sinon, définissez DataDir sur le répertoire approprié.
Enregistrez les fichiers de configuration avant de continuer.
Étape 6 : démarrez les serveurs de monde et d’authentification
AzerothCore comprend des scripts de démarrage pour gérer les processus serveur.
Pour un test interactif, vous pouvez utiliser tmux afin de maintenir chaque processus dans une session de terminal distincte.
Créez d’abord une session pour le serveur de monde :
tmux new -s wow-world
Dans cette session, exécutez :
cd ~/azerothcore
./acore.sh run-worldserver
Au premier démarrage, AzerothCore peut vous demander de créer ou de remplir les tables des bases de données. Suivez les instructions affichées et laissez l’initialisation se terminer.
Vérifiez dans la sortie si des problèmes de connexion aux bases de données ou des fichiers de données de jeu manquants sont signalés.
Pour vous détacher de la session tmux sans arrêter le processus, appuyez sur Ctrl+B, puis sur D.
Démarrez une deuxième session :
tmux new -s wow-auth
Exécutez ensuite :
cd ~/azerothcore
./acore.sh run-authserver
Les deux processus serveur devraient maintenant fonctionner dans des sessions distinctes.
Vous pouvez afficher la liste de vos sessions avec :
tmux ls
Pour les déploiements de longue durée, utilisez les méthodes de gestion des services documentées par AzerothCore plutôt que de vous fier uniquement à des sessions de terminal interactives.
Étape 7 : créez un compte de test
Une fois le serveur de monde démarré, vous pouvez créer un compte depuis sa console.
Reconnectez-vous à la session du serveur de monde :
tmux attach -t wow-world
Dans la console du serveur de monde, saisissez :
account create testuser YOUR_STRONG_PASSWORD
Remplacez le nom d’utilisateur et le mot de passe de l’exemple par les identifiants de votre choix.
AzerothCore prend également en charge différents niveaux d’autorisation pour les comptes.
Par exemple, ses commandes de gestion des comptes permettent d’attribuer des privilèges d’administrateur :
account set gmlevel testuser 3 -1
Le niveau 3 accorde des privilèges d’administrateur, tandis que -1 applique ce réglage à tous les royaumes.
N’accordez des privilèges élevés qu’aux comptes qui en ont réellement besoin.
Il s’agit de commandes de la console AzerothCore, et non de commandes du shell Linux.
Étape 8 : comprenez la configuration réseau des royaumes
AzerothCore utilise deux ports TCP par défaut :
| Port | Service |
|---|---|
| 3724 | Serveur d’authentification |
| 8085 | Serveur de monde |
Il conserve également les informations de connexion des royaumes dans la table realmlist de acore_auth.
Pour les tests locaux, l’adresse peut rester 127.0.0.1. Dans un environnement de test à distance autorisé, l’adresse du royaume doit correspondre à celle à laquelle le client autorisé peut accéder, et l’accès réseau doit être configuré en conséquence.
Vous pouvez consulter la configuration actuelle des royaumes dans MySQL :
sudo mysql
Puis :
USE acore_auth;
SELECT id, name, address FROM realmlist;
La documentation réseau d’AzerothCore explique le fonctionnement des adresses des royaumes et des paramètres réseau.
Évitez d’exposer le port de votre base de données à l’Internet public. Si un accès distant est nécessaire dans un environnement autorisé, limitez-le au moyen de règles de pare-feu ou de réseau privé adaptées.
AzerothCore cible le protocole historique du client WoW 3.3.5a. Les clients World of Warcraft modernes ne sont pas interchangeables avec cette version. La compatibilité d’un client ne constitue pas, à elle seule, une autorisation de connexion à un serveur non officiel.
Problèmes courants lors de la configuration d’un serveur World of Warcraft
Même lorsque la compilation du logiciel réussit, des problèmes de configuration peuvent empêcher le démarrage des services.
| Problème | Points à vérifier |
|---|---|
| Échec de la connexion à la base de données | État de MySQL, identifiants de connexion à la base de données, autorisations de l’utilisateur |
| Worldserver ne peut pas charger les cartes | Fichiers dbc, maps ou vmaps manquants ou mal placés |
| Royaume indisponible | État d’Authserver et configuration de realmlist |
| Connexion refusée | Processus serveur, port d’écoute, pare-feu |
| Échec de la compilation | Version du compilateur, dépendances, RAM disponible |
| Plantages inattendus | Journaux de démarrage, compatibilité des versions logicielles, limites de ressources |
Par exemple, vérifiez la mémoire et l’espace de stockage disponibles avec :
free -h
df -h
Si vous cherchez la cause d’un échec de compilation, relancez la commande concernée et lisez la première erreur significative au lieu de vous concentrer uniquement sur le dernier message d’échec.
Si les problèmes persistent, consultez la documentation d’AzerothCore sur les erreurs courantes.
Maintenir AzerothCore à jour et sécurisé
AzerothCore fait l’objet de mises à jour régulières. Les exigences d’installation et les options de configuration peuvent donc évoluer.
Avant de mettre à jour un environnement existant :
- Sauvegardez vos bases de données MySQL et vos configurations personnalisées.
- Consultez les dernières notes d’installation et de mise à jour du projet.
- Arrêtez proprement les services concernés.
- Mettez à jour le code source et recompilez-le si nécessaire.
- Laissez les mises à jour documentées des bases de données se terminer.
- Vérifiez les processus serveur et examinez leurs journaux.
Veillez également à appliquer les mises à jour de sécurité du système d’exploitation, à protéger les identifiants d’administrateur, à restreindre les accès réseau inutiles et à tester les procédures de restauration.
Évitez de désactiver entièrement les mises à jour de sécurité automatiques. Planifiez plutôt des fenêtres de maintenance et coordonnez les mises à jour susceptibles de redémarrer MySQL ou d’autres services.
Questions fréquentes
Oui. AzerothCore prend en charge Linux et fournit une documentation pour compiler et configurer son logiciel serveur open source. L’utilisation de ressources propriétaires du jeu ou la connexion d’un client WoW soulève d’autres questions de droits et de licences.
Non. Le projet AzerothCore WotLK cible l’environnement historique de World of Warcraft 3.3.5a. Les clients des versions commerciales modernes du jeu ne sont pas directement compatibles.
Non. AzerothCore a cessé de prendre en charge MariaDB en septembre 2024. Sa documentation actuelle recommande MySQL 8.4 LTS.
Pas nécessairement. Un environnement de développement ou de test peut fonctionner sur une machine virtuelle suffisamment puissante. Les besoins en ressources dépendent de la compilation, des modules installés, des services actifs et de la charge de travail.
Le contrat de licence d’utilisateur final de Blizzard restreint l’émulation de serveurs et les connexions non autorisées. Un logiciel serveur open source ne confère aucun droit sur le client de jeu, les éléments graphiques ou les autres contenus propriétaires de Blizzard. Toute personne envisageant de mettre en place un environnement d’émulation doit examiner les licences applicables et obtenir les autorisations nécessaires.
Conclusion
Configurer un serveur World of Warcraft avec AzerothCore ne se résume pas à télécharger un émulateur et à exécuter deux commandes.
Un environnement technique fonctionnel nécessite un logiciel compatible, une configuration MySQL, des données de jeu appropriées, des services d’authentification et de monde correctement configurés ainsi qu’une configuration réseau adaptée.
En suivant la documentation actuelle du projet et en vérifiant chaque étape avant de poursuivre, vous pourrez mieux comprendre le fonctionnement de l’infrastructure des serveurs de MMORPG tout en évitant de nombreuses erreurs d’installation courantes.
Distinguez toujours la technologie serveur open source des contenus propriétaires et des autorisations nécessaires pour l’utiliser.