# 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: ## Versions prises en charge | 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 ### 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 ./build_docker_image.sh wotlk 2 # version / 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 - Lançer la base de données: ```bash docker compose up database ``` > Laisser tourner et ouvrir un autre terminal - 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 ``` ### Inteface pour créer les comptes 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) ### TO DO - admin create account OK, change password KO (old password decryption) - make registration get vars from .env - script install ask version and client path and do all