3.6 KiB
3.6 KiB
wow private server
Déployer un serveur privé pour World Of Warcrfat via cmangos compatible versions Classic (1.12.x), Burning Crusade (2.4.3) et Wrath Of The Litch King (3.3.5a)
Pre requis
- Linux 🐧
- Docker 🐳
- Clients:
| Game name | Game version | Keyword | client download |
|---|---|---|---|
| World of Warcraft® | v1.12.x | classic |
https://archive.org/download/World_of_Warcraft_Client_and_Installation_Archive/ISO/WoW-1.12.1_install.rar |
| World of Warcraft: The Burning Crusade® | v2.4.3 | tbc |
https://archive.org/download/World_of_Warcraft_Client_and_Installation_Archive/ISO/WoW-2.4.3_install.rar |
| World of Warcraft: Wrath of the Link King® | v3.3.5a | wotlk |
somewher in the web ;) |
Comment ça marche ?
3 services sont nécessaires:
- Mangosd : c'est l'émulateur qui simule le serveur WOW ainsi que l'authentification.
- Realmd : C'est le processus qui gère le 'realm', le serveur de jeu avec les évènements et les aasets.
- Base de données qui persiste aussi bien les comptes que les personnages s'y rattachant ainsi que leur progressions respectives.
Configuration
- Renseigner dans le fichier
.env:- Le chemin absolue vers le client WOW (Classic, tbc ou wotlk)
- La version de WOW correspondante au client ()
- La TimeZone (TZ)
- Mots de passe database
Installation
Lancer la base de données
docker compose up database -d
Extraire les maps du client
./docker/run.sh extract
Choisir l'import en HD avec le plus de CPU possible car c'est long ☕
Builder les images
./scripts//build_docker_image.sh 2
# nb threads
L'image builder récupère le code source de cmangos pour le compiler, c'est long aussi ☕
Peupler la base de données
- Dans un autre terminal, lançer le script d'import des données du jeu:
./docker/run.sh init-db
Patienter le temps de la mise en place de la base de données ☕
Création du Realm
./scripts/create_realm.sh create_realm <NOM_DU_REALM> <IP_ADRESS_SERVER>
Créer un compte
docker attach wow-mangosd
# Appuyer sur Enter
mangosd>
# Créer un compte
account create <nom_compte> <mot_de_passe> 3
# Ajouter email au compte
account set email <nom_compte> <email> <confirmation_email>
# Ajouter un niveau admin à un compte (0= player, 3=admin realm, -1=admin all realms)
account set gmlevel <nom_compte> <niveau> -1
Inteface pour créer les comptes (Optionnel mais pratique)
Dans le dossier registration/ se trouve une interface pour créer des comptes et gérer les changements de mots de passe
⚠️ Utiliser un user admin (gmlevel 3) dans registration/application/config/config.php pour se connecter au processus d'écoute de mangosd (via SOAP) à configurer dans config/mangosd/mangosd.conf (lignes 1731 à 1735)
TO DO
- admin create account OK, change password OK
- make registration get vars from .env
- script install ask version and client path and do all