diff options
| author | Mel <mel@rnrd.eu> | 2026-09-06 03:19:17 +0200 |
|---|---|---|
| committer | Mel <mel@rnrd.eu> | 2026-09-06 06:13:05 +0200 |
| commit | 5a0086d881492d8912d72649b2a22aba682cc492 (patch) | |
| tree | b6f2656b57e1420f60029f42c712aab1d5d633e4 /services/minecraft/vanilla.nix | |
| parent | d94adc8c0ecf2afdc3cef2b0d1ac933d62d7c0aa (diff) | |
| download | network-5a0086d881492d8912d72649b2a22aba682cc492.tar.zst network-5a0086d881492d8912d72649b2a22aba682cc492.zip | |
Add modded Minecraft server (Prominence II)
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'services/minecraft/vanilla.nix')
| -rw-r--r-- | services/minecraft/vanilla.nix | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/services/minecraft/vanilla.nix b/services/minecraft/vanilla.nix new file mode 100644 index 0000000..0690f40 --- /dev/null +++ b/services/minecraft/vanilla.nix @@ -0,0 +1,44 @@ +{ pkgs, auxiliaryPkgs, ... }: + +let + inherit (pkgs) dockerTools; + inherit (auxiliaryPkgs) common; + + minecraft = pkgs.minecraft-server.overrideAttrs { + version = "1.21.4"; + + src = pkgs.fetchurl { + url = "https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar"; + hash = "sha256-EGaXCwnpxnGERXIpHEqHHMGsK4WDi/cAT6DneOEPE1g="; + }; + }; + + minecraftPort = 25565; + minecraftDir = "/srv/mc"; + minecraftMemory = "8G"; + + minecraftImage = dockerTools.streamLayeredImage { + name = "minecraft"; + tag = minecraft.version; + fromImage = common.alpine.base; + contents = [ minecraft ]; + }; + +in +{ + networking.firewall.allowedTCPPorts = [ minecraftPort ]; + + foundation.services.minecraft = { + image = minecraftImage; + ports = [ (common.globalPort minecraftPort) ]; + + volumes = [ [ "${minecraftDir}" "/server" ] ]; + + workdir = "/server"; + entrypoint = "${minecraft}/bin/minecraft-server"; + cmd = [ + "-Xms${minecraftMemory}" + "-Xmx${minecraftMemory}" + ]; + }; +} |
