haccfiles/hosts/hainich/services/minecraft.nix

48 lines
1.9 KiB
Nix

{pkgs, lib, config, ...}:
let
sources = import ../../../nix/sources.nix;
in
{
nixpkgs.config.allowUnfree = true;
networking.firewall.allowedTCPPorts = [ 25565 ];
services.minecraft-server = {
enable = true;
package = (pkgs.minecraft-server.overrideAttrs (old: rec {
version = "${sources.papermc.rev}-${sources.papermc.version}";
name = "papermc-${version}";
src = sources.papermc.outPath;
}));
declarative = true;
eula = 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";
};
};
}