Serveur minecraft

[Bash] Script de serveur – Pastebin.com – Resoudre les problemes d’un serveur MineCraft

Le 1 août 2019 - 4 minutes de lecture

  • #! / bin / bash

  • # /etc/init.d/minecraft

  • # version 0.3.2 2011-01-27 (AAAA-MM-JJ)

  • ### BEGIN INIT INFO

  • # Fournit: minecraft

  • # Required-Start: $ local_fs $ remote_fs

  • # Required-Stop: $ local_fs $ remote_fs

  • # Should-Start: $ network

  • # Should-Stop: $ network

  • # Default-Start: 2 3 4 5

  • # Default-Stop: 0 1 6

  • # Description courte: serveur Minecraft

  • # Description: Démarre le serveur minecraft

  • ### FIN INIT INFO

  • # Paramètres commencent

  • NOM D'UTILISATEUR="racine"

  • JMXPORT=25565

  • UN SERVICE='minecraft_server.jar'

  • MCPATH="/"

  • BACKUPPATH="/ backup"

  • CHECKSERVER="/ CheckServer"

  • JMXPWFILE="JMXPass.txt"

  • CRASHLOG_DB_PATH='/ Crashlogs'

  • JAVA_HOME="/ usr / local / lib / jrockit"

  • MEMORY_OPTS="-Xmx1G -Xms1G"

  • JAVA_OPTIONS="-XX: FlightRecorderOptions = defaultrecording = true, disque = true, référentiel = / home /$ USERNAME/ jfr /, maxage = 30m, settings = profile "

  • JMX_OPTIONS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.port =$ JMXPORT -Dcom.sun.management.jmxremote.password.file =$ JMXPWFILE"

  • INVOCATION="Java $ MEMORY_OPTS $ JAVA_OPTIONS $ JMX_OPTIONS -pot $ SERVICE nogui "

  • BACKUPARCHIVEPATH=$ SAUVEGARDE/archiver

  • BACKUPDIR= $(rendez-vous amoureux +%b_%Y)

  • PORT= $(grep port-serveur server.properties | Couper -ré '=' -F 2)

  • si [[ -z "$ PORT" ]; puis

  • PORT=25565

  • Fi

  • # Fin des paramètres

  • si [[ $(qui suis je) != $ USERNAME ]; puis

  • su $ USERNAME -l -c "$ (readlink -f $ 0) $ * "

  • sortie $?

  • Fi

  • est en cours d'exécution() grep "^ \ s *$ pid\ s * $" > /dev/nul

  • revenir $?

  • mc_start() grep "^ \ s *$ screenpid "

  • mc_startmonitor()

  • si [[ -z $ CHECKSERVER ]; puis

  • écho "moniteur commencé"

  • /usr/poubelle/démon –prénom= minecraft_checkserver $ JAVA_HOME/poubelle/Java -cp $ CHECKSERVER CheckServer localhost $ PORT

  • Fi

  • mc_saveoff()

  • si est en cours d'exécution; puis

  • écho "$ SERVICE est en cours d'exécution … suspendre enregistre "

  • mc_exec "Dites démarrage du serveur de sauvegarde. Serveur en lecture seule …"

  • mc_exec "sauver-off"

  • mc_exec "sauver tous"

  • synchroniser

  • sommeil dix

  • autre

  • écho "$ SERVICE ne courait pas. Ne pas suspendre sauve. "

  • Fi

  • mc_saveon()

  • si est en cours d'exécution; puis

  • écho "$ SERVICE est en cours d'exécution … réactiver les sauvegardes "

  • mc_exec "économiser sur"

  • mc_exec "Dites que la sauvegarde du serveur est terminée. Le serveur va en lecture-écriture …"

  • autre

  • écho "$ SERVICE ne courait pas. Ne pas reprendre les sauvegardes. "

  • Fi

  • mc_kill()

  • pid= $(chat $ MCPATH/java.pid)

  • écho "processus de terminaison avec pid $ pid"

  • tuer $ pid

  • pour (( je=0; je < dix; i ++ )); faire

  • est en cours d'exécution

  • mc_stop()

  • mc_stopmonitor()

  • si [[ -z $ CHECKSERVER ]; puis

  • /usr/poubelle/démon –prénom= minecraft_checkserver –Arrêtez

  • Fi

  • mc_backup() mkdir -p "$ SAUVEGARDE/$ BACKUPDIR"

  • rdiff-backup $ MCPATH "$ SAUVEGARDE/$ BACKUPDIR"

  • écho "Sauvegarde terminée"

  • mc_thinoutbackup()

  • si (($(rendez-vous amoureux +%H) == 0)) && (($(rendez-vous amoureux +%M) < 15)); puis

  • archivé= $(rendez-vous amoureux –rendez-vous amoureux="il y a 7 jours")

  • écho "Les sauvegardes de fluidification créées $ archivé en dehors"

  • archivedateunix= $(rendez-vous amoureux –rendez-vous amoureux="$ archivé" +%s)

  • archivesourcedir=$ SAUVEGARDE/$(rendez-vous amoureux –rendez-vous amoureux="$ archivé" +%b_%Y)

  • archivesource=$ archivesourcedir/rdiff-backup-data/incréments. $(rendez-vous amoureux –rendez-vous amoureux="$ archivé" +%Y-%m-%dT%H):0*.dir

  • archivesource= $(écho $ archivesource)

  • test archivé=$ BACKUPARCHIVEPATH/$(rendez-vous amoureux –rendez-vous amoureux="$ archivé" +%b_%Y)

  • si [[[[ ! -F $ archivesource ]]; puis

  • écho "Il n'y a rien a faire"

  • autre

  • tempdir= $(mktemp -ré)

  • si [[[[ ! $ tempdir = ~ ^/tmp ]]; puis

  • écho "tmp dir invalide $ tempdir"

  • autre

  • rdiff-backup $ archivesource $ tempdir

  • rdiff-backup –heure actuelle $ archivedateunix $ tempdir $ archivéest

  • rm -R "$ tempdir"

  • rdiff-backup –remove-old-than 7D –Obliger $ archivesourcedir

  • écho "terminé"

  • Fi

  • Fi

  • Fi

  • mc_exec()

  • si est en cours d'exécution; puis

  • écran -p 0 -S $(chat $ MCPATH/Nom de l'écran) -X des trucs "$ @$ (printf \ r)"

  • autre

  • écho "$ SERVICE ne courait pas. Ne pas exécuter de commande. "

  • Fi

  • mc_dumpcrashlogs()

  • si est en cours d'exécution; puis

  • cp $ MCPATH/rapports d'accident/ * $ CRASHLOG_DB_PATH

  • mv $ MCPATH/rapports d'accident/ * $ MCPATH/crash-reports.archive/

  • Fi

  • # Start-Stop here

  • Cas "1 $" dans

  • début)

  • si mc_start

  • puis

  • mc_startmonitor

  • Fi

  • ;;

  • Arrêtez)

  • mc_stopmonitor

  • mc_stop

  • ;;

  • redémarrer)

  • mc_stop

  • mc_start

  • ;;

  • sauvegarde)

  • mc_saveoff

  • mc_backup

  • mc_saveon

  • mc_thinoutbackup

  • ;;

  • exec)

  • décalage

  • mc_exec "$ @"

  • ;;

  • dumpcrashlogs)

  • mc_dumpcrashlogs

  • ;;

  • statut)

  • si est en cours d'exécution

  • puis

  • écho "$ SERVICE est en cours d'exécution."

  • autre

  • écho "$ SERVICE ne fonctionne pas."

  • Fi

  • ;;

  • *)

  • écho "Usage: $ (readlink -f $ 0) start "

  • sortie 1

  • ;;

  • esac

  • sortie 0

  • Commentaires

    Laisser un commentaire

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