Files
MinecraftServerScripts/update-minecraft.sh

38 lines
1.3 KiB
Bash
Executable File

#!/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