From 23e3fbcd0533fc67af7846f82feda8b6dad96c80 Mon Sep 17 00:00:00 2001 From: Dan Berglund Date: Fri, 20 Sep 2013 18:33:56 -0700 Subject: [PATCH] check for release or snapshot and get latest appropriate version --- init/msm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/init/msm b/init/msm index c5354f4..c5c1195 100755 --- a/init/msm +++ b/init/msm @@ -1073,14 +1073,15 @@ jargroup_getlatest() { wget_opts="" fi - # If target contains the word 'minecraft' check JSON version file for correct filename + # If target contains the word 'release' or 'snapshot' check JSON version file for correct filename + # Look for Latest tag to find the latest snapshot and release. Not sure what happens in the JSON after a snapshot is released though... local target="$(as_user "$SETTINGS_USERNAME" "cat $SETTINGS_JAR_STORAGE_PATH/$1/$SETTINGS_JARGROUP_TARGET")" - if [[ "$target" == "minecraft" ]]; then + if [[ "$target" == "release" ]] || [[ "$target" == "snapshot" ]]; then printf "Checking minecraft version JSON... " local versions_url="http://s3.amazonaws.com/Minecraft.Download/versions/versions.json" local versions_file="/tmp/minecraft_versions.json" as_user "$SETTINGS_USERNAME" "wget --quiet $wget_opts --no-check-certificate -O '$versions_file' '$versions_url'" - local latest_version=$(as_user "$SETTINGS_USERNAME" "cat '$versions_file' | egrep '^[[:space:]]*\"release\"' | cut -d':' -f2 | egrep -o '[[:digit:].]*'") + local latest_version=$(as_user "$SETTINGS_USERNAME" "sed -n '/"latest"/,/}/p' $versions_file | grep $target | egrep -o '([0-9]+\.?)+|([0-9]+[a-zA-Z])+'") if [[ -n "$latest_version" ]]; then local jar_url="https://s3.amazonaws.com/Minecraft.Download/versions/$latest_version/minecraft_server.$latest_version.jar"