Docker UDP port mapping correct in toml? (itzg/minecraft-bedrock-server)

Similar to this thread, I’m trying to deploy a minecraft dockerfile, but in this case for the bedrock flavor. I’m using this Dockerfile and this fly.toml:

app = "minecraft-wrights"
kill_signal = "SIGINT"
kill_timeout = 60
processes = []

[env]
  EULA="TRUE"
  GAMEMODE = "creative"

[mounts]
  source="minecraft_data"
  destination="/data"

[experimental]
  allowed_public_ports = [19132, 19133]
  auto_rollback = false

[[services]]
  internal_port = 19132
  protocol = "udp"

  [[services.ports]]
    port = 19132

[[services]]
  internal_port = 19133
  protocol = "udp"

  [[services.ports]]
    port = 19133

The logs show it’s running but I can’t connect. The main difference I see is that the bedrock docs have udp appended to the docker run mapping like: -p 19132:19132/udp, but I’m not sure how that translates to fly.toml.

I have been looking at the same thing - but as far as I am aware - fly.io has always required UDP programs to map to a different address: fly-global-services (link: Running Fly.io Apps On UDP and TCP · Fly Docs).

The bedrock docker image (or the underlying bedrock-server binary) doesn’t seem to support binding to a custom address (link: https://bugs.mojang.com/browse/BDS-7707)

1 Like