mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
61 lines
1.8 KiB
Nix
61 lines
1.8 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkIf mkDefault;
|
|
cfg = config.services.minecraft-bedrock-server;
|
|
in {
|
|
services.minecraft-bedrock-server = {
|
|
enable = mkDefault true;
|
|
serverProperties = {
|
|
server-name = "Kat's Server";
|
|
online-mode = true;
|
|
#allow-cheats = true;
|
|
#level-name = "KatBedrock";
|
|
level-name = "KatBedrockBeta";
|
|
default-player-permission-level = "visitor";
|
|
};
|
|
packs = let
|
|
addons = pkgs.minecraft-bedrock-addons;
|
|
in {
|
|
tree-capitator-bp.package = addons.true-tree-capitator-bp;
|
|
tree-capitator-rp.package = addons.true-tree-capitator-rp;
|
|
#tree-capitator-bh.package = addons.definitive-tree-capitator-bh;
|
|
#tree-capitator-rs.package = addons.definitive-tree-capitator-rs;
|
|
};
|
|
allowPlayers = let
|
|
base = 2535420000000000;
|
|
nums = 1760;
|
|
in {
|
|
Kyxna = {
|
|
xuid = base + 44308966797;
|
|
permission = "operator";
|
|
};
|
|
arcnmx = {
|
|
xuid = base + 53399068799;
|
|
permission = "operator";
|
|
};
|
|
"ConnieHeart${toString (base / 1000000000000 + nums)}".xuid = base + 417602225;
|
|
};
|
|
};
|
|
systemd.services.minecraft-bedrock-server = mkIf cfg.enable {
|
|
confinement.enable = true;
|
|
gensokyo-zone.sharedMounts."minecraft/bedrock" = {config, ...}: {
|
|
root = config.rootDir + "/${config.subpath}";
|
|
path = mkDefault cfg.dataDir;
|
|
};
|
|
};
|
|
users = mkIf cfg.enable {
|
|
users.${cfg.user}.uid = 913;
|
|
groups.${cfg.group}.gid = config.users.users.${cfg.user}.uid;
|
|
};
|
|
networking.firewall.interfaces = let
|
|
ports = [cfg.serverProperties.server-port cfg.serverProperties.server-portv6];
|
|
in
|
|
mkIf cfg.enable {
|
|
local.allowedUDPPorts = ports;
|
|
peeps.allowedUDPPorts = ports;
|
|
};
|
|
}
|