minecraft-server: add update script (#88514)
This commit is contained in:
parent
b846306950
commit
472283589c
|
@ -4,9 +4,9 @@ stdenv.mkDerivation {
|
||||||
version = "1.15.2";
|
version = "1.15.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url = "https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar";
|
||||||
"https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar";
|
# sha1 because that comes from mojang via api
|
||||||
sha256 = "12kynrpxgcdg8x12wcvwkxka0fxgm5siqg8qq0nnmv0443f8dkw0";
|
sha1 = "bb2b6b1aefcd70dfd1892149ac3a215f6c636b07";
|
||||||
};
|
};
|
||||||
|
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
@ -25,6 +25,8 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
phases = "installPhase";
|
phases = "installPhase";
|
||||||
|
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Minecraft Server";
|
description = "Minecraft Server";
|
||||||
homepage = "https://minecraft.net";
|
homepage = "https://minecraft.net";
|
||||||
|
|
|
@ -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"
|
Loading…
Reference in New Issue