diff --git a/lib/constants.nix b/lib/constants.nix index c9920cc..93b0f59 100644 --- a/lib/constants.nix +++ b/lib/constants.nix @@ -200,12 +200,17 @@ rec { port = 25566; dst = aa.simpcraft-staging-oci.internal.ipv4.address; } - { - port = 25575; - dst = aa.simpcraft-oci.internal.ipv4.address; + port = 25567; + dst = aa.kevcraft-oci.internal.ipv4.address; } + # RCON... unsafe? + # { + # port = 25575; + # dst = aa.simpcraft-oci.internal.ipv4.address; + # } + { port = 2456; dst = aa.valheim-oci.internal.ipv4.address; @@ -228,6 +233,10 @@ rec { dst = aa.simpcraft-oci.internal.ipv4.address; proto = "udp"; } + { + port = 25567; + dst = aa.kevcraft-oci.internal.ipv4.address; + } { port = 15636; diff --git a/nixos/boxes/colony/vms/estuary/default.nix b/nixos/boxes/colony/vms/estuary/default.nix index 76946d2..9715b1f 100644 --- a/nixos/boxes/colony/vms/estuary/default.nix +++ b/nixos/boxes/colony/vms/estuary/default.nix @@ -399,8 +399,9 @@ in ip6 daddr ${aa.middleman.internal.ipv6.address} tcp dport { http, https, 8448 } accept ${matchInet "tcp dport { http, https } accept" "git"} - ip6 daddr ${aa.simpcraft-oci.internal.ipv6.address} tcp dport { 25565, 25575 } accept + ip6 daddr ${aa.simpcraft-oci.internal.ipv6.address} tcp dport 25565 accept ip6 daddr ${aa.simpcraft-staging-oci.internal.ipv6.address} tcp dport 25565 accept + ip6 daddr ${aa.kevcraft-oci.internal.ipv6.address} tcp dport 25567 accept return } chain routing-udp { @@ -408,6 +409,7 @@ in ip6 daddr ${aa.waffletail.internal.ipv6.address} udp dport 41641 accept ip6 daddr ${aa.simpcraft-oci.internal.ipv6.address} udp dport 25565 accept ip6 daddr ${aa.enshrouded-oci.internal.ipv6.address} udp dport { 15636-15637 } accept + ip6 daddr ${aa.kevcraft-oci.internal.ipv6.address} udp dport 25567 accept return } chain filter-routing { diff --git a/nixos/boxes/colony/vms/estuary/dns.nix b/nixos/boxes/colony/vms/estuary/dns.nix index b1363f9..ab1e5ad 100644 --- a/nixos/boxes/colony/vms/estuary/dns.nix +++ b/nixos/boxes/colony/vms/estuary/dns.nix @@ -154,6 +154,8 @@ in simpcraft-staging IN A ${assignments.internal.ipv4.address} simpcraft-staging IN AAAA ${allAssignments.simpcraft-staging-oci.internal.ipv6.address} enshrouded IN A ${assignments.internal.ipv4.address} + kevcraft IN A ${assignments.internal.ipv4.address} + kevcraft IN AAAA ${allAssignments.kevcraft-oci.internal.ipv6.address} mail-vm IN A ${net.cidr.host 0 prefixes.mail.v4} mail-vm IN AAAA ${net.cidr.host 1 prefixes.mail.v6} diff --git a/nixos/boxes/colony/vms/whale2/default.nix b/nixos/boxes/colony/vms/whale2/default.nix index c154e1f..8c38791 100644 --- a/nixos/boxes/colony/vms/whale2/default.nix +++ b/nixos/boxes/colony/vms/whale2/default.nix @@ -53,6 +53,7 @@ in simpcraft-oci = 3; simpcraft-staging-oci = 4; enshrouded-oci = 5; + kevcraft-oci = 6; }; configuration = { lib, pkgs, modulesPath, config, assignments, allAssignments, ... }: diff --git a/nixos/boxes/colony/vms/whale2/minecraft/default.nix b/nixos/boxes/colony/vms/whale2/minecraft/default.nix index 9eb5560..8dc0d78 100644 --- a/nixos/boxes/colony/vms/whale2/minecraft/default.nix +++ b/nixos/boxes/colony/vms/whale2/minecraft/default.nix @@ -104,6 +104,46 @@ in # ''--network=colony:${dockerNetAssignment allAssignments "simpcraft-staging-oci"}'' # ]; # }; + + kevcraft = { + # 2025.2.1-java21-alpine + image = "itzg/minecraft-server@sha256:57e319c15e9fee63f61029a65a33acc3de85118b21a2b4bb29f351cf4a915027"; + + environment = { + TYPE = "VANILLA"; + VERSION = "1.20.1"; + SERVER_PORT = "25567"; + QUERY_PORT = "25567"; + + EULA = "true"; + ENABLE_QUERY = "true"; + ENABLE_RCON = "true"; + MOTD = "§4§k----- §9K§ae§bv§cc§dr§ea§ff§6t §4§k-----"; + ICON = "/ext/icon.png"; + + EXISTING_WHITELIST_FILE = "SYNCHRONIZE"; + WHITELIST = whitelist; + EXISTING_OPS_FILE = "SYNCHRONIZE"; + OPS = op; + DIFFICULTY = "normal"; + SPAWN_PROTECTION = "0"; + # VIEW_DISTANCE = "20"; + + MAX_MEMORY = "4G"; + + TZ = "Europe/Dublin"; + }; + environmentFiles = [ config.age.secrets."whale2/simpcraft.env".path ]; + + volumes = [ + "kevcraft_data:/data" + "${./kev.png}:/ext/icon.png:ro" + ]; + + extraOptions = [ + ''--network=colony:${dockerNetAssignment allAssignments "kevcraft-oci"}'' + ]; + }; }; services = { diff --git a/nixos/boxes/colony/vms/whale2/minecraft/kev.png b/nixos/boxes/colony/vms/whale2/minecraft/kev.png new file mode 100644 index 0000000..63d28e1 Binary files /dev/null and b/nixos/boxes/colony/vms/whale2/minecraft/kev.png differ