From f54b9e91d98cb159e3ef1f7d6274296dc6780aa3 Mon Sep 17 00:00:00 2001 From: sils Date: Sun, 15 Jan 2023 20:15:47 +0100 Subject: Service: Run a basic Minecraft Server --- services/minecraft.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 services/minecraft.nix (limited to 'services/minecraft.nix') diff --git a/services/minecraft.nix b/services/minecraft.nix new file mode 100644 index 0000000..aec2f62 --- /dev/null +++ b/services/minecraft.nix @@ -0,0 +1,18 @@ +{config, ...}: { + users.users.minecraft = { + isSystemUser = true; + }; + systemd.services.minecraft = { + wantedBy = "multi-user.target"; + after = "network.target"; + description = "Minecraft Server"; + serviceConfig = { + WorkingDirectory = "/srv/minecraft"; + User = "minecraft"; + Group = "nogroup"; + Restart = "always"; + ExecStart = "${pkgs.openjdk}/bin/java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui"; + SyslogIdentifier = "minecraft-server"; + }; + }; +} -- cgit 1.4.1