nixos-config/modules/system/services/server/minecraft/servers/uberbeta/default.nix
2025-07-12 02:56:43 -04:00

27 lines
1 KiB
Nix

{ config, lib, pkgs, nodes, ... }:
let
uberBukkit = pkgs.fetchurl {
url = "https://github.com/Moresteck/uberbukkit/releases/download/2.0.2-241217-1442-3a5552b/uberbukkit-2.0.2.jar";
sha256 = "ZttLDpBgeR2SM90kdegwqem1TalBVTndzsxziusCzlA=";
};
in {
services = {
minecraft-servers.servers.uberbeta = {
package = pkgs.vanillaServers.vanilla.overrideAttrs (oldAttrs: {
src = uberBukkit;
});
jvmOpts = "-Xmx512M";
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30005;
};
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.uberbeta.enable [ "beta.${config.vars.primeDomain}" ];
};
networking.firewall.extraInputRules = let
targetHosts = lib.attrValues (lib.mapAttrs (_: node: node.config.deployment.targetHost) nodes);
in lib.mkIf config.services.minecraft-servers.servers.uberbeta.enable ''
ip6 saddr { ${lib.concatStringsSep ", " targetHosts} } tcp dport 30005 accept
'';
}