Skip to content

Instantly share code, notes, and snippets.

@LukeHuckman
Last active June 23, 2021 21:30
Show Gist options
  • Save LukeHuckman/9e536813faeeda817817e8e489888255 to your computer and use it in GitHub Desktop.
Save LukeHuckman/9e536813faeeda817817e8e489888255 to your computer and use it in GitHub Desktop.
Minecraft server update script for Paper using API v2
#!/bin/bash
serverpath="" #Server directory goes here
#Create update directory if it doesn't exist
if [ ! -d "$serverpath/update" ]; then
mkdir $serverpath/update
fi
#Check for server updates
cd $serverpath/update
version="" #Minecraft version goes here (e.g. "1.16.5")
URL="https://papermc.io/api/v2/projects/paper/versions/$version"
latestbuild=$(curl $URL | awk -F ',' '{print $NF}' | sed 's/]}//')
remoteversion="paper-$version-$latestbuild.jar"
if ! [[ $remoteversion == $(cat currentversion.txt) ]] ; then
echo "Downloading update..."
curl $URL/builds/$latestbuild/downloads/$remoteversion --remote-name
echo $remoteversion > currentversion.txt
mv *.jar ../paper.jar
echo "New server jar installed."
else
echo "Server is up-to-date."
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment