diff options
Diffstat (limited to 'pkgs/games/papermc/default.nix')
-rw-r--r-- | pkgs/games/papermc/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix new file mode 100644 index 00000000000..9695a350058 --- /dev/null +++ b/pkgs/games/papermc/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, jre }: +let + mcVersion = "1.15.2"; + buildNum = "161"; + jar = fetchurl { + url = "https://papermc.io/api/v1/paper/${mcVersion}/${buildNum}/download"; + sha256 = "1jngj5djs1fjdj25wg9iszw0dsp56f386j8ydms7x4ky8s8kxyms"; + }; +in stdenv.mkDerivation { + pname = "papermc"; + version = "${mcVersion}r${buildNum}"; + + preferLocalBuild = true; + + dontUnpack = true; + installPhase = '' + mkdir -p $out/bin + cp ${jar} $out/papermc.jar + cat > $out/bin/minecraft-server << EOF + #!/bin/sh + exec ${jre}/bin/java \$@ -jar $out/papermc.jar nogui + EOF + chmod +x $out/bin/minecraft-server + ''; + + phases = "installPhase"; + + meta = { + description = "High-performance Minecraft Server"; + homepage = "https://papermc.io/"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ aaronjanse ]; + }; +} |