From 7c3c830d6e6eb414cbd6e5851b8ca56bfbb1fa6c Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sat, 25 Feb 2023 21:15:35 +0100 Subject: [PATCH] tsuki: add recommended minecraft jvm flags --- hosts/tsuki/services/minecraft/default.nix | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/hosts/tsuki/services/minecraft/default.nix b/hosts/tsuki/services/minecraft/default.nix index d8a1593..008e8fa 100644 --- a/hosts/tsuki/services/minecraft/default.nix +++ b/hosts/tsuki/services/minecraft/default.nix @@ -69,7 +69,31 @@ package = inputs.minecraft.packages.x86_64-linux.paper-server; - jvmOpts = "-Xmx5G -Xms5G -XX:+UseG1GC"; + # See https://docs.papermc.io/paper/aikars-flags + jvmOpts = lib.concatStringsSep " " [ + "-Xms5G" + "-Xmx15G" + "-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" + ]; symlinks = let rawFile = file: pkgs.runCommandLocal (builtins.baseNameOf file) {} ''