99 lines
4.2 KiB
Nix
99 lines
4.2 KiB
Nix
{
|
|
pkgs,
|
|
service_configs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
heap_size = "4000M";
|
|
in
|
|
{
|
|
nixpkgs.config.allowUnfreePredicate =
|
|
pkg:
|
|
builtins.elem (lib.getName pkg) [
|
|
"minecraft-server"
|
|
];
|
|
|
|
services.minecraft-servers = {
|
|
enable = true;
|
|
eula = true;
|
|
dataDir = service_configs.minecraft.parent_dir;
|
|
openFirewall = true;
|
|
|
|
servers.${service_configs.minecraft.server_name} = {
|
|
enable = true;
|
|
package = pkgs.fabricServers.fabric-1_21_1;
|
|
|
|
jvmOpts = "-Xmx${heap_size} -Xms${heap_size} -XX:+UseZGC -XX:+ZGenerational";
|
|
|
|
serverProperties = {
|
|
server-port = 25565;
|
|
enforce-whitelist = true;
|
|
gamemode = "survival";
|
|
white-list = true;
|
|
difficulty = "easy";
|
|
motd = "A Minecraft Server";
|
|
};
|
|
|
|
whitelist = import ../secrets/minecraft-whitelist.nix;
|
|
|
|
symlinks = {
|
|
"mods" = pkgs.linkFarmFromDrvs "mods" (
|
|
builtins.attrValues {
|
|
FabricApi = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/thGkUOxt/fabric-api-0.107.0%2B1.21.1.jar";
|
|
sha512 = "04cf3f205c83882c7c741da392d10cbf9ab471fb44836d753f9673b7b37ddb9b2842cc8e72d6d7f36c48d121715f9f9dae8d20e597f2c0de3bb8abd37037baaa";
|
|
};
|
|
|
|
# https://github.com/malte0811/FerriteCore/issues/164
|
|
# FerriteCore = pkgs.fetchurl {
|
|
# url = "https://cdn.modrinth.com/data/uXXizFIs/versions/bwKMSBhn/ferritecore-7.0.2-hotfix-fabric.jar";
|
|
# sha512 = "ca975bd3708cd96d30cf1447ac8883572113562eb2dd697e60c1cf382d6b70d0b1a511fcbfd042c51b2cf5d5ffc718b847f845e4c8a3e421e8c9ee741119a421";
|
|
# };
|
|
|
|
Lithium = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/9x0igjLz/lithium-fabric-mc1.21.1-0.13.1.jar";
|
|
sha512 = "4250a630d43492da35c4c197ae43082186938fdcb42bafcb6ccad925b79f583abdfdc17ce792c6c6686883f7f109219baecb4906a65d524026d4e288bfbaf146";
|
|
};
|
|
|
|
NoChatReports = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/qQyHxfxd/versions/sOHvPS0X/NoChatReports-FABRIC-1.21.1-v2.9.0.jar";
|
|
sha512 = "3326d278e57cc2d7bdb4348570c3876ed096af872e166241209ef5ac7c823829596a81570db029ac751e5a11b7686046f72119f259365350ca2eba10037f6d24";
|
|
};
|
|
|
|
tick-stasis = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/t6XBQ2xn/versions/fDbxgNHz/tick-stasis-1.1.1.jar";
|
|
sha512 = "346fae7e0f1a62636525a9331643ac4343b781c240db6ef9bafe1b3a295d24d131d2b4b20cef8edc33835e9069fcaf1c2e2b3ce9ced9a2ec6e4e3d82770f52c6";
|
|
};
|
|
|
|
noisium = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/KuNKN7d2/versions/4sGQgiu2/noisium-fabric-2.3.0%2Bmc1.21-1.21.1.jar";
|
|
sha512 = "606ba78cf7f30d99e417c96aa042f600c1b626ed9c783919496d139de650013f1434fcf93545782e3889660322837ce6e85530d9e1a5cc20f9ad161357ede43e";
|
|
};
|
|
|
|
moonrise = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/KOHu7RCS/versions/1ZrRaRbq/Moonrise-Fabric-0.1.0-beta.8%2B68ea18b.jar";
|
|
sha512 = "7510ce6a908d384031b8134c719a6e4f959f35cc9f7889a12f5fc2188937c61f84c916eff8639786fa2c3411141316802437b1cbc105e00dee0f6a8cc6d96b92";
|
|
};
|
|
|
|
mixintrace = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/sGmHWmeL/versions/1.1.1%2B1.17/mixintrace-1.1.1%2B1.17.jar";
|
|
sha512 = "ea9034b60bc1c64629a9bcad2e619907692fe6e7464026236c55cc5a4892a20d21dd6318ad0380ab2ec245f7077939b6717d2ed58e00708c17470be14f5e0b5f";
|
|
};
|
|
|
|
better-fabric-console = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/Y8o1j1Sf/versions/6FB2l9zd/better-fabric-console-mc1.21.1-1.2.0.jar";
|
|
sha512 = "3120f168a201a0d7eee55dc34788f0b1134754895d86ceca082f72b16902a00fc70ca05c73712b1d45bae8b74176af30a1821e636ba528f2abd60d94b1f35297";
|
|
};
|
|
|
|
vivecraft = pkgs.fetchurl {
|
|
url = "https://cdn.modrinth.com/data/wGoQDPN5/versions/55ml9ENB/vivecraft-1.21.1-1.1.14-b2-fabric.jar";
|
|
sha512 = "6241183987d6197a5e2b4b17f86db2ee9c594f0b6ec335153f1733c2c9ace9f21d07007150a9082e2834deead68b2c287e9443b23be5cd09a366db3f1593975b";
|
|
};
|
|
}
|
|
);
|
|
};
|
|
};
|
|
};
|
|
}
|