{ flake.nixosModules.minecraft-server = { config, pkgs, lib, ... }: let cfg = config.hive.minecraft-server; modpack = pkgs.callPackage ./_loadCurseForge.nix { url = "https://mediafilez.forgecdn.net/files/7765/203/BMC3_Server_Pack_v44.zip"; hash = "sha256-doqPzo9fhYM9ng/3RO6OPqhKA2ibfoaKx3Es7M0lpuU="; }; mcVersion = modpack.variables.MINECRAFT_VERSION; loader = lib.toLower modpack.variables.MODLOADER; loaderVersion = modpack.variables.MODLOADER_VERSION; serverVersion = lib.replaceStrings ["."] ["_"] "${loader}-${mcVersion}"; in { options.hive.minecraft-server = { enable = lib.mkEnableOption "Enable BMC3 server"; }; config = lib.mkIf cfg.enable { services.minecraft-servers = { enable = true; eula = true; openFirewall = true; servers.bmc3 = lib.optionalAttrs cfg.enable { enable = true; autoStart = false; package = pkgs."${loader}Servers".${serverVersion}.override {inherit loaderVersion;}; jvmOpts = modpack.variables.JAVA_ARGS; symlinks = { "mods" = "${modpack.root}/mods"; }; serverProperties = { motd = "Woher kommt der Stein?"; white-list = true; }; }; }; }; }; }