haccfiles/hosts/hainich/services/minecraft.nix

50 lines
2 KiB
Nix

{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";
};
};
}