From ee3e97134691c7dbba5252a6be03bb91d4c6fafe Mon Sep 17 00:00:00 2001 From: thomas Date: Wed, 24 May 2023 14:48:29 +0200 Subject: [PATCH] update-script en unit-file toegevoegd --- minecraft.service | 12 ++++++++++++ update-minecraft.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 minecraft.service create mode 100755 update-minecraft.sh diff --git a/minecraft.service b/minecraft.service new file mode 100644 index 0000000..d203d95 --- /dev/null +++ b/minecraft.service @@ -0,0 +1,12 @@ +[Unit] +Description=start and stop the minecraft-server + +[Service] +WorkingDirectory=/srv/minecraft +User=minecraft +Group=minecraft +Type=forking +ExecStart=/usr/bin/screen -dmS MinecraftServer /usr/bin/java -Xms1536M -Xmx1536M -jar server.jar --nogui + +[Install] +WantedBy=multi-user.target diff --git a/update-minecraft.sh b/update-minecraft.sh new file mode 100755 index 0000000..188e6d2 --- /dev/null +++ b/update-minecraft.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +function logdate { printf '[%(%d/%m/%Y %H:%M:%S)T] '; } + +# Stop de minecraft server +systemctl stop minecraft + +# download de nieuwste server +MANIFEST=`curl -s https://launchermeta.mojang.com/mc/game/version_manifest.json` +LATEST=`echo $MANIFEST|jq .latest.release` +echo Latest release: $LATEST +LOGFILE=`echo /var/log/minecraft-update/$LATEST.log|sed 's/\"//g'` +if [[ -f $LOGFILE ]]; then + echo Minecraft is up-to-date: $LATEST|sed 's/\"//g' + logdate >> $LOGFILE + echo Minecraft is up-to-date: $LATEST|sed 's/\"//g' >> $LOGFILE + exit +fi +logdate >> $LOGFILE +echo Latest release: $LATEST >> $LOGFILE +LATESTJSON=`echo $MANIFEST|jq ".versions[]|select(.id==$LATEST)"` +JSONURL=`echo $LATESTJSON|jq .url| sed 's/\"//g'` +SERVERURL=`curl -s $JSONURL|jq .downloads.server.url|sed 's/\"//g'` +echo Download: $SERVERURL +logdate >> $LOGFILE +echo Download: $SERVERURL >> $LOGFILE +wget $SERVERURL -O /srv/minecraft/server.jar -nv --progress=bar:force:noscroll --append-output=$LOGFILE +chown minecraft /srv/minecraft/server.jar + +# Start de minecraft server +systemctl start minecraft +systemctl status minecraft >> $LOGFILE + +echo Finished Minecraft Server update to version $LATEST|sed 's/\"//g' +logdate >> $LOGFILE +echo Finished Minecraft Server update to version $LATEST|sed 's/\"//g' >> $LOGFILE +