Outils pour utilisateurs

Outils du site


jeux:ragnarok

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
jeux:ragnarok [2026/10/16 12:53] – frogjeux:ragnarok [2026/10/17 00:10] (Version actuelle) – frog
Ligne 96: Ligne 96:
 </code> </code>
  
-Patientez 2-3 minutes le temps que les bases de données s'initialisent.Accédez à l'interface depuis un PC de votre réseau en tapant l'adresse IP locale de votre serveur dans le navigateur (ex: [http://192.168.1.50](http://192.168.1.50)). +Patientez 2-3 minutes le temps que les bases de données s'initialisent. Accédez à l'interface depuis un PC de votre réseau en tapant l'adresse IP locale de votre serveur dans le navigateur. 
 Connectez-vous et créez le compte Administrateur lorsqu'on vous le propose. Connectez-vous et créez le compte Administrateur lorsqu'on vous le propose.
  
Ligne 102: Ligne 102:
 Dans Calagopus, tout se passe via l'interface web :    Dans Calagopus, tout se passe via l'interface web :   
 Créer la Node (le "Nœud" local) : Allez dans l'administration, créez une Node pointant vers l'IP 127.0.0.1 et le port 8080 (puisque l'AIO inclut Wings en local). Créer la Node (le "Nœud" local) : Allez dans l'administration, créez une Node pointant vers l'IP 127.0.0.1 et le port 8080 (puisque l'AIO inclut Wings en local).
-Pour CS 1.6 et CS2 :Calagopus est compatible avec les "Eggs" (modèles d'installation) de Pterodactyl.    
-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'environnement du panel. 
  
 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'administration de Calagopus, allez dans Nests et sélectionnez votre Nest (ex: "MMO"). - Dans l'administration de Calagopus, allez dans Nests et sélectionnez votre Nest (ex: "MMO").
-- Cliquez sur New Egg (Nouveau modèle). Name : rAthena Description : Émulateur Ragnarok Online Docker Image : ghcr.io/pterodactyl/yolks:debian (C'est l'image officielle de base, sous Debian, qui fera tourner le jeu). +- Cliquez sur New Egg (Nouveau modèle).    
-- Startup Command : C'est ici que réside l'astuce. Copiez-collez exactement ceci :./athena-start start; sleep 2; tail -F log/login-server.log log/char-server.log log/map-server.log +* Name : rAthena  
- +* Description : Émulateur Ragnarok Online  
-Configuration de l'état (Stop / Start) : Le panel a besoin de savoir comment arrêter proprement votre serveur.Stop Command : ^C (Cela enverra un signal d'interruption au tail, puis vous pourrez configurer l'arrêt propre). Configuration Files : Laissez vide pour l'instant.+* Docker Image : ghcr.io/pterodactyl/yolks:debian (C'est l'image officielle de base, sous Debian, qui fera tourner le jeu). 
 +* Startup Command : C'est ici que réside l'astuce. Copiez-collez exactement ceci :./athena-start start; sleep 2; tail -F log/login-server.log log/char-server.log log/map-server.log 
 +* Configuration d'arrêt : ./athena-start stop 
 +* Configuration Files : Laissez vide pour l'instant.
  
 Configuration: Configuration:
Ligne 121: Ligne 121:
 <code Bash> <code Bash>
 #!/bin/bash #!/bin/bash
-# Mise à jour et installation des compilateurs +export DEBIAN_FRONTEND=noninteractive 
-apt update -y + 
-apt install -y git make gcc g++ default-libmysqlclient-dev zlib1g-dev libpcre3-dev+echo "1. Correction des sources APT pour contourner les erreurs 404..." 
 +echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/99no-check-valid 
 +echo "deb http://archive.debian.org/debian/ bullseye main" > /etc/apt/sources.list 
 +echo "deb http://archive.debian.org/debian-security/ bullseye-security main" >> /etc/apt/sources.list 
 + 
 +echo "2. Installation des outils nécessaires et du client MySQL..." 
 +apt-get update -y 
 +apt-get install -y --allow-unauthenticated git make gcc g++ python3 default-mysql-client default-libmysqlclient-dev zlib1g-dev libpcre3-dev 
 + 
 +echo "3. Test de connexion à la base de données..." 
 +echo "   -> Hôte cible : ${DB_HOST}" 
 +echo "   -> Utilisateur : ${DB_USER}" 
 + 
 +# Test de connexion via le client MySQL (interrompt le script si échec) 
 +if mysql -h "${DB_HOST}" -u "${DB_USER}" -p"${DB_PASS}" -e "SELECT 1;" > /dev/null 2>&1; then 
 +    echo "Succès : Connexion à la base de données établie avec succès !" 
 +else 
 +    echo "ERREUR CRITIQUE : Impossible de se connecter à la base de données !" 
 +    echo "Vérifiez que :" 
 +    echo " - L'adresse de l'hôte (${DB_HOST}) est correcte et accessible." 
 +    echo " - L'utilisateur (${DB_USER}) et le mot de passe sont valides." 
 +    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 ou mise à jour du code source
-echo "Clonage de rAthena..."+
 if [ ! -d ".git" ]; then if [ ! -d ".git" ]; then
 +    echo "4. Clonage de rAthena..."
     git clone https://github.com/rathena/rathena.git .     git clone https://github.com/rathena/rathena.git .
 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_HOST", "127.0.0.1")
 +db_user = os.environ.get("DB_USER", "rathena")
 +db_pass = os.environ.get("DB_PASS", "")
 +
 +files_to_update = [
 +    "conf/inter_athena.conf",
 +    "conf/login_athena.conf",
 +    "conf/char_athena.conf",
 +    "conf/map_athena.conf"
 +]
 +
 +for file_path in files_to_update:
 +    if os.path.exists(file_path):
 +        with open(file_path, "r", encoding="utf-8", errors="ignore") as f:
 +            lines = f.readlines()
 +
 +        new_lines = []
 +        for line in lines:
 +            if re.match(r"^\s*(login_server_ip|char_server_ip|map_server_ip|web_server_ip|log_db_ip|ipban_db_ip|sql_hostname|db_hostname)\s*:", line):
 +                key = line.split(":")[0]
 +                new_lines.append(f"{key}: {db_host}\n")
 +            elif re.match(r"^\s*(login_server_id|char_server_id|map_server_id|web_server_id|log_db_id|ipban_db_id|sql_id|db_user|sql_user)\s*:", line):
 +                key = line.split(":")[0]
 +                new_lines.append(f"{key}: {db_user}\n")
 +            elif re.match(r"^\s*(login_server_pw|char_server_pw|map_server_pw|web_server_pw|log_db_pw|ipban_db_pw|sql_pw|db_pass|sql_password)\s*:", line):
 +                key = line.split(":")[0]
 +                new_lines.append(f"{key}: {db_pass}\n")
 +            else:
 +                new_lines.append(line)
 +
 +        with open(file_path, "w", encoding="utf-8") as f:
 +            f.writelines(new_lines)
 +        print(f"Mis à jour avec succès : {file_path}")
 +    else:
 +        print(f"Attention : {file_path} introuvable.")
 +EOF
  
 # Compilation # Compilation
-echo "Compilation en cours (cela peut prendre quelques minutes sur le i7-965)..."+echo "6. Compilation en cours (patientez quelques minutes sur le i7-965)..."
 ./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 "Installation terminée !"+echo "Installation et configuration de rAthena terminées avec succès !"
 </code> </code>
  
jeux/ragnarok.txt · Dernière modification : de frog