blob: bd4d081e395f681d45c201d9e62e06d6ae2a9d43 (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# This module configures a Minecraft server.
#
# Most of the heavy lifting is done in the reusable module `modules/nixos/on-demand-minecraft/`.
{pkgs, ...}: {
# Set up Minecraft server.
services.on-demand-minecraft = {
enable = true;
eula = true;
package = pkgs.unstable.papermc;
openFirewall = true;
# Try shutting down every 10 minutes.
frequency-check-players = "*-*-* *:00/10:00";
# I changed the default location after creating the world.
data-dir = "/srv/minecrafter/papermc-1.21.4-15";
# Gameplay settings.
server-properties.level-seed = "1727502807"; # Seed requested by Tobias.
server-properties.difficulty = "hard"; # Required for some game mechanic.
server-properties.allow-cheats = true;
# Whitelist generated with this command:
# ```sh
# journalctl --grep='UUID of' --unit=minecraft-server.service \
# | sed -E 's/.*UUID of player (.*) is (.*).*/"\1" = "\2";/p' -n \
# | sort -u
# ```
server-properties."white-list" = true;
whitelist = {
"BANANABARBARA" = "b3fa0532-e49c-4783-8ba4-e20082983d30";
"em_T" = "c52db3ea-9f8a-4e0f-af11-7ca56099dfb1";
"_SneakyPanda_" = "6f88ea4f-2f87-47c9-99dd-be16e68c9913";
"TobiKanob1" = "07931771-f2eb-4894-ac84-d3a121086d9f";
"Alfholm" = "6a0a1d3b-ad0f-4a73-8e0c-97782a380ff4";
};
ops = [
{
username = "BANANABARBARA";
uuid = "b3fa0532-e49c-4783-8ba4-e20082983d30";
level = 4;
# I always need to get on in case something is going wrong.
bypasses-player-limit = true;
}
{
username = "Alfholm";
uuid = "6a0a1d3b-ad0f-4a73-8e0c-97782a380ff4";
level = 2;
}
];
};
# Update the DDNS.
# This would be the "IP" we give to folks.
services.cloudflare-dyndns.domains = ["minecraft.linus.onl"];
}
|