diff --git a/flake.lock b/flake.lock index 68124d7..270968e 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", "owner": "edolstra", "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { @@ -75,24 +75,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -121,11 +103,11 @@ ] }, "locked": { - "lastModified": 1762964643, - "narHash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=", + "lastModified": 1769978395, + "narHash": "sha256-gj1yP3spUb1vGtaF5qPhshd2j0cg4xf51pklDsIm19Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "827f2a23373a774a8805f84ca5344654c31f354b", + "rev": "984708c34d3495a518e6ab6b8633469bbca2f77a", "type": "github" }, "original": { @@ -137,15 +119,15 @@ "nix-minecraft": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "systems": "systems_2" }, "locked": { - "lastModified": 1762912941, - "narHash": "sha256-5hTTfBy1W877TNybferzpEZAzdgihLPF+pi/LvqO+7A=", + "lastModified": 1770000653, + "narHash": "sha256-QO/twGynxjOSUDtxbqJLshc/Q5/wImLH5O6KV2p9eoE=", "owner": "Infinidoge", "repo": "nix-minecraft", - "rev": "1a1572c80ad3312c7421accb165e7081d2782231", + "rev": "6a2ddb643aaf7949caa6158e718c5efc3dda7dc1", "type": "github" }, "original": { @@ -160,11 +142,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1762908663, - "narHash": "sha256-HqdYfzBaidYX+EYAcXDFCggXJPZBv2fusMwhc7/4+cI=", + "lastModified": 1769217863, + "narHash": "sha256-RY9kJDXD6+2Td/59LkZ0PFSereCXHdBX9wIkbYjRKCY=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "debc562c48c445f9f08778ecb9fc6b35197623ad", + "rev": "38a5250e57f583662eac3b944830e4b9e169e965", "type": "github" }, "original": { @@ -191,11 +173,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "type": "github" }, "original": { @@ -207,11 +189,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1762596750, - "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "type": "github" }, "original": { @@ -223,11 +205,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1762844143, - "narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=", + "lastModified": 1770019141, + "narHash": "sha256-VKS4ZLNx4PNrABoB0L8KUpc1fE7CLpQXQs985tGfaCU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4", + "rev": "cb369ef2efd432b3cdf8622b0ffc0a97a02f3137", "type": "github" }, "original": { diff --git a/hosts/homelab/configuration.nix b/hosts/homelab/configuration.nix index b2cefdd..1b248cc 100644 --- a/hosts/homelab/configuration.nix +++ b/hosts/homelab/configuration.nix @@ -12,7 +12,7 @@ ../../modules/forgejo ../../modules/nginx ../../modules/grafana - # ../../modules/minecraft + ../../modules/minecraft ../../modules/fail2ban ]; @@ -30,5 +30,8 @@ 80 443 ]; + firewall.allowedUDPPorts = [ + 25565 + ]; }; } diff --git a/modules/minecraft/default.nix b/modules/minecraft/default.nix index 486aa8c..87c0d45 100644 --- a/modules/minecraft/default.nix +++ b/modules/minecraft/default.nix @@ -8,47 +8,111 @@ inputs.nix-minecraft.overlay ]; - services.nginx.virtualHosts."minecraft.katkak.dev" = { - forceSSL = true; - enableACME = true; - - locations."/vanilla" = - let - serverProperties = config.services.minecraft-servers.servers.vanilla-server.serverProperties; - in - { - proxyPass = "http://${toString serverProperties.server-ip}:${toString serverProperties.server-port}"; - - proxyWebsockets = true; - - extraConfig = '' - proxy_pass_header Authorization; - ''; - }; - }; - services.minecraft-servers = { enable = true; eula = true; + openFirewall = true; + servers = { vanilla-server = { - enable = true; + enable = false; - package = pkgs.vanillaServers.vanilla-1_21_10; + package = pkgs.vanillaServers.vanilla-1_21_11; serverProperties = { motd = "KatKak's Vanilla Server"; white-list = true; max-players = 5; enable-command-block = true; - - server-ip = "127.0.0.1"; - server-port = 43000; + }; + whitelist = { + KatKak = "312ef041-732c-42ef-985b-5f6cd3813b45"; + mozip = "d3a7434f-e809-424e-88e6-3b5a0555aa1a"; }; jvmOpts = "-Xms4096M -Xmx4096M -XX:+UseG1GC"; }; + + neoforge-server = { + enable = true; + + package = pkgs.neoforgeServers.neoforge-1_21_1; + + serverProperties = { + motd = "KatKak's Modded Server"; + white-list = true; + max-players = 5; + enable-command-block = true; + }; + whitelist = { + KatKak = "312ef041-732c-42ef-985b-5f6cd3813b45"; + mozip = "d3a7434f-e809-424e-88e6-3b5a0555aa1a"; + }; + + jvmOpts = "-Xms4096M -Xmx4096M -XX:+UseG1GC"; + + symlinks = { + mods = pkgs.linkFarmFromDrvs "mods" (builtins.attrValues { + Create = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/LNytGWDc/versions/n7NADxiG/create-1.21.1-6.0.9.jar"; + sha512 = "8b3b3d9b6874f31a538add81390dff26b5f9475da6349dc52fc20dbde802edfc32ead511e12291198591574d42605f916f1acbadc2437056eea615d8586bf7cf"; + }; + CreateAeronautics = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/oWaK0Q19/versions/FIeWE7UC/create-aeronautics-bundled-1.21.1-1.0.3.jar"; + sha512 = "3d7ef0e79b366567f2d5718806df16c8cb960b3ec0450c313b596b7262871d5b3f4f0635c8bce914b74908b5682c34235ada92792b1e288715aec7525193fb04"; + }; + Sable = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/T9PomCSv/versions/ZYLSN31S/sable-neoforge-1.21.1-1.0.6.jar"; + sha512 = "5b732e8b808b9e97ddc61375e849a86298b9ba5b1c81c576faf9b96667cd27e83fcc2e881af69fded28d1038b8c0f4ddb13ad6b3c1a34a2f1d688061ee6c5d19"; + }; + AppleSkin = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/EsAfCjCV/versions/8X2x5cPC/appleskin-neoforge-mc1.21-3.0.8.jar"; + sha512 = "f47c7228cb06693f118abfbd545c2cbacbe3ac4c779281d4464380dc4310de8a47e1ba73df3c7c6b8b670cca6ef49d9c14ccb93ba5a6705da9e3cf651eb63486"; + }; + Clumps = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/Wnxd13zP/versions/jo7lDoK4/Clumps-neoforge-1.21.1-19.0.0.1.jar"; + sha512 = "314d8d8e640d73041f27e0f3f2cad7aad8b4c77dbd7fb31700ef7760362261f77085eed5289555c725d99c3f47a114e7290cd608f39c9f0f12ef74958463bdcc"; + }; + CuriosAPI = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/vvuO3ImH/versions/yohfFbgD/curios-neoforge-9.5.1%2B1.21.1.jar"; + sha512 = "5981a267686b744e7e3c227f78cbcd5267c14ac6979a28e814695f4589273998563147207fef4a5cdb7cdbdc39797cd95d9e4abadb55869f18e02a38d0654ae5"; + }; + GravestoneMod = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/RYtXKJPr/versions/AZm51eX1/gravestone-neoforge-1.21.1-1.0.35.jar"; + sha512 = "4fac4b141df81161177fb0882335e27d1259d05ffd3f3795a0258e3471f4e72840cfa5b73fb1bc1ad8cdca255b83dc46f713f81fea533e4fb1e72834e1724886"; + }; + Jade = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/nvQzSEkH/versions/yd8FKCmx/Jade-1.21.1-NeoForge-15.10.5.jar"; + sha512 = "678b998677a3d73f98f82dac4093893bfc8a3c2335ec627b4147811c381a040475decdb8db31cc3cbe600abb5a7a6dedcd356eed0ba471af0becdcf49bf5b137"; + }; + JustEnoughItems = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/YAcQ6elZ/jei-1.21.1-neoforge-19.27.0.340.jar"; + sha512 = "8bad8eb3c8e974f867e23e4d74598f603c5fbf03eb5356a386dd37cb9fa23e08ad1f58be6b7be50d2fbf9d3fbfaeac8584c70ced736df4b8f82c7c75be242998"; + }; + Configured = pkgs.fetchurl { + url = "https://github.com/MrCrayfish/Configured/releases/download/v1.21.1-2.6.3/configured-neoforge-1.21.1-2.6.3-signed.jar"; + sha256 = "421ffd2604b5487cbdb284d1eb5d1cb8a7d28f3ff84d5b4bda25e0a579282a15"; + }; + Sodium = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/AANobbMI/versions/Pb3OXVqC/sodium-neoforge-0.6.13%2Bmc1.21.1.jar"; + sha512 = "ce58f34d05d96c0a109a5cea23c741f6bdb2e6be31fc087c5989274cefca5f10ba0c08c62083cf554a51f2c7667bf46e4164383f675c844e77633aef2659996b"; + }; + Lithium = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/G5SDYehn/lithium-neoforge-0.15.1%2Bmc1.21.1.jar"; + sha512 = "1975e74294798fe173d944d3e0b174b39dc8b7fa177340acb71c8a85772932b82c9406099c854d45fa4f71b80dbbb73602fd7cc36d1374dfc8402e4a30ccfe3b"; + }; + MoonlightLib = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/twkfQtEc/versions/xnc12XKg/moonlight-1.21-2.29.16-neoforge.jar"; + sha512 = "563f277c5876cc9e0e4ddf04658c130efe257dba2ac827c37f530d746c9033b9e75a799ebf1b65076c65dbc2d33eab225fd54fd123c9fa84a8a7fffa9ea4569c"; + }; + MouseTweaks = pkgs.fetchurl { + url = "https://cdn.modrinth.com/data/aC3cM3Vq/versions/9I21YYxf/MouseTweaks-neoforge-mc1.21-2.26.1.jar"; + sha512 = "f95c0cc881211ee0442434976775e07aae40b4a2ba4e3a85455bc57ca9d3c991e239cd98374a8abd442dc9c378dcd9001e2caa1bf69991d424b5652dd7f3483b"; + }; + }); + }; + }; }; }; } diff --git a/modules/nginx/default.nix b/modules/nginx/default.nix index 802331f..8ce4f5b 100644 --- a/modules/nginx/default.nix +++ b/modules/nginx/default.nix @@ -4,7 +4,6 @@ networking.firewall.allowedTCPPorts = [ 80 443 - 25565 ]; services.nginx = {