diff --git a/system/podman/minecraft.nix b/system/podman/minecraft.nix index f6effd5..49c4a2d 100644 --- a/system/podman/minecraft.nix +++ b/system/podman/minecraft.nix @@ -2,14 +2,21 @@ let name = "minecraft"; podman = config.profile.podman; - inherit (lib) mkIf; + inherit (lib) mkIf strings; ip = "10.88.200.1"; - image = "docker.io/05jchambers/legendary-minecraft-purpur-geyser:latest"; - rootVolume = "/nas/podman/minecraft"; + # image = "docker.io/05jchambers/legendary-minecraft-purpur-geyser:latest"; + image = "docker.io/itzg/minecraft-bedrock-server:latest"; + rootVolume = "/nas/podman/minecraft/hutasuhut"; domain = "${name}.tigor.web.id"; user = config.profile.user; uid = toString user.uid; gid = toString user.gid; + users = [ + { + username = "CrowFX7414"; + xuid = "2533274941938385"; + } + ]; in { config = mkIf (podman.enable && podman.${name}.enable) { @@ -23,16 +30,12 @@ in

Congrats! The minecraft server should be up!

-

- For security reasons, connecting to the server requires Wireguard to be connected. - Ensure they are on first otherwise you won't be able to connect. -

-

- The server supports both Java and Bedrock Edition. Both shares the same world and can - play together. They only need to connect to different ports depending on the edition. -

-

Minecraft Java Server: ${domain}:25565

-

Minecraft Bedrock Server: ${domain}:19132

+

+ This server is invitation only. + Please contact the server owner for more info. +

+

Server Address: ${domain}

+

Server Port: 19132

EOF 200 @@ -49,18 +52,28 @@ in autoStart = true; user = "${uid}:${gid}"; environment = { + UID = uid; + GID = gid; + EULA = "TRUE"; TZ = "Asia/Jakarta"; + SERVER_NAME = "Hutasuhut"; + DEFAULT_PLAYER_PERMISSION_LEVEL = "operator"; + LEVEL_NAME = "Hutasuhut"; + MAX_THREADS = "0"; # Use as many as possible + ALLOW_LIST_USERS = strings.concatStringsSep "," ( + map (user: "${user.username}:${user.xuid}") users + ); }; ports = [ # Java Edition Ports - "25565:25565/udp" - "25565:25565" + # "25565:25565/udp" + # "25565:25565" # Bedrock Edition Ports "19132:19132/udp" "19132:19132" ]; volumes = [ - "${rootVolume}:/minecraft" + "${rootVolume}:/data" ]; extraOptions = [ "--network=podman"