diff --git a/papermc.sh b/papermc.sh index 10bcc57f758f2ecc299aa6bdc23aadf37ab57d33..f17b48b7d083ec85dbc100d41e29f48c93b0303d 100644 --- a/papermc.sh +++ b/papermc.sh @@ -46,14 +46,14 @@ exec_stop () { while true do - screen -S mc -X select . ; SCRUN=$? + screen -S mc -X select . ; SCRUN=$? #Queryabfrage um rauszufindne ob screensession noch aktiv ist. Return: bool if [ ${SCRUN} = 0 ] - then + then # Server läuft, zeige letzte zeilen vom log an... tail /papermc/logs/latest.log - trap exec_stop TERM INT - sleep 10 - else - screen -dmS mc java -server -Xms${MC_RAM} -Xmx${MC_RAM} ${JAVA_OPTS} -jar ${JAR_NAME} nogui - screen -wipe + trap exec_stop TERM INT # SIGTERM ^C etc abfangen und funktion für gracefull shutdown aufrufen + sleep 10 # CPU Zeit sparen da eine downtime von max 10s + Startzeit des javapplets vertretbar ist kann bei bedarf beliebig erhöht werden. + else # Server läuft nicht, abgestürzt, gestoppt über minecraft /stop + screen -dmS mc java -server -Xms${MC_RAM} -Xmx${MC_RAM} ${JAVA_OPTS} -jar ${JAR_NAME} nogui #Startupbefehl inkl. ENVs vom Dockerfile + screen -wipe #sollte der server mal abstürzen oder sont irgednwie ein fehler auftreten wird damit zombiesessions entfernt. fi done