diff --git a/lib/fudo/minecraft-server.nix b/lib/fudo/minecraft-server.nix index f8e03c1..9277342 100644 --- a/lib/fudo/minecraft-server.nix +++ b/lib/fudo/minecraft-server.nix @@ -69,34 +69,36 @@ in { gamemode = cfg.game-mode; allow-cheats = true; }; - jvmOpts = [ - "-Xms${toString cfg.allocated-memory}G" - "-Xmx${toString cfg.allocated-memory}G" - "-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" - ] ++ (optionals (cfg.allocated-memory >= 12) [ - "-XX:G1NewSizePercent=40" - "-XX:G1MaxNewSizePercent=50" - "-XX:G1HeapRegionSize=16M" - "-XX:G1ReservePercent=15" - "-XX:InitiatingHeapOccupancyPercent=20" - ]); + jvmOpts = let + opts = [ + "-Xms${toString cfg.allocated-memory}G" + "-Xmx${toString cfg.allocated-memory}G" + "-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" + ] ++ (optionals (cfg.allocated-memory >= 12) [ + "-XX:G1NewSizePercent=40" + "-XX:G1MaxNewSizePercent=50" + "-XX:G1HeapRegionSize=16M" + "-XX:G1ReservePercent=15" + "-XX:InitiatingHeapOccupancyPercent=20" + ]); + in concatStringsSep " " opts; }; }; }