I am very new to Traefik but got a bunch of stuff that I want internet facing working over the past few days. I have all the https redirects, and whitelists and it's working great for website based programs (Emby, Nextcloud, Portainer, Traefik web interface, etc).
I spent most of the day trying to put a Minecraft Bedrock server behind the proxy though and am not having much luck. I am to the point that the server shows up as available within my LAN and I can connect that way from the "friends list" in the game but I am unable to use any sort of web address with it to make the connection. The documentation all says the server uses UDP 19132 but the LAN server doesn't show up in the game unless I have a TCP and UDP entry point on that port:
I see that the verified cert is being pulled for the domain in acme.json but I have no idea if that is necessary for this app. I don't know if "traefik.http.routers.minecraft.rule=Host(example.duckdns.org)" is correct for that line as I am not making an HTTP connection but without it the server doesn't show up as available in the LAN.
I guess the simplest way to serve a bedrock server via Traefik is not to fiddle with HTTP routers or any TCP things. The Bedrock server works purely over UDP and configuring a UDP router and service is sufficient. My configuration looks like follows:
One thing I was just thinking of, that although the docs state Bedrock uses ONLY UDP, I get issues with outside connections if I don't have both UDP and TCP punched through my router's firewall on port 19132. I have spoken with others that need to do the same so I wonder if that issue is in play here.
I have configured my iptables for only allowing 19132/udp. So there should be no TCP traffic on that port. I'm running my Bedrock server without Traefik for a while now without any problems using the below configuration:
It also works fine just connecting to the DNS name and the port after it but I thought it would be cool to be able to direct any traffic to minecraft..com to the correct server on UDP port 19132 without needing to specify the port or have it open on the firewall.
I reconfigured my Traefik to proxy both protocols TCP and UDP to the service and checked my firewall settings. Still no luck. I'm having the same problems as described above. Here's the configuration:
Hi there. Thanks for the follow-up. I think I got it working after following your lead here but I am not really understanding the benefit to it in practice as it is just routing anything bound for the minecraft server (defined by port 19132) to Traefik and then passing it on to the minecraft server. Traefik is just acting as a middleman but it's still required to hit any domain that points to the public IP and specify port 19132, right?
LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
Trust me, if you have kids between 6 and 14, stuck at home because of COVID-19, achieving anything work related is going to be difficult. Home education is a great endeavour, but keeping the kids busy and entertained on their own will also help.
Plus Minecraft is great from a purely social point of view, allows the kids to keep in touch with their friends. Using a private server ensure they only socialise with a few select friends, which is safer, especially for the younger ones.
ONLINE_MODE=false enables kids to join without a microsoft account, which they might not have if they play on Minecraft Pocket edition on a phone or tablet. It is however easy enough to create an account for them at , with a dedicated email address.
One of my kids friends plays Minecraft on their Nintendo Switch, and could not connect to my private server. According to this reddit post, this is because the Nintendo switch can connect only to the Microsoft-approved servers. The trick is apparently to run our own DNS server to redirect queries for one of those servers to ours.
2- Copy the following text to a text editor (notepad on windows) and if required, tidy it up to remove extraneous spaces or linefeed. Replace the ec2-12-345-678-910.eu-west-1.compute.amazonaws.com part with the puplic DNS name of your EC2 instance. Copy the result
6- Expose the CoreDNS UDP port, 53, to the internet. As before, go back to EC2 console, select 'security group' on the left hand side menu, then click on 'Edit inbound rules' on the right hand side, then add an inbound rule for UDP port 53: