Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| jeux:ragnarok [2026/10/16 12:48] – frog | jeux:ragnarok [2026/10/17 00:10] (Version actuelle) – frog | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| Le titre est trompeur car en fait je vais faire plus que juste un serveur Raganarok \\ | Le titre est trompeur car en fait je vais faire plus que juste un serveur Raganarok \\ | ||
| - | Validation de la compatibilitéDebian | + | Validation de la compatibilité de mon matériel et de l' |
| + | - Debian | ||
| + | - Calagopus étant écrit en Rust (langage compilé très proche du matériel), il est ultra-performant. Là où un panel PHP classique solliciterait | ||
| + | - Le fait que l' | ||
| === Étape 1 : Préparation de Debian 13 === | === Étape 1 : Préparation de Debian 13 === | ||
| Connectez-vous à votre machine via SSH (ou un écran/ | Connectez-vous à votre machine via SSH (ou un écran/ | ||
| Ligne 92: | Ligne 96: | ||
| </ | </ | ||
| - | Patientez 2-3 minutes le temps que les bases de données s' | + | Patientez 2-3 minutes le temps que les bases de données s' |
| Connectez-vous et créez le compte Administrateur lorsqu' | Connectez-vous et créez le compte Administrateur lorsqu' | ||
| Ligne 98: | Ligne 102: | ||
| Dans Calagopus, tout se passe via l' | Dans Calagopus, tout se passe via l' | ||
| Créer la Node (le " | Créer la Node (le " | ||
| - | Pour CS 1.6 et CS2 :Calagopus est compatible avec les " | ||
| - | Allez dans la section des serveurs, créez un nouveau serveur. Sélectionnez le jeu (Source Engine / Counter-Strike 2 ou GoldSrc / CS 1.6). Le panel va instantanément créer un conteneur et télécharger les jeux via SteamCMD. | ||
| - | Rappel pour CS2 : il vous faudra renseigner votre GSLT (Jeton Steam) dans les variables d' | ||
| Pour Ragnarok Online (rAthena) :rAthena nécessite la création de l'Egg dans le panel : | Pour Ragnarok Online (rAthena) :rAthena nécessite la création de l'Egg dans le panel : | ||
| - Dans l' | - Dans l' | ||
| - | - Cliquez sur New Egg (Nouveau modèle). Name : rAthena Description : Émulateur Ragnarok Online Docker Image : ghcr.io/ | + | - Cliquez sur New Egg (Nouveau modèle). |
| - | - Startup Command : C'est ici que réside l' | + | * Name : rAthena |
| - | + | * Description : Émulateur Ragnarok Online | |
| - | Configuration | + | * Docker Image : ghcr.io/ |
| + | * Startup Command : C'est ici que réside l' | ||
| + | * Configuration d' | ||
| + | * Configuration Files : Laissez vide pour l' | ||
| Configuration: | Configuration: | ||
| Ligne 117: | Ligne 121: | ||
| <code Bash> | <code Bash> | ||
| #!/bin/bash | #!/bin/bash | ||
| - | # Mise à jour et installation | + | export DEBIAN_FRONTEND=noninteractive |
| - | apt update -y | + | |
| - | apt install -y git make gcc g++ default-libmysqlclient-dev zlib1g-dev libpcre3-dev | + | echo "1. Correction |
| + | echo " | ||
| + | echo "deb http:// | ||
| + | echo "deb http:// | ||
| + | |||
| + | echo "2. Installation des outils nécessaires et du client MySQL..." | ||
| + | apt-get | ||
| + | apt-get install -y --allow-unauthenticated | ||
| + | |||
| + | echo "3. Test de connexion à la base de données..." | ||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | # Test de connexion via le client MySQL (interrompt le script si échec) | ||
| + | if mysql -h " | ||
| + | echo " | ||
| + | else | ||
| + | echo " | ||
| + | echo " | ||
| + | echo " - L' | ||
| + | echo " - L' | ||
| + | echo " - Le serveur MariaDB autorise les connexions distantes." | ||
| + | exit 1 | ||
| + | fi | ||
| # Déplacement dans le dossier du serveur | # Déplacement dans le dossier du serveur | ||
| cd /mnt/server | cd /mnt/server | ||
| - | # Clonage du code source | + | # Clonage |
| - | echo " | + | |
| if [ ! -d " | if [ ! -d " | ||
| + | echo "4. Clonage de rAthena..." | ||
| git clone https:// | git clone https:// | ||
| else | else | ||
| - | echo "Mise à jour du dépôt existant..." | + | echo "4. Mise à jour du dépôt existant..." |
| git pull | git pull | ||
| fi | fi | ||
| + | |||
| + | echo "5. Configuration automatique de tous les fichiers de connexion SQL..." | ||
| + | python3 - <<EOF | ||
| + | import os | ||
| + | import re | ||
| + | |||
| + | db_host = os.environ.get(" | ||
| + | db_user = os.environ.get(" | ||
| + | db_pass = os.environ.get(" | ||
| + | |||
| + | files_to_update = [ | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ] | ||
| + | |||
| + | for file_path in files_to_update: | ||
| + | if os.path.exists(file_path): | ||
| + | with open(file_path, | ||
| + | lines = f.readlines() | ||
| + | |||
| + | new_lines = [] | ||
| + | for line in lines: | ||
| + | if re.match(r" | ||
| + | key = line.split(":" | ||
| + | new_lines.append(f" | ||
| + | elif re.match(r" | ||
| + | key = line.split(":" | ||
| + | new_lines.append(f" | ||
| + | elif re.match(r" | ||
| + | key = line.split(":" | ||
| + | new_lines.append(f" | ||
| + | else: | ||
| + | new_lines.append(line) | ||
| + | |||
| + | with open(file_path, | ||
| + | f.writelines(new_lines) | ||
| + | print(f" | ||
| + | else: | ||
| + | print(f" | ||
| + | EOF | ||
| # Compilation | # Compilation | ||
| - | echo " | + | echo "6. Compilation en cours (patientez |
| ./configure | ./configure | ||
| make clean | make clean | ||
| make server | make server | ||
| - | # Rendre le script de démarrage exécutable | + | # Finalisation |
| chmod +x athena-start | chmod +x athena-start | ||
| - | echo " | + | echo " |
| </ | </ | ||