server-config/minecraft/update.sh

25 lines
1.0 KiB
Bash
Raw Normal View History

2023-01-02 13:43:55 +05:30
#!/usr/bin/env bash
set -euo pipefail
2023-02-03 20:42:51 +05:30
MINECRAFT_VERSION="1.19.3"
2023-01-02 13:43:55 +05:30
function update_paper() {
local CURRENT_VERSION LATEST_VERSION
CURRENT_VERSION="$(cat .paper-version)"
2023-02-03 20:42:51 +05:30
LATEST_VERSION="$(curl -s "https://papermc.io/api/v2/projects/paper/versions/${MINECRAFT_VERSION}" -H 'accept: application/json' | jq .builds[-1])"
2023-01-02 13:43:55 +05:30
echo "Currently running version is ${CURRENT_VERSION}"
2023-02-03 20:42:51 +05:30
echo "Latest version is ${MINECRAFT_VERSION}-${LATEST_VERSION}"
[ -f "paper-${MINECRAFT_VERSION}-${LATEST_VERSION}.jar" ] && return
echo "Updating to ${MINECRAFT_VERSION}-${LATEST_VERSION}"
curl --progress-bar -L "https://papermc.io/api/v2/projects/paper/versions/${MINECRAFT_VERSION}/builds/${LATEST_VERSION}/downloads/paper-${MINECRAFT_VERSION}-${LATEST_VERSION}.jar" -o "paper-${MINECRAFT_VERSION}-${LATEST_VERSION}.jar"
echo "${MINECRAFT_VERSION}-${LATEST_VERSION}" >.paper-version
2023-01-02 13:43:55 +05:30
}
function cleanup_previous_jars() {
find . -maxdepth 1 -type f -name 'paper-*.jar' | sort -r | tail -n +3 | xargs rm -vf
2023-01-02 13:43:55 +05:30
}
update_paper
cleanup_previous_jars