wow-private-server/README.md
2025-09-01 17:25:49 +02:00

80 lines
2.4 KiB
Markdown

# 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 ;) |
## 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
docker exec <wow-mangosd>
# delete realm par défaut
DELETE FROM realmlist WHERE id = 1;
# Créer son realm
INSERT INTO realmlist (id, name, address, port, icon, realmflags, timezone, allowedSecurityLevel)
VALUES ('1', 'NOM', '127.0.0.1', '8085', '1', '0', '1', '0');
```
> Modifier le `NOM`, l'adresse `IP` du serveur (sauf si sur la même machine que le client) et la timezone si différent de Paris
### 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