Instructions pour exécuter les scripts fournis
Étape 1 : Télécharger les scripts
Une fois les scripts fournis téléchargés sur votre machine hôte, vous devez les transférer vers votre machine virtuelle cible (Ubuntu 22.04 LTS) où vous allez les exécuter. Vous pouvez utiliser scp (secure copy) pour cela.
# Transférer les scripts vers la machine cible
scp install_base.sh deploy_minecraft.sh setup_backup.sh ansible@machine_ip:~
Remplacez machine_ip par l'adresse IP de votre machine virtuelle cible.
Connectez-vous ensuite à votre machine virtuelle cible :
ssh ansible@machine_ip
Puis déplacez-vous dans le répertoire où vous avez copié les scripts (soit le répertoire personnel de l'utilisateur ansible si vous avez suivi l'exemple ci-dessus) pour les rendre exécutables :
sudo chmod +x install_base.sh deploy_minecraft.sh setup_backup.sh
Étape 2 : Exécuter le script d'installation de base install_base.sh
Ce script installe Java, screen, wget, curl et prépare la structure de répertoires.
sudo ./install_base.sh
Durée estimée
2-3 minutes
Sortie attendue
=== Mise à jour des paquets ===
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
...
=== Installation de Java 17 ===
Reading package lists... Done
...
=== Installation de screen ===
...
=== Installation de wget ===
...
=== Installation de curl ===
...
=== Création du répertoire principal ===
=== Création du répertoire de backups ===
=== Configuration des limites système ===
=== Vérification de la version Java ===
openjdk version "17.0.x" 2023-xx-xx
...
✓ Installation de base terminée avec succès !
Vérification
# Vérifier que Java est installé
java -version
# Vérifier les répertoires créés
ls -la /opt/gameservers
ls -la /opt/backups/minecraft
# Vérifier les limites système
cat /etc/security/limits.d/minecraft.conf
Étape 3 : Déployer le premier serveur (Survival)
Commande
sudo ./deploy_minecraft.sh survival01 25565 1G 2G 20 survival
Explication des paramètres
| Paramètre | Valeur | Signification |
|---|---|---|
| Nom du serveur | survival01 |
Nom unique pour identifier ce serveur |
| Port | 25565 |
Port d'écoute (port par défaut de Minecraft) |
| Mémoire minimum | 1G |
RAM minimum allouée au serveur |
| Mémoire maximum | 2G |
RAM maximum allouée au serveur |
| Joueurs max | 20 |
Nombre maximum de joueurs simultanés |
| Mode de jeu | survival |
Mode pour ce jeu. Les options sont : survival, creative, adventure, spectator |
Durée estimée
1-2 minutes (téléchargement du JAR Minecraft)
Sortie attendue
=== Déploiement du serveur survival01 ===
Configuration:
- Port: 25565
- Mémoire: 1G à 2G
- Joueurs max: 20
- Mode de jeu: survival
=== Création de l'utilisateur système survival01 ===
=== Création des répertoires du serveur ===
=== Téléchargement du JAR Minecraft (version 1.20.1) ===
=== Acceptation de l'EULA ===
=== Génération du fichier server.properties ===
=== Création du service systemd ===
=== Activation et démarrage du service ===
✓ Serveur survival01 déployé avec succès !
- Service: minecraft-survival01
- Port: 25565
- Statut: systemctl status minecraft-survival01
Vérification
# Vérifier que le service est actif
sudo systemctl status minecraft-survival01
# Résultat attendu :
# ● minecraft-survival01.service - Minecraft Server - survival01
# Loaded: loaded
# Active: active (running)
# Attendre 30 secondes que le serveur initialise
sleep 30
# Vérifier que le port écoute
sudo ss -tlnp | grep 25565
# Résultat attendu :
# LISTEN 0 50 *:25565 *:* users:(("java",pid=12345,...))
Voir les logs du serveur
# Voir les logs en temps réel
sudo journalctl -u minecraft-survival01 -f
# Pour quitter, appuyez sur Ctrl+C
# Voir les 50 dernières lignes
sudo journalctl -u minecraft-survival01 -n 50
Note : Le serveur Minecraft prend environ 1-2 minutes à démarrer complètement. Vous verrez "Done!" dans les logs quand c'est prêt.
Étape 4 : Déployer le deuxième serveur (Creative)
Commande
sudo ./deploy_minecraft.sh creative01 25566 512M 1G 10 creative
Changements par rapport au serveur Survival
- Nom :
creative01(différent de survival01) - Port :
25566(différent de 25565, obligatoire !) - Mémoire :
512M-1G(moins que Survival car mode Creative moins gourmand) - Joueurs :
10(moins de joueurs) - Mode :
creative(mode créatif)
Vérification
# Vérifier le service
sudo systemctl status minecraft-creative01
# Attendre le démarrage
sleep 30
# Vérifier le port
sudo ss -tlnp | grep 25566
Étape 5 : Déployer le troisième serveur (Minigames)
Commande
sudo ./deploy_minecraft.sh minigames01 25567 2G 3G 30 adventure
Caractéristiques
- Port :
25567(encore différent) - Mémoire :
2G-3G(plus pour supporter plus de joueurs) - Joueurs :
30(le plus grand des 3 serveurs) - Mode :
adventure(pour les minigames)
Vérification
sudo systemctl status minecraft-minigames01
sleep 30
sudo ss -tlnp | grep 25567
Étape 6 : Vérifier les 3 serveurs simultanément
Vérifier tous les services
# Voir l'état de tous les services Minecraft
sudo systemctl status 'minecraft-*'
# Ou de manière plus compacte
sudo systemctl list-units 'minecraft-*'
Résultat attendu
minecraft-survival01.service loaded active running Minecraft Server - survival01
minecraft-creative01.service loaded active running Minecraft Server - creative01
minecraft-minigames01.service loaded active running Minecraft Server - minigames01
Vérifier tous les ports
# Voir tous les ports Minecraft
sudo ss -tlnp | grep -E '2556[567]'
Résultat attendu
LISTEN 0 50 *:25565 *:* users:(("java",pid=...))
LISTEN 0 50 *:25566 *:* users:(("java",pid=...))
LISTEN 0 50 *:25567 *:* users:(("java",pid=...))
Vérifier les utilisateurs système
# Voir les utilisateurs créés
grep gameservers /etc/passwd
Résultat attendu
survival01:x:999:999::/opt/gameservers/survival01:/bin/bash
creative01:x:998:998::/opt/gameservers/creative01:/bin/bash
minigames01:x:997:997::/opt/gameservers/minigames01:/bin/bash
Étape 7 : Configurer les backups automatiques
Pour le serveur Survival
sudo ./setup_backup.sh survival01 2 7
Paramètres :
survival01: Nom du serveur à sauvegarder2: Heure d'exécution (2h du matin)7: Rétention (garder 7 jours de backups)
Pour le serveur Creative
sudo ./setup_backup.sh creative01 3 5
Paramètres :
- Exécution à 3h du matin
- Rétention de 5 jours
Pour le serveur Minigames
sudo ./setup_backup.sh minigames01 4 3
Paramètres :
- Exécution à 4h du matin
- Rétention de 3 jours
Vérification
# Voir les tâches cron configurées
sudo crontab -l
# Résultat attendu :
# 0 2 * * * /usr/local/bin/backup-survival01.sh >> /var/log/backup-survival01.log 2>&1
# 0 3 * * * /usr/local/bin/backup-creative01.sh >> /var/log/backup-creative01.log 2>&1
# 0 4 * * * /usr/local/bin/backup-minigames01.sh >> /var/log/backup-minigames01.log 2>&1
# Voir les scripts de backup créés
ls -la /usr/local/bin/backup-*.sh
Étape 8 : Tester un backup manuel
Exécuter un backup manuellement
# Exécuter le script de backup pour survival01
sudo /usr/local/bin/backup-survival01.sh
Sortie attendue
Début du backup de survival01
Backup créé: /opt/backups/minecraft/survival01/backup_20241125_143022.tar.gz
Nettoyage des backups de plus de 7 jours...
Backup terminé avec succès
Vérifier le backup
# Voir les backups créés
ls -lh /opt/backups/minecraft/survival01/
# Résultat attendu :
# -rw-r--r-- 1 root root 15M Nov 25 14:30 backup_20241125_143022.tar.gz
Faire le ménage
Afin d'avoir un environnement propre pour commencer votre travail avec Ansible, vous pouvez supprimer les serveurs Minecraft déployés et les backups créés durant ce test.
# 1. Arrêter tous les services
sudo systemctl stop minecraft-survival01 minecraft-creative01 minecraft-minigames01
# 2. Désactiver les services
sudo systemctl disable minecraft-survival01 minecraft-creative01 minecraft-minigames01
# 3. Supprimer les fichiers systemd
sudo rm /etc/systemd/system/minecraft-*.service
sudo systemctl daemon-reload
# 4. Supprimer les utilisateurs
sudo userdel -r survival01
sudo userdel -r creative01
sudo userdel -r minigames01
# 5. Supprimer les répertoires
sudo rm -rf /opt/gameservers
sudo rm -rf /opt/backups/minecraft
# 6. Supprimer les scripts de backup
sudo rm /usr/local/bin/backup-*.sh
# 7. Nettoyer les crons
sudo crontab -l | grep -v backup- | sudo crontab -