infrastructure/nixos/minecraft/bedrock.nix
2024-04-28 11:42:08 -07:00

34 lines
1,023 B
Nix

{config, lib, ...}: 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;
level-name = "KatBedrock";
};
allowPlayers = let
base = 2535460000000000;
in {
Kyxna.xuid = base + 4308966797;
arcnmx.xuid = base + 13399068799;
};
};
systemd.services.minecraft-bedrock-server = mkIf cfg.enable {
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.local = let
ports = [ cfg.serverProperties.server-port cfg.serverProperties.server-portv6 ];
in mkIf cfg.enable {
allowedUDPPorts = ports;
};
}