2024-11-14 01:43:04 +01:00
|
|
|
{
|
|
|
|
inputs,
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
system,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
|
|
|
cfg = config.services.minecraft;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
config = lib.mkIf (cfg.enable && cfg.servers.survival.enable) {
|
|
|
|
services.minecraft-servers.servers."survival" = {
|
|
|
|
enable = true;
|
|
|
|
autoStart = true;
|
|
|
|
enableReload = true;
|
2024-12-14 02:29:16 +01:00
|
|
|
package = pkgs.paperServers.paper-1_21_4;
|
2024-11-23 15:22:48 +01:00
|
|
|
serverProperties = {
|
2024-12-14 02:29:16 +01:00
|
|
|
online-mode = false;
|
|
|
|
server-ip = "127.0.0.1";
|
|
|
|
server-port = 49333;
|
2024-11-23 15:22:48 +01:00
|
|
|
difficulty = 3;
|
|
|
|
gamemode = 1;
|
|
|
|
max-players = 5;
|
|
|
|
};
|
|
|
|
openFirewall = false; # Should use Velocity Player Proxy
|
2024-12-14 02:29:16 +01:00
|
|
|
|
|
|
|
# Add Plugins
|
2024-11-21 16:16:14 +01:00
|
|
|
symlinks = {
|
2024-12-14 02:29:16 +01:00
|
|
|
"plugins/LuckPerms.jar" = pkgs.fetchurl {
|
|
|
|
url = "https://download.luckperms.net/1567/bukkit/loader/LuckPerms-Bukkit-5.4.150.jar";
|
|
|
|
sha512 = "39cr9nd68afrrvn80kvdgaml37xkj3mzhv50y3app5j1199hg12kls29r49x06p9rxm6dk7i0j8aww2hw4ahm18andb69a5kp97vf94";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# Configure Velocity Modern forwarding https://docs.papermc.io/velocity/player-information-forwarding#configuring-modern-forwarding-for-paper
|
|
|
|
files."spigot.yml".value = {
|
|
|
|
settings.bungeecord = false;
|
|
|
|
};
|
|
|
|
files."config/paper-global.yml".value = {
|
|
|
|
proxies.velocity.enabled = true;
|
|
|
|
proxies.velocity.online-mode = "online-mode";
|
|
|
|
forwarding.secret = ""; # TODO: Add Forewarding Secret using Sops
|
2024-11-21 16:16:14 +01:00
|
|
|
};
|
2024-11-14 01:43:04 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|