update readme
This commit is contained in:
		
							parent
							
								
									b4dbd725e2
								
							
						
					
					
						commit
						3459b71c8e
					
				
							
								
								
									
										42
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								README.md
									
									
									
									
									
								
							| @ -1,5 +1,7 @@ | ||||
| # wow private server | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| ## Pre requis | ||||
| 
 | ||||
| - Linux 🐧 | ||||
| @ -12,33 +14,61 @@ | ||||
| |--------------------------------------------|--------------|-----------|-------------------| | ||||
| |             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`  |                   | | ||||
| | 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 version de WOW correspondante au client () | ||||
|     - La TimeZone (TZ) | ||||
|     - Mots de passe database | ||||
| 
 | ||||
| ## Installation | ||||
| 
 | ||||
| - Extraire les maps du client: | ||||
| ### Extraire les maps du client  | ||||
| ```bash | ||||
| ./builder/run.sh extract | ||||
| ./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 wow-db | ||||
| 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 | ||||
| ./builder/run.sh init-db | ||||
| ./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 | ||||
|  | ||||
							
								
								
									
										60
									
								
								build_docker_images.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										60
									
								
								build_docker_images.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,60 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
| 
 | ||||
| # Choix expension | ||||
| # echo "Entre ton choix (classic / tbc / wotlk) :" | ||||
| # read reponse | ||||
| 
 | ||||
| # case "$reponse" in | ||||
| #     classic) EXPANSION="classic" ;; | ||||
| #     tbc)     EXPANSION="tbc" ;; | ||||
| #     wotlk)   EXPANSION="wotlk" ;; | ||||
| #     *)       EXPANSION="Inconnu" ;; | ||||
| # esac | ||||
| 
 | ||||
| # Arguments | ||||
| EXPANSION="${1:-wotlk}"   # exemple : wotlk / tbc / classic | ||||
| THREADS="${2:-2}" | ||||
| 
 | ||||
| # Infos git | ||||
| MANGOS_SHA1=$(curl -sSL "https://api.github.com/repos/cmangos/mangos-${EXPANSION}/commits/master" | jq -r .sha) | ||||
| DATABASE_SHA1=$(curl -sSL "https://api.github.com/repos/cmangos/${EXPANSION}-db/commits/master" | jq -r .sha) | ||||
| 
 | ||||
| VERSION="1.0.0-$(date -u +"%Y%m%d")" | ||||
| 
 | ||||
| # Registry + repository | ||||
| REGISTRY="wow-server" | ||||
| # REPO="wow-server" | ||||
| DOCKER_IMAGE="${REGISTRY}" | ||||
| 
 | ||||
| # Tags pour builder | ||||
| BUILDER_IMAGE_TAG="${DOCKER_IMAGE}-${EXPANSION}:builder" | ||||
| # Tags pour runner | ||||
| RUNNER_IMAGE_TAG="${DOCKER_IMAGE}-${EXPANSION}:runner" | ||||
| 
 | ||||
| echo "==== Build de l’image BUILDER ====" | ||||
| docker buildx build \ | ||||
|   --build-arg EXPANSION="${EXPANSION}" \ | ||||
|   --build-arg MANGOS_SHA1="${MANGOS_SHA1}" \ | ||||
|   --build-arg DATABASE_SHA1="${DATABASE_SHA1}" \ | ||||
|   --build-arg THREADS="${THREADS}" \ | ||||
|   --build-arg VERSION="${VERSION}" \ | ||||
|   --target builder \ | ||||
|   --tag "${BUILDER_IMAGE_TAG}" \ | ||||
|   --load \ | ||||
|   docker/ | ||||
| 
 | ||||
| echo "==== Build de l’image RUNNER ====" | ||||
| docker buildx build \ | ||||
|   --build-arg EXPANSION="${EXPANSION}" \ | ||||
|   --build-arg MANGOS_SHA1="${MANGOS_SHA1}" \ | ||||
|   --build-arg DATABASE_SHA1="${DATABASE_SHA1}" \ | ||||
|   --build-arg THREADS="${THREADS}" \ | ||||
|   --build-arg VERSION="${VERSION}" \ | ||||
|   --target runner \ | ||||
|   --tag "${RUNNER_IMAGE_TAG}" \ | ||||
|   --load \ | ||||
|   docker/ | ||||
| 
 | ||||
| echo "==== Images construites ====" | ||||
| docker images | grep "${DOCKER_IMAGE}" | ||||
| @ -4,7 +4,7 @@ services: | ||||
|     image: mariadb:11.8 | ||||
|     container_name: wow-db | ||||
|     environment: | ||||
|       database_ROOT_PASSWORD: "${MYSQL_SUPERPASS}" | ||||
|       MARIADB_ROOT_PASSWORD: "${MYSQL_SUPERPASS}"       | ||||
|     volumes: | ||||
|       - ./database_data:/var/lib/mysql | ||||
|       - ./config/database:/etc/mysql/conf.d:ro | ||||
| @ -12,7 +12,7 @@ services: | ||||
|       - wow | ||||
| 
 | ||||
|   mangosd: | ||||
|     image: dockerregistry.legaragenumerique.fr/wow-server-wotlk:runner | ||||
|     image: wow-server-"${WOW_VERSION}":runner | ||||
|     container_name: wow-mangosd | ||||
|     depends_on: | ||||
|       - database | ||||
| @ -33,7 +33,7 @@ services: | ||||
|       - wow | ||||
| 
 | ||||
|   realmd: | ||||
|     image: dockerregistry.legaragenumerique.fr/wow-server-wotlk:runner | ||||
|     image: wow-server-"${WOW_VERSION}":runner | ||||
|     container_name: wow-realmd | ||||
|     depends_on: | ||||
|       - database | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	