# wow private server Déployer un serveur privé pour World Of Warcrfat via [cmangos](https://cmangos.net) compatible versions Classic (1.12.x), Burning Crusade (2.4.3) et Wrath Of The Litch King (3.3.5a) ## Pre requis - Linux 🐧 - Docker :whale: - 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 ```bash docker compose up database -d ``` ### Extraire les maps du client ```bash ./docker/run.sh extract ``` > Choisir l'import en HD avec le plus de CPU possible car c'est long ☕ ### Builder les images ```bash ./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: ```bash ./docker/run.sh init-db ``` > Patienter le temps de la mise en place de la base de données ☕ ### Création du Realm ```bash ./scripts/create_realm.sh create_realm ``` ### Créer un compte ```bash docker attach wow-mangosd # Appuyer sur Enter mangosd> # Créer un compte account create 3 # Ajouter email au compte account set email # Ajouter un niveau admin à un compte (0= player, 3=admin realm, -1=admin all realms) account set gmlevel -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 [WOWSimpleREGISTRATION](/registration/README.md) :warning: 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 - [x] admin create account OK, change password OK - [ ] make registration get vars from .env - [ ] script install ask version and client path and do all