{pkgs, lib, config, ...}: { nixpkgs.config.allowUnfree = true; networking.firewall.allowedTCPPorts = [ 25565 ]; services.minecraft-server = { enable = true; package = let version = "1.16.5-592"; url = "https://papermc.io/api/v2/projects/paper/versions/1.16.5/builds/592/downloads/paper-1.16.5-592.jar"; sha256 = "039w44c7png9ppg8w2287mm0aavqdsvg9cdf50p2faa2bs586j9i"; in (pkgs.minecraft-server.overrideAttrs (old: rec { name = "minecraft-server-${version}"; inherit version; src = pkgs.fetchurl { inherit url sha256; }; })); eula = true; declarative = true; jvmOpts = "-Xmx1536M -Xms512M -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"; serverProperties = { server-port = "25565"; gamemode = "survival"; motd = "NixCraft4future"; max-players = "20"; whitelist = true; force-gamemode = true; difficulty = "easy"; allow-flight= false; pvp = false; enable-rcon = false; }; whitelist = { AaronPirt = "bbb8a319-a0fe-4b7a-bdcc-d7941a7fcfa8"; ACY2003 = "e6caedfb-95de-44b6-bea7-962e765f2b74"; Hexchen = "137ad280-856c-4f27-b258-b263d4e6863b"; laXDer = "98043845-8bac-4d38-a479-d116eea90356"; Naigh = "96dd9a77-2a65-415b-8d48-1f00e146dc42"; Schweby = "a5680c67-1a85-4a9b-81b6-a3a0b7b52467"; wolkenzebratopf = "34f47e5b-3f81-4639-ab6b-97be5e358054"; yan_min = "a2d1b6f2-1b58-4433-be67-f9872c4332f1"; Zauberberg = "4c59c4c3-f16b-4b7e-b707-9a176958e7cf"; }; }; }