41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
{
|
|
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;
|
|
package = pkgs."${loader}Servers".${serverVersion}.override {inherit loaderVersion;};
|
|
jvmOpts = modpack.variables.JAVA_ARGS;
|
|
symlinks = {
|
|
"mods" = "${modpack.root}/mods";
|
|
"defaultconfigs" = "${modpack.root}/defaultconfigs";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|