blob: d40d80a16cb8f49ea343343a0e411505c1dc76f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{lib, ...}:{
# The Mojang server jar is unfreeRedistributable, so it has to be allowed by name.
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"minecraft-server"
];
services.minecraft-server = {
enable = true;
eula = true;
openFirewall = true; # Opens the port the server is running on (25565)
declarative = true;
whitelist = {
# This is a mapping of Minecraft usernames to to the players' UUIDs
mr_5aturn = "2b811fad-e419-401e-9185-70ab279219b5";
};
serverProperties = {
server-port = 25565;
difficulty = "normal";
gamemode = "survival";
max-players = 5;
motd = "NixOS Minecraft server!";
white-list = true;
};
jvmOpts = "-Xms4096M -Xmx4096M";
};
systemd.services.minecraft-server = {
startLimitBurst = 5;
startLimitIntervalSec = 300;
serviceConfig = {
NoNewPrivileges = true;
ProtectSystem = "full";
MemoryMax = "6G";
TasksMax = 512;
RestartSec = "10s";
};
};
}
|