From 5e8cb90b83fa106952fa40cda28588b4209a0770 Mon Sep 17 00:00:00 2001 From: Clayton Hickey Date: Sat, 7 Mar 2026 18:22:15 -0500 Subject: [PATCH] cobblemon server init --- cos.nix | 1 - minecraft/minecraft-servers.nix | 41 ++++++++++++++++++++++++++++++--- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/cos.nix b/cos.nix index e45d359..5a37efa 100644 --- a/cos.nix +++ b/cos.nix @@ -15,7 +15,6 @@ ./umami.nix ./bikeability2.nix "${inputs.home-manager}/nixos" - inputs.nix-minecraft.nixosModules.minecraft-servers ]; options.cos = { diff --git a/minecraft/minecraft-servers.nix b/minecraft/minecraft-servers.nix index 923fac9..a3eb097 100644 --- a/minecraft/minecraft-servers.nix +++ b/minecraft/minecraft-servers.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, inputs, ... }: let survivalPort = 25565; creativePort = 25566; + cobblemonPort = 25567; users = { clay53_clayton = "bc2653cd-6cb1-4d15-9d24-cce0d1e8811c"; fire_chase = "c2b1a7ff-abff-41cb-af2a-4a89e942d288"; @@ -23,8 +24,15 @@ let maxRam = "1G"; in { + imports = [ + inputs.nix-minecraft.nixosModules.minecraft-servers + ]; config = lib.mkMerge [ (lib.mkIf (config.networking.hostName == "nixnas") { + nixpkgs.overlays = [ + inputs.nix-minecraft.overlay + ]; + services.minecraft-servers = { enable = true; eula = true; @@ -46,7 +54,7 @@ in motd = "Clayton Hickey's Survival"; white-list = true; }; - package = pkgs.minecraftServers.vanilla-1_21_11; + package = pkgs.vanillaServers.vanilla-1_21_11; jvmOpts = "-Xms${minRam} -Xmx${maxRam}"; }; @@ -64,13 +72,40 @@ in motd = "Clayton Hickey's Creative"; white-list = true; }; - package = pkgs.minecraftServers.vanilla-1_21_11; + package = pkgs.vanillaServers.vanilla-1_21_11; jvmOpts = "-Xms${minRam} -Xmx${maxRam}"; }; + services.minecraft-servers.servers.cobblemon = + let + inherit (inputs.nix-minecraft.lib) collectFilesAt; + modpack = pkgs.fetchPackwizModpack { + url = "https://forgejo.claytonhickey.me/clay53/cobblemon-modpack/raw/branch/master/pack.toml"; + packHash = "sha256-rz51hV1kgju7+6OyeEzSwO4+fmoS4/bi0Fo9iCYBOnI="; + }; + in + { + enable = true; + autoStart = true; + restart = "always"; + enableReload = false; + whitelist = defaultWhitelist; + operators = defaultOperators; + serverProperties = { + server-port = cobblemonPort; + difficulty = 3; + gamemode = 0; + motd = "Clayton Hickey's Cobblemon"; + white-list = true; + }; + package = pkgs.fabricServers.fabric-1_21_1; + symlinks = collectFilesAt modpack "mods"; + }; + networking.firewall.interfaces.${config.cos.wireguard.interface}.allowedTCPPorts = [ survivalPort creativePort + cobblemonPort ]; }) ];