feat: Added minecraft servers

This commit is contained in:
uttarayan21
2025-07-26 20:51:50 +05:30
parent f89580fde7
commit 827ba18f6f
2 changed files with 41 additions and 3 deletions

View File

@@ -1,8 +1,17 @@
{
pkgs,
inputs,
config,
...
}: {
sops = {
secrets."minecraft/craftmine".owner = "minecraft";
templates = {
"craftmine.env".content = ''
CRAFTMINE_RCON_PASSWORD=${config.sops.placeholder."minecraft/craftmine"}
'';
};
};
services = let
whitelist = {
"AbhinavSE" = "8b6c052e-69b3-4bee-b9dc-12eb94653c9e";
@@ -12,12 +21,14 @@
};
in {
minecraft-servers = {
enable = false;
enable = true;
eula = true;
openFirewall = true;
environmentFile = config.sops.templates."craftmine.env".path;
servers.fabric = {
inherit whitelist;
enable = true;
enableRcon = true;
jvmOpts = "-Xmx4G -Xms4G";
package = pkgs.fabricServers.fabric-1_21_1;
serverProperties = {
@@ -28,6 +39,29 @@
white-list = true;
};
};
servers.craftmine = {
inherit whitelist;
enable = true;
jvmOpts = "-Xmx4G -Xms4G";
package = let
getJavaVersion = v: (builtins.getAttr "openjdk${toString v}" pkgs.javaPackages.compiler).headless;
in
pkgs.minecraft-server.override {
url = "https://piston-data.mojang.com/v1/objects/4527a9019e37e001770787e4523b505f79cac4c5/server.jar";
sha1 = "sha1-RSepAZ434AF3B4fkUjtQX3nKxMU=";
version = "25w14craftmine";
jre_headless = getJavaVersion 21;
};
serverProperties = {
enable-rcon = true;
"rcon.password" = "@CRAFTMINE_RCON_PASSWORD@";
motd = "Servius's Craftmine Server";
server-port = 25569;
white-list = true;
view-distance = 32;
};
};
};
};
}