• démarrer un serveur minecraft dans une session screen et monitorer

      screen -dmS minecraft_partie java -Xmx4G -Xms2G -jar server.jar nogui

       

      Options de Screen:

      -d -m Démarrer en mode détaché (comme un service)

      -S minecraft_hard_core Nommer la session pour une identification facile

       

      Options Java recommandées pour Minecraft:

      -Xmx4G Mémoire maximum allouée (4 Go)

      -Xms2G Mémoire initiale allouée (2 Go)

      -jar server.jar Chemin vers votre fichier serveur

      nogui Désactive l’interface graphique inutile en serveur

      Gérer la session

      Vérifier que le serveur tourne:

      screen -ls
      12345.minecraft_ma_partie (Detached)

       

      Se connecter à la console:

      screen -r minecraft_partie

      Configuration Avancée

      Pour un serveur optimisé, créez un script de démarrage (start.sh):

      #!/bin/bash
      
      SESSION_NAME="minecraft_partie"
      JAR_FILE="server.jar"
      JAVA_ARGS="-Xmx4G -Xms2G"
      SCREEN_ARGS="-dmS"
      
      # Vérifier si la session existe déjà
      if screen -list | grep -q "$SESSION_NAME"; then
          echo "Erreur: Une session $SESSION_NAME existe déjà!"
          exit 1
      fi
      
      # Démarrer le serveur
      screen $SCREEN_ARGS $SESSION_NAME java $JAVA_ARGS -jar $JAR_FILE nogui
      
      echo "Serveur Minecraft démarré dans screen '$SESSION_NAME'"
      echo "Pour vous y connecter: screen -r $SESSION_NAME"

      Automatisation du redémarrage

      Pour gérer les crashes (utile en Hardcore), créez un script restart.sh:

      #!/bin/bash
      
      SESSION="minecraft_hard_core"
      
      while true; do
          # Démarrer le serveur
          screen -dmS $SESSION java -Xmx4G -Xms2G -jar server.jar nogui
      
          # Attendre que le serveur crash
          while screen -list | grep -q "$SESSION"; do
              sleep 60
          done
      
          echo "Serveur crashé, redémarrage dans 10 secondes..."
          sleep 10
      done

      Conseils pour Serveur Hardcore

      Sauvegardes automatiques:

      # Dans crontab -e
      0 */2 * * * tar -czf /backups/minecraft-hc-$(date +\%Y\%m\%d-\%H\%M).tar.gz /chemin/vers/monde

      Journalisation:

      screen -L -Logfile /var/log/minecraft-hc.log -S minecraft_hard_core java -Xmx4G [...]

      Monitoring:
      Installez htop puis:

      watch -n 1 "screen -S minecraft_hard_core -X stuff 'list\n'"

       

       

      Bonnes Pratiques pour Éviter l’Erreur

      2. Utilisez un script de démarrage (start_mc.sh)

      #!/bin/bash
      SESSION="mc_hardcore"
      JAR="server.jar"
      
      if screen -list | grep -q "$SESSION"; then
          echo "⚠️ La session '$SESSION' existe déjà. Connectez-vous avec :"
          echo "  screen -r $SESSION"
      else
          screen -dmS $SESSION java -Xmx4G -Xms2G -jar $JAR nogui
          echo "✅ Serveur démarré dans screen '$SESSION'. Pour vous connecter :"
          echo "  screen -r $SESSION"
      fi

       

      3. Commandes Utiles pour Gérer Screen

      screen -r mc_hardcore Se connecter à la session

      Ctrl + A → D Détacher la session (sans la quitter)

      screen -X -S mc_hardcore quit Tuer la session proprement

       

      1. Tuer une session spécifique

      screen -S nom_session -X quit

      -X quit : Envoie la commande quit pour terminer proprement

      3. Tuer toutes les sessions Screen

      killall screen

      5. Si Screen ne répond pas (méthode forcée)

      Trouvez le processus Screen :

      ps aux | grep screen

      Tuez-le manuellement :

      kill -9 PID_du_processus

      Bonnes pratiques

      Sauvegardez vos données avant de tuer une session (surtout pour un serveur Minecraft).

      Vérifiez que la session est bien morte :

      screen -wipe  # Nettoie les sessions terminées

      Exemple Complet pour un Serveur Minecraft

      Lister les sessions :

      screen -ls
      # 5678.mc_hardcore (Detached)

      Tuer proprement :

      screen -S mc_hardcore -X stuff 'stop\n'  # Envoie la commande 'stop' au serveur
      screen -S mc_hardcore -X quit            # Ferme la session
      screen -ls
      # No Sockets found (Tout est propre)

       

 

Aucun commentaire

 

Laissez un commentaire