about summary refs log tree commit diff
path: root/pkgs/games/minecraft-server/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/minecraft-server/update.sh')
-rwxr-xr-xpkgs/games/minecraft-server/update.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/games/minecraft-server/update.sh b/pkgs/games/minecraft-server/update.sh
new file mode 100755
index 000000000000..433a12a9caf6
--- /dev/null
+++ b/pkgs/games/minecraft-server/update.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+BASEDIR="$(dirname "$0")"
+
+# get current release version
+versions=$(curl -s 'https://launchermeta.mojang.com/mc/game/version_manifest.json')
+version=$(echo $versions | jq .latest.release)
+url=$(echo $versions | jq -r ".versions[] | select(.id == $version) | .url")
+
+# get current server.jar
+versions=$(curl -s $url | jq .downloads.server)
+sha1=$(echo $versions | jq .sha1)
+url=$(echo $versions | jq .url)
+
+echo $version: $url:$sha1
+
+# change default.nix
+sed -i "s/version = \"[0-9.]*\";/version = ${version};/g" "$BASEDIR/default.nix"
+sed -i "s+url = \"[a-zA-Z0-9/:.]*/server.jar\";+url = $url;+g" "$BASEDIR/default.nix"
+sed -i "s/sha1 = \"[a-zA-Z0-9]*\";/sha1 = ${sha1};/g" "$BASEDIR/default.nix"