+6
-5
flake.lock
+6
-5
flake.lock
···
141
141
]
142
142
},
143
143
"locked": {
144
-
"lastModified": 1757296734,
145
-
"narHash": "sha256-NRkbte52DMPcDbWEM823CJSApImXLIzRmWCKMMhYVbA=",
146
-
"owner": "Infinidoge",
144
+
"lastModified": 1759601165,
145
+
"narHash": "sha256-i+JlJdeuHgYfqhvnhFogds65cC7MTYmkr+VhlEYtv1A=",
146
+
"owner": "pistachiocake",
147
147
"repo": "nix-minecraft",
148
-
"rev": "e2915ee5edd4da1fa076ba155f1d539be78340fb",
148
+
"rev": "5c04be1241c7e3bf83eed80225d7607d9e7e9115",
149
149
"type": "github"
150
150
},
151
151
"original": {
152
-
"owner": "Infinidoge",
152
+
"owner": "pistachiocake",
153
+
"ref": "push-nospvklzxuln",
153
154
"repo": "nix-minecraft",
154
155
"type": "github"
155
156
}
+1
-1
flake.nix
+1
-1
flake.nix
···
24
24
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
25
25
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
26
26
nix-minecraft = {
27
-
url = "github:Infinidoge/nix-minecraft";
27
+
url = "github:pistachiocake/nix-minecraft/push-nospvklzxuln";
28
28
inputs.nixpkgs.follows = "nixpkgs";
29
29
};
30
30
disko = {
+70
-38
modules/nixos/minecraft-server.nix
+70
-38
modules/nixos/minecraft-server.nix
···
7
7
...
8
8
}:
9
9
let
10
-
inherit (lib) mkIf mkMerge;
10
+
inherit (lib)
11
+
mkIf
12
+
mkEnableOption
13
+
mkMerge
14
+
concatLists
15
+
;
11
16
inherit (lib.lists) optional;
12
17
inherit (self.lib) mkServiceOption;
13
18
cfg = config.pica.services.minecraft-server;
···
25
30
port = 9100;
26
31
domain = null;
27
32
};
33
+
terra.enable = mkEnableOption "Terra";
28
34
};
29
35
};
30
36
};
···
46
52
enable = true;
47
53
# TODO: consider further changing jvmOpts
48
54
jvmOpts = "-Xmx16384M -Xms8192M";
49
-
package = mcpkgs.paperServers.paper-1_21_8;
55
+
package = mcpkgs.paperServers.paper-1_21_9;
50
56
# TODO: make serverProperties declarative by uncommenting the below values
51
57
# serverProperties = {
52
58
# server-port = cfg.port;
···
54
60
# white-list = true;
55
61
# max-players = 20;
56
62
# };
57
-
files = {
58
-
plugins = pkgs.linkFarmFromDrvs "plugins" (
59
-
optional cfg.unifiedmetrics.enable (
60
-
pkgs.fetchurl {
61
-
url = "https://github.com/Cubxity/UnifiedMetrics/releases/download/v0.3.x-SNAPSHOT/unifiedmetrics-platform-bukkit-0.3.10-SNAPSHOT.jar";
62
-
sha256 = "0i529wsjgciwg8dxvmvrz51z6s0nzbqaxhmq9xqgriffnmxrl11b";
63
-
}
64
-
)
65
-
);
66
-
"plugins/unifiedmetrics/config.yml" = {
67
-
value = {
68
-
server = {
69
-
name = "global";
70
-
};
71
-
metrics = {
72
-
enabled = true;
73
-
driver = "prometheus";
74
-
collectors = {
75
-
systemGc = true;
76
-
systemMemory = true;
77
-
systemProcess = true;
78
-
systemThread = true;
79
-
server = true;
80
-
world = true;
81
-
tick = true;
82
-
events = true;
63
+
files = mkMerge [
64
+
{
65
+
plugins = pkgs.linkFarmFromDrvs "plugins" (concatLists [
66
+
(optional cfg.unifiedmetrics.enable (
67
+
pkgs.fetchurl {
68
+
url = "https://github.com/Cubxity/UnifiedMetrics/releases/download/v0.3.x-SNAPSHOT/unifiedmetrics-platform-bukkit-0.3.10-SNAPSHOT.jar";
69
+
sha256 = "0i529wsjgciwg8dxvmvrz51z6s0nzbqaxhmq9xqgriffnmxrl11b";
70
+
}
71
+
))
72
+
(optional cfg.terra.enable (
73
+
pkgs.fetchurl {
74
+
url = "https://cdn.modrinth.com/data/FIlZB9L0/versions/Ufl71nST/Terra-bukkit-6.6.6-BETA+451683aff-shaded.jar";
75
+
sha256 = "05gi1bgmq5plqx141sagbfrx6jqmjlc9l6b3y6hx6csl4xm5v693";
76
+
}
77
+
))
78
+
]);
79
+
}
80
+
{
81
+
"world/datapacks" = pkgs.linkFarmFromDrvs "datapacks" [
82
+
(pkgs.fetchurl {
83
+
url = "https://cdn.modrinth.com/data/gWO6Zqey/versions/hf7LJyzD/vanilla-refresh-1.4.28.zip";
84
+
sha256 = "0pa9ir07yb9mmxs9m1n4n9gmca31man96pm4qfrl4a3bb4jsg96m";
85
+
})
86
+
];
87
+
}
88
+
(mkIf cfg.terra.enable {
89
+
"plugins/Terra/packs" = pkgs.linkFarmFromDrvs "packs" [
90
+
(pkgs.fetchurl {
91
+
url = "https://github.com/Rearth/Origen/releases/download/v2.2.0/origen-v2.2.0.zip";
92
+
sha256 = "0rabvls5sv7jh3sr59wbdnjnxkz7hqv05m08gl0v1r2z32gprhhy";
93
+
})
94
+
];
95
+
})
96
+
(mkIf cfg.unifiedmetrics.enable {
97
+
"plugins/unifiedmetrics/config.yml" = {
98
+
value = {
99
+
server = {
100
+
name = "global";
101
+
};
102
+
metrics = {
103
+
enabled = true;
104
+
driver = "prometheus";
105
+
collectors = {
106
+
systemGc = true;
107
+
systemMemory = true;
108
+
systemProcess = true;
109
+
systemThread = true;
110
+
server = true;
111
+
world = true;
112
+
tick = true;
113
+
events = true;
114
+
};
83
115
};
84
116
};
85
117
};
86
-
};
87
-
"plugins/unifiedmetrics/driver/prometheus.yml" = {
88
-
value = {
89
-
mode = "HTTP";
90
-
http = {
91
-
inherit (cfg.unifiedmetrics) host port;
92
-
authentication = {
93
-
scheme = "NONE";
118
+
"plugins/unifiedmetrics/driver/prometheus.yml" = {
119
+
value = {
120
+
mode = "HTTP";
121
+
http = {
122
+
inherit (cfg.unifiedmetrics) host port;
123
+
authentication = {
124
+
scheme = "NONE";
125
+
};
94
126
};
95
127
};
96
128
};
97
-
};
98
-
};
129
+
})
130
+
];
99
131
};
100
132
};
101
133
};