Standardize Minecraft variable formatting

This commit is contained in:
Bun 2025-03-27 09:24:38 -04:00
parent 9190e09c93
commit 9dbf18228b
12 changed files with 108 additions and 116 deletions

View file

@ -1,66 +1,72 @@
{ pkgs, ... }:
{ config, lib, ... }:
{
# Common properties
serverProperties = {
enforce-secure-profile = false;
max-players = 20;
online-mode = false;
spawn-protection = 0;
view-distance = 10;
simulation-distance = 10;
white-list = true;
options.services.minecraft-servers.common = lib.mkOption {
type = lib.types.attrs;
};
# Common whitelist
whitelist = {
K5G = "8656dc10-6050-4a17-b29e-88c4babbc54c";
JimmJam = "2f7affee-e10b-450f-a5e2-44c79a14a109";
Viceebun = "f583f591-ad9b-4a30-8d91-514881b31394";
DewDemolisher = "9205524f-3886-483d-b471-82bb9905671a";
Freecorn1854 = "8299cd8d-3cd4-4779-8180-0d9db6dc12a9";
Freemid1854 = "cf430607-3c2e-4c8b-8183-28299e801fa5";
Tinyattack09 = "aaa8e9e2-4e51-4925-b9df-8a9504aec5d5";
Ankha3000 = "dd65a277-f618-411e-812c-900c9c7e82d9";
catoiico = "01f10cdf-c146-437e-99b1-2278b5dbe420";
Sp0ok7 = "016c3daa-3dd5-4631-ae79-3a6f48d7cbe6";
PooxterMooxter = "c973f4b5-ab50-45e3-b3eb-36286a6f66aa";
};
config.services.minecraft-servers.common = {
# Common properties
serverProperties = {
enforce-secure-profile = false;
max-players = 20;
online-mode = false;
spawn-protection = 0;
view-distance = 10;
simulation-distance = 10;
white-list = true;
};
# Common plugins
paperSymlinks = {
"plugins/BungeeGuard.jar" = builtins.fetchurl {
url = "https://github.com/lucko/BungeeGuard/releases/download/v1.3.3/BungeeGuard.jar";
sha256 = "0cackavwk7kl71hn1i78hcvkdp7q81srq35nranpvysbmm8v34vk";
# Common whitelist
whitelist = {
K5G = "8656dc10-6050-4a17-b29e-88c4babbc54c";
JimmJam = "2f7affee-e10b-450f-a5e2-44c79a14a109";
Viceebun = "f583f591-ad9b-4a30-8d91-514881b31394";
DewDemolisher = "9205524f-3886-483d-b471-82bb9905671a";
Freecorn1854 = "8299cd8d-3cd4-4779-8180-0d9db6dc12a9";
Freemid1854 = "cf430607-3c2e-4c8b-8183-28299e801fa5";
Tinyattack09 = "aaa8e9e2-4e51-4925-b9df-8a9504aec5d5";
Ankha3000 = "dd65a277-f618-411e-812c-900c9c7e82d9";
catoiico = "01f10cdf-c146-437e-99b1-2278b5dbe420";
Sp0ok7 = "016c3daa-3dd5-4631-ae79-3a6f48d7cbe6";
PooxterMooxter = "c973f4b5-ab50-45e3-b3eb-36286a6f66aa";
};
"plugins/EssentialsX.jar" = builtins.fetchurl {
url = "https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar";
sha256 = "0hpm3fk073f2z8aah9l1inq27h9kd60jb2c1grcs8326v85s6bl0";
};
"plugins/EssentialsXChat.jar" = builtins.fetchurl {
url = "https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar";
sha256 = "19jwfymqgvjk0vkm1blhq2q6gi7jkgqznp6bxc3k1sqw4hh5raj0";
};
"plugins/LuckPerms.jar" = builtins.fetchurl {
url = "https://download.luckperms.net/1571/bukkit/loader/LuckPerms-Bukkit-5.4.154.jar";
sha256 = "0ls539d99h4bc3mh0h84gdmgh8lxjakr9rp0il81m695j4j2l5mz";
};
"plugins/ProtocolLib.jar" = builtins.fetchurl {
url = "https://ci.dmulloy2.net/job/ProtocolLib/733/artifact/build/libs/ProtocolLib.jar";
sha256 = "1gslh24kk7dcqiqxphzy8x2nrqa58f8gl5ah0iyg1ndx3pvr4z9m";
};
"plugins/Vault.jar" = builtins.fetchurl {
url = "https://github.com/MilkBowl/Vault/releases/download/1.7.3/Vault.jar";
sha256 = "07fhfz7ycdlbmxsri11z02ywkby54g6wi9q0myxzap1syjbyvdd6";
};
"plugins/VoiceChat.jar" = builtins.fetchurl {
url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/Il6UOBoH/voicechat-bukkit-2.5.27.jar";
sha256 = "1k95sy0hf74y80fzk7960ww8wk210phyaiqkn4q7wlagdq48mxqm";
};
};
# Config files
configFiles = {
"plugins/Essentials/config.yml" = ./essentialsconfig.yml;
"plugins/voicechat/voicechat-server.properties" = ./vcserver.properties;
# Common plugins
paperSymlinks = {
"plugins/BungeeGuard.jar" = builtins.fetchurl {
url = "https://github.com/lucko/BungeeGuard/releases/download/v1.3.3/BungeeGuard.jar";
sha256 = "0cackavwk7kl71hn1i78hcvkdp7q81srq35nranpvysbmm8v34vk";
};
"plugins/EssentialsX.jar" = builtins.fetchurl {
url = "https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar";
sha256 = "0hpm3fk073f2z8aah9l1inq27h9kd60jb2c1grcs8326v85s6bl0";
};
"plugins/EssentialsXChat.jar" = builtins.fetchurl {
url = "https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar";
sha256 = "19jwfymqgvjk0vkm1blhq2q6gi7jkgqznp6bxc3k1sqw4hh5raj0";
};
"plugins/LuckPerms.jar" = builtins.fetchurl {
url = "https://download.luckperms.net/1571/bukkit/loader/LuckPerms-Bukkit-5.4.154.jar";
sha256 = "0ls539d99h4bc3mh0h84gdmgh8lxjakr9rp0il81m695j4j2l5mz";
};
"plugins/ProtocolLib.jar" = builtins.fetchurl {
url = "https://ci.dmulloy2.net/job/ProtocolLib/733/artifact/build/libs/ProtocolLib.jar";
sha256 = "1gslh24kk7dcqiqxphzy8x2nrqa58f8gl5ah0iyg1ndx3pvr4z9m";
};
"plugins/Vault.jar" = builtins.fetchurl {
url = "https://github.com/MilkBowl/Vault/releases/download/1.7.3/Vault.jar";
sha256 = "07fhfz7ycdlbmxsri11z02ywkby54g6wi9q0myxzap1syjbyvdd6";
};
"plugins/VoiceChat.jar" = builtins.fetchurl {
url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/Il6UOBoH/voicechat-bukkit-2.5.27.jar";
sha256 = "1k95sy0hf74y80fzk7960ww8wk210phyaiqkn4q7wlagdq48mxqm";
};
};
# Config files
configFiles = {
"plugins/Essentials/config.yml" = ./essentialsconfig.yml;
"plugins/voicechat/voicechat-server.properties" = ./vcserver.properties;
};
};
}

View file

@ -1,7 +1,8 @@
{ config, lib, minecraft, ... }:
{
imports = [
./servers/default.nix
./common
./servers
minecraft.nixosModules.minecraft-servers
];

View file

@ -1,20 +1,18 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.blockworld = {
autoStart = false;
package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx3072M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2;
server-port = 30012;
motd = "\\u00A7fArchival \\u00A7l\\u00A7n\\u00A7cBloxelcom \\u00A7r\\u00A7fMinecraft server.";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles;
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.blockworld.enable [ "bloxel.nixfox.ca" ];
};

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.cornworld = {
package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30016;
motd = "\\u00a7e\\u00a7lFreecorn Sever";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles;
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.cornworld.enable [ "corn.nixfox.ca" ];
};

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.dewdemolisher = {
package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2;
server-port = 30010;
motd = "\\u00A7l\\u00A7aDew Demolisher is here.";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles;
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.dewdemolisher.enable [ "dew.nixfox.ca" ];
};

View file

@ -1,18 +1,16 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.johnside = {
package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2500M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 2;
server-port = 30009;
motd = "\\u00A7l\\u00A79Johnside SMP\\u00A7r \\u00A7l\\u00A7fworld for \\u00A74John lovers only.";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks // {
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks // {
"plugins/CustomDiscs.jar" = builtins.fetchurl {
url = "https://github.com/Navoei/CustomDiscs/releases/download/v3.0/custom-discs-3.0.jar";
sha256 = "0xv0zrkdmjx0d7l34nqag8j004pm9zqivc12d3zy9pdrkv7pz87d";
@ -26,7 +24,7 @@ in {
sha256 = "0mbp73xclr7f5m2lbdfz6is1j8vvyv1qwpl28sm089zrpm73qn6w";
};
};
files = common.configFiles;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.johnside.enable [ "john.nixfox.ca" ];
};

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.marsh = {
package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30017;
motd = "\\u00A7l\\u00A72Murky.";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles;
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.marsh.enable [ "marsh.nixfox.ca" ];
};

View file

@ -1,12 +1,10 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.roguecraft = {
package = pkgs.paperServers.paper-1_21_1;
jvmOpts = "-Xmx3000M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30014;
motd = "\\u00A7l\\u00A7bNixFox \\u00A7cRoguecraft \\u00A7bserver.";
@ -14,9 +12,9 @@ in {
resource-pack = "https://nixfox.ca/roguecraftresourcepackredir";
resource-pack-sha1 = "b540c0562aba90c3ead2356bb9cb74fcf0db36b3";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles // {
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles // {
"world/datapacks/roguecraft.zip" = builtins.fetchurl {
url = "https://nixfox.ca/roguecraftdatapackredir";
sha256 = "04zrkvzvi1i898al45fh9j3k635sf9qhwca7phbv4ynkfl8bz3q3";

View file

@ -1,19 +1,17 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
in {
{
services = {
minecraft-servers.servers.skyblock = {
package = pkgs.paperServers.paper-1_21_4;
jvmOpts = "-Xmx2000M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30015;
motd = "\\u00A7l\\u00A7aBlocking in the sky";
};
whitelist = common.whitelist;
symlinks = common.paperSymlinks;
files = common.configFiles;
whitelist = config.services.minecraft-servers.common.whitelist;
symlinks = config.services.minecraft-servers.common.paperSymlinks;
files = config.services.minecraft-servers.common.configFiles;
};
cloudflare-dyndns.domains = lib.mkIf config.services.minecraft-servers.servers.skyblock.enable [ "skyblock.nixfox.ca" ];
};

View file

@ -1,6 +1,5 @@
{ config, lib, pkgs, ... }:
let
common = import ../../common { inherit pkgs; };
uberBukkitZip = pkgs.fetchzip {
url = "https://github.com/Moresteck/Project-Poseidon-Uberbukkit/releases/download/2.0.0/uberbukkit-2.0.0-java17.zip";
sha256 = "m4hgcqXJ43SnBGn6qNBGeEcXFv5Q8f/VFYJmx3aJ9PE=";
@ -14,7 +13,7 @@ in {
minecraft-servers.servers.uberbeta = {
package = uberBukkit;
jvmOpts = "-Xmx512M";
serverProperties = common.serverProperties // {
serverProperties = config.services.minecraft-servers.common.serverProperties // {
difficulty = 3;
server-port = 30005;
};