From 0cdabbeedbbb4c210f4d81148bb76f3377b99d8d Mon Sep 17 00:00:00 2001 From: kB01 Date: Sat, 23 Nov 2024 15:22:48 +0100 Subject: [PATCH] Added Survival Plugin and Velocity Server + Plugin --- modules/nixos/services/minecraft/default.nix | 6 ++++ modules/nixos/services/minecraft/survival.nix | 8 ++++- modules/nixos/services/minecraft/velocity.nix | 30 +++++++++++++++++++ systems/x86_64-linux/kb-games-01/default.nix | 2 +- 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 modules/nixos/services/minecraft/velocity.nix diff --git a/modules/nixos/services/minecraft/default.nix b/modules/nixos/services/minecraft/default.nix index ae21958..0aaedc1 100644 --- a/modules/nixos/services/minecraft/default.nix +++ b/modules/nixos/services/minecraft/default.nix @@ -7,6 +7,7 @@ in inputs.nix-minecraft.nixosModules.minecraft-servers ./vanilla-test.nix ./survival.nix + ./velocity.nix ]; options.services.minecraft = { @@ -25,6 +26,11 @@ in default = false; description = "Survival Server"; }; + servers.velocity.enable = lib.mkOption { + type = with lib.types; uniq bool; + default = false; + description = "Velocity Proxy Server"; + }; }; config = lib.mkIf cfg.enable { diff --git a/modules/nixos/services/minecraft/survival.nix b/modules/nixos/services/minecraft/survival.nix index 7ed087c..007ba09 100644 --- a/modules/nixos/services/minecraft/survival.nix +++ b/modules/nixos/services/minecraft/survival.nix @@ -23,7 +23,13 @@ in whitelist = { kB01guy = "1ff88b66-beda-4386-85b9-a00a5c27437a"; }; - openFirewall = true; + serverProperties = { + difficulty = 3; + gamemode = 1; + max-players = 5; + }; + openFirewall = false; # Should use Velocity Player Proxy + serverProperties.server-port = 41000; symlinks = { "plugins/LuckPerms.jar" = pkgs.fetchurl { url = "https://download.luckperms.net/1561/bukkit/loader/LuckPerms-Bukkit-5.4.146.jar"; sha512 = "3yx163xas6g30crj41ad8j9gh55ygfh7vbaq12hlm4rxf1npnxh95rhn2nx0qcjd4nl1rz8f8pbvmlh6ka32ahvn6x9rxsc8g6v24jz"; }; }; diff --git a/modules/nixos/services/minecraft/velocity.nix b/modules/nixos/services/minecraft/velocity.nix new file mode 100644 index 0000000..f092c8a --- /dev/null +++ b/modules/nixos/services/minecraft/velocity.nix @@ -0,0 +1,30 @@ +{ + inputs, + config, + lib, + pkgs, + system, + ... +}: +let + cfg = config.services.minecraft; +in +{ + config = lib.mkIf (cfg.enable && cfg.servers.velocity.enable) { + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "minecraft-server" + ]; + + services.minecraft-servers.servers."velocity" = { + enable = true; + autoStart = true; + enableReload = true; + package = pkgs.velocityServers.velocity; + openFirewall = true; + symlinks = { + "plugins/LuckPerms.jar" = pkgs.fetchurl { url = "https://download.luckperms.net/1561/velocity/LuckPerms-Velocity-5.4.146.jar"; sha512 = "1xk7fwb5z3bz0x3hpmnyg7cldzrf9anpp4aavq5s69lz2idzxvkjn9b5iv2yy22p17k26lqwfn8n9ivi59srz2hvgdb1jibqg5d5hj5"; }; + }; + }; + }; +} + diff --git a/systems/x86_64-linux/kb-games-01/default.nix b/systems/x86_64-linux/kb-games-01/default.nix index 48ae697..ed97a69 100644 --- a/systems/x86_64-linux/kb-games-01/default.nix +++ b/systems/x86_64-linux/kb-games-01/default.nix @@ -72,7 +72,7 @@ # Minecraft Servers services.minecraft = { enable = true; - servers.vanilla.enable = false; + servers.velocity.enable = true; servers.survival.enable = true; };