I love playing Minecraft with my kids. I would play on my windows PC and they would join my game to use it's computing power to run the game. Joining a game hosted on a Switch was slow and laggy. The little handheld console simply doesn't have the power to host 3 players at a time. So this setup works because I'm playing on windows and I can invite the Switch players to my game. This will be relevent later.
I wanted to get off of Windows for obvious reasons but that meant I couldn't run Minecraft in any stable form for us all to play together. I could run a Minecraft server from Linux that everyone could join from there Switch so that seemed like a slam dunk.
EXCEPT
Console editions won't let you join custom servers due to age ratings. Opening the game up to any server means they can't vouch for all of them so it's limited to a handful of awful servers. There's an app that creates a dummy player on your LAN that you can join to bridge that gap but Nintendo specifically disables LAN play as well.
There's also a DNS switching trick that allows you to join one of these pre-chosen servers and then connect to a custom server from that point but this solution is both dangerous for DNS poisoning and needlessly fiddly.
Frustrated and feeling stuck on the AI riddled and feature bloated Windows at this point. But then I got an idea.
PiHole can be your network's DNS and I can redirect connections to one of the pre-chosen servers to my local machine running Minecraft Bedrock server!
After what felt like ages of trying work arounds to get the product I paid for to do the thing it's supposed to do out of the box, I have a solution. One little line in PiHole's configuration panel and I can now comfortably play Minecraft with my kids all sitting on the couch with our individual Switches. (Plus the bonus of PiHole blocking out ads.)
