summaryrefslogtreecommitdiff
path: root/minecraft.nix
blob: 97ebf1dce17eaa2afb4599e18f6d904efbbd6daa (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
{lib, ...}:{
  nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
    "minecraft-server"
  ];

  services.minecraft-server = {
    enable = true;
    eula = true;
    openFirewall = true; 
    declarative = true;
    whitelist = {
      mr_5aturn = "2b811fad-e419-401e-9185-70ab279219b5";
    };
    serverProperties = {
      server-port = 25565;
      difficulty = "normal";
      gamemode = "survival";
      max-players = 5;
      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";
    };
  };
}