From ca8eb8b36e24a5aa05b7c6362bd9d76305a9a50e Mon Sep 17 00:00:00 2001 From: greg Date: Thu, 21 Aug 2025 19:08:58 +0200 Subject: [PATCH] maj readme --- README.md | 115 +++++++++++++++++++++++++++++-- install.sh | 198 ----------------------------------------------------- 2 files changed, 111 insertions(+), 202 deletions(-) delete mode 100644 install.sh diff --git a/README.md b/README.md index ea1ab96..5f748f2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,115 @@ -# wow private server (vmangos) +# WORLD OF WARCRAFT SERVER INSTALL (VERSION 1.12) -- dump db: +## PRE REQUIS + +- debian 12 +- user wow +- ports: + - TCP: 3724, 8085 + - UDP: 3724, 8085 + +- WOW 1.12 client: https://drive.usercontent.google.com/download?id=1TDoNNUXCtsgIUhLw96biPCqjv3AcLYkg&export=download + +## CONFIG + +- Mettre en place les données du server: ```bash -docker exec nom_du_conteneur_db mysqldump -u root -pMOTDEPASS --databases realmd mangos characters logs > full_dump.sql +wget https://www.mediafire.com/file_premium/j6cyqjeif3dvrv2/data.7z +7z x data.7z +rm -r data.7z +mv data/ storage/mangosd/extracted-data/ ``` -mysql -u root -p < full_dump.sql \ No newline at end of file +- Modifier l'IP du server: +```bash +nano compose.yml +``` + +## LANCER LA STACK + +```bash +docker compose up -d +``` + +## CREER UN UTILISATEURS + +Lancer le service mangosd: +```bash +docker attach vmangos-deploy-mangosd-1 +``` + +- Créer un utilisateur: +```bash +account create +``` + +[autres commandes](https://github.com/dkpminus/mangos-gm-commands) + +## PROTEGER LE SERVEUR VIA FAIL2BAN + +- Installer fail2ban: +```bash +sudo apt install fail2ban -y +``` + +- Créer `/etc/fail2ban/filter.d/realmd.conf`: +```conf +[Definition] +failregex = \[AuthChallenge\] Account '.*' using IP '' tried to login with wrong password! +ignoreregex = +``` + +- Créer `/etc/fail2ban/jail.local`: + +```conf +[realmd] +enabled = true +filter = realmd +port = 3724 +protocol = tcp +logpath = /home/wow/vmangos/logs/realmd/realmd.log +maxretry = 5 +findtime = 600 +bantime = 36000 +``` + +- Redémarrer fail2ban: +```bash +sudo systemctl restart fail2ban +sudo fail2ban-client reload +``` + +## SE CONNECTER AU SERVEUR + +- Télécharger le [client (v1.12)](https://drive.usercontent.google.com/download?id=1TDoNNUXCtsgIUhLw96biPCqjv3AcLYkg&export=download) + +- Editer le fichier `realmlist.wtf` pour y mettre l'IP du serveur: +```bash +set +``` + +## BACKUP DATABASE ET RESTORE + +- Exporter la base de données: +```bash +docker exec nom_du_conteneur_db mysqldump -u root -pMOTDEPASS --databases realmd mangos characters logs > wow-db-dump.sql +``` + +- Importer la base de données: +```bash +docker cp wow-db-dump.sql :/ +docker exec -it bash +apt update && apt install -y mysql-client +mysql -u root -ppassword < wow-db-dump.sql +``` + +## SOURCES + +- [vmangos](https://github.com/vmangos) +- [tuto](https://www.youtube.com/watch?v=ac1mVFz2u1o) +- [docker version](https://github.com/mserajnik/vmangos-deploy) + +## TO DO + +- [ ] jail for realmd port +- [ ] Server IP as env for confs et Dockerfiles \ No newline at end of file diff --git a/install.sh b/install.sh deleted file mode 100644 index 8fbbb64..0000000 --- a/install.sh +++ /dev/null @@ -1,198 +0,0 @@ -#!/bin/bash - -CURRENT_USER=${SUDO_USER:-$CURRENT_USER} -REALM_IP=$(hostname -I | awk '{print $1}') - -# CONFIG -MANGOS_ETC="/home/"$CURRENT_USER"/vmangos/etc" -MANGOS_DATA="/home/"$CURRENT_USER"/vmangos/data" -MANGOS_LOGS="/home/"$CURRENT_USER"/vmangos/logs" - -MYSQL_ROOT_PASS="greg" -MANGOS_DB_PASS="mangos" - -REALM_NAME="wow-garage" - -# DEPENDENCIES -echo "[INFO] Configuration & dependencies installation ..." - -sudo systemctl stop apt-daily.timer -sudo systemctl disable apt-daily.timer - -sudo apt update && sudo apt install p7zip-full git wget g++ cmake openssl libssl-dev build-essential checkinstall zlib1g-dev mariadb-server mariadb-client libmariadb-dev libmariadb-dev-compat libreadline-dev -y - -sudo apt install -qq libace-dev -y -export ACE_ROOT=/usr/include/ace - -sudo apt install -y libtbb-dev -y -export TBB_ROOT_DIR=/usr/include/tbb - -# CLONING PROJECT -echo "[INFO] Cloning project ..." - -sudo mkdir -p /home/$CURRENT_USER/vmangos -sudo chown -R $CURRENT_USER:$CURRENT_USER /home/$CURRENT_USER -cd /home/$CURRENT_USER/vmangos -git clone -b development https://github.com/vmangos/core && git clone https://github.com/brotalnia/database vmangos/db - -mkdir -p /home/$CURRENT_USER/build -cd /home/$CURRENT_USER/build -sudo cmake /home/$CURRENT_USER/vmangos/core -DDEBUG=0 -DSUPPORTED_CLIENT_BUILD=5875 -DUSE_EXTRACTORS=0 -DCMAKE_INSTALL_PREFIX=$HOME/vmangos - -# BUILDING PROJECT -echo "[INFO] building $CURRENT_USER ..." - -sudo make -j $(nproc) install - -# GETTING DATAS -echo "[INFO] Getting datas ..." - -cd /home/$CURRENT_USER/vmangos -wget https://www.mediafire.com/file_premium/j6cyqjeif3dvrv2/data.7z -7z x data.7z -rm -r data.7z - -# MISE EN PLACE DES FICHIERS -echo "[INFO] Mise en place des fichiers ..." - -mkdir /home/$CURRENT_USER/vmangos/etc - -sudo chown -R $CURRENT_USER:$CURRENT_USER /home/$CURRENT_USER/vmangos - -sudo cp /root/vmangos/etc/realmd.conf.dist /home/$CURRENT_USER/vmangos/etc/mangosd.conf -sudo cp /root/vmangos/etc/mangosd.conf.dist /home/$CURRENT_USER/vmangos/etc/realmd.conf - -sudo chown -R $CURRENT_USER:$CURRENT_USER /home/$CURRENT_USER/vmangos - -mkdir -p /home/$CURRENT_USER/vmangos/logs/{mangosd,realmd,honor} - -# CONFIG AGAIN -echo "[INFO] Configuration de mangosd.conf ..." - -sed -i \ - -e "s|^DataDir.*|DataDir = \"$MANGOS_DATA\"|" \ - -e "s|^LogsDir.*|LogsDir = \"$MANGOS_LOGS/mangosd\"|" \ - -e "s|^HonorDir.*|HonorDir = \"$MANGOS_LOGS/honor\"|" \ - "$MANGOS_ETC/mangosd.conf" - -echo "[INFO] Configuration de realmd.conf ..." -sed -i \ - -e "s|^LogsDir.*|LogsDir = \"$MANGOS_LOGS/realmd\"|" \ - "$MANGOS_ETC/realmd.conf" - -# MYSQL SECURE INSTALLATION -echo "[INFO] Sécurisation de MySQL ..." - -sudo mysql <