mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
34 lines
1,023 B
Nix
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;
|
|
};
|
|
}
|