Serveur minecraft

scripts de sauvegarde avec des fonctionnalités supplémentaires pour la génération de cartes · GitHub – Monter un serveur MineCraft

Le 18 mai 2020 - 4 minutes de lecture

#!/ bin / bash ################################################### ###################### # Script de sauvegarde pour les serveurs minecraft avec SCP vers un autre site. # # Arrête et démarre le serveur minecraft spécifié pour des sauvegardes à 100%. # # Prend en charge plusieurs serveurs minecraft sur la même machine # # # # Auteur # # Pierre Christoffersen, www.nahaz.se # # N'hésitez pas à redistribuer, changer ou améliorer, mais laissez l'original # # auteurs et contributeurs dans les commentaires. # # http://github.com/Nahaz/Minecraft-Backup-Bash-Script # # # # Codes de sortie: # # 0 = terminé sans erreur # # 1 = sauvegarde effectuée, serveur non redémarré # # 2 = Échec # # # # Variables utilisées: # # # # Lié au serveur Minecraft: # # MCDIR = / Dir / vers / minecraft / serveur # # MCSRV = Nom du serveur.jar utilisé # # JXMS = 512 Mo # Nombre de RAM minimum pour JVM # # JXMX = 3072M # Nombre de ram maximum pour JVM # # GUI = nogui #nogui, ne changez pas, seulement un var pour des fins futures # # WORLDNAME = Nom du monde minecraft # # SCREEN = Nom du serveur d'écran Minecraft en cours d'exécution dans # # # # Minuterie de redémarrage / arrêt du serveur et message # # TIME = 60 # Compte à rebours en secondes pour arrêter le serveur # # MSG = "Le serveur redémarre dans" $ TIME "secondes, de retour dans une minute!" # # TRIES = 3 #Nombre d'essais pour démarrer / arrêter le serveur avant d'abandonner # # # # Répertoire temporaire et site distant pour la sauvegarde # # TMPDIR = / dir / to / tmp # # BCKSRV = HOSTNAME #Hostname of backupserver # # BCKDIR = / dir / on / backupserver / to / store / in # # # # Ne les modifiez pas à moins de comprendre ce que vous faites # # LOG = $ TMP / mc. $ WORLDNAME.fullbck.log # # OF = / tmp / $ FILE # # BUDIR = $ MCDIR / $ WORLDNAME # # FILE = $ WORLDNAME. $ TIMESTAMP.fullbck.tar.gz # # TIMESTAMP = $ (date +% y% m% d.% T) # # TIMSTAMP = $ (date +% y% m% d % T) # ################################################### ###################### #Propriétés Minecraft MCDIR = / home / killa / minecraft_new MCSRV = Minecraft_Mod.jar JXMS = 1024M JXMX = 2048M GUI = nogui WORLDNAME = world ÉCRAN = MINECRAFT-SERVER #Propriétés de la carte MAPGENDIR = / home / killa / c10t-1.5 MAPGENOPTS ="-M1536" MAPGENTARGETHOST = vlin1.nc23.de MAPGENTARGETUSER = killa MAPGENTARGETDIR = / var / www / vhosts / killa / public / minecraft / map MAPGENTARGETKEY = / home / killa / .ssh / id_rsa #Redémarrer les propriétés TIME = 15 MSG ="Redémarrage du serveur dans "$ TIME" secondes, de retour dans une minute!" ESSAIS = 3 #Variables de sauvegarde TMPDIR = / tmp BCKSRV = googlerocks.dyndns.org BCKSRVUSR = mcbck-killa BCKDIR = #pas besoin de les changer TIMESTAMP =$ (date +% y-% m-% d.% H-% M-% S) LOGSTAMP =$ (date +% y% m% d % T) LOGFILE =$ TMPDIR/ mc.$ WORLDNAME.fullbck.log BUDIR =$ MCDIR FICHIER =$ WORLDNAME.$ TIMESTAMP.fullbck.tar.gz OF =$ TMPDIR/$ FILE #fonctions astucieuses, ne modifiez rien ci-dessous #Vérifiez si le serveur minecraft fonctionne, ONLINE == 1 s'il est hors ligne, ONLINE == 2 s'il fonctionne une fonction srv_check () CMD ="ps ux une fonction Journal () écho "[[[[$ LOGSTAMP] $ @" >> $ LOGFILE #Tuez le serveur minecraft, mais postez $ MSG sur le serveur $ TIME avant l'arrêt et avertissez 5 secondes avant l'arrêt. Si "stop" ne fonctionne pas, supprimez $ PID. une fonction kill_mc () awk "imprimer $ 1;") local STOP =$ ESSAIS tandis que [[[[[[[[$ STOP -gt 0 && $ EN LIGNE == 2]]; faire Journal "Essayez #$ STOP d'arrêter le serveur minecraft." tuer $ PID srv_check STOP =$ (($ STOP1)) terminé si [[[[$ STOP == 0]; puis Journal "Impossible de tuer le serveur Minecraft, en quittant" sortie 2 autre Journal "Serveur minecraft tué après $ STOP nombre d'essais, en procédant à une sauvegarde complète." Fi Fi #Démarrez le serveur Minecraft avec $ PARAMS une fonction start_mc () grep "ÉCRAN -AmdS $ ÉCRAN" une fonction create_map () Journal "Commencer à créer une carte" CD $ MAPGENDIR CMD ="./google-api.sh $ TMPDIR/$ WORLDNAME.$ TIMESTAMP/$ WORLDNAME $ TMPDIR/$ WORLDNAME.$ TIMESTAMP.MAPGEN $ MAPGENOPTS" écho $ CMD $ CMD tar -czfv – $ TMPDIR/$ WORLDNAME.$ TIMESTAMP.MAPGEN /* une fonction run_backup () #Répertoire de sauvegarde, sortie vers $ LOG mkdir $ TMPDIR/$ WORLDNAME.$ TIMESTAMP cp -rf $ BUDIR/* $ TMPDIR/$ WORLDNAME.$ TIMESTAMP Journal "Procédure de démarrage du serveur …" start_mc create_map tar -czf $ DE $ TMPDIR/$ WORLDNAME.$ TIMESTAMP si [[[[$? == 0]; puis Journal "TAR de $ BUDIR à $ OF était un succès." elif [[[[$? == 1 ]; puis Journal "TAR de $ BUDIR à $ OF a réussi, mais la sauvegarde n'est pas à 100% $ BUDIR, probablement parce qu'il a été modifié lors de la lecture." autre Journal "TAR de $ BUDIR à $ OF n'a PAS réussi, raison: $ ? ERREUR FATALE." Fi rm -rf $ TMPDIR/$ WORLDNAME.$ TIMESTAMP #Sauvegarde SCP vers $ BCKSRV, sortie vers $ LOG scp -i ~/.ssh/id_rsa $ DE $ BCKSRVUSR@$ BCKSRV:$ BCKDIR si [[[[$? == 0]; puis Journal "SCP de $ OF à $ BCKSRV était un succès." autre Journal "SCP de $ OF à $ BCKSRV n'a PAS réussi, raison: $ ?: Une erreur s'est produite." Fi #Le serveur minecraft fonctionne-t-il? oui – arrêtez puis continuez, non – continuez Journal "Début de la sauvegarde complète de $ BUDIR" srv_check si [[[[$ EN LIGNE == 2]; puis kill_mc si [[[[$ EN LIGNE == 1 ]; puis run_backup Fi autre run_backup Fi

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.