Building a multiplatform Scalable Minecraft server w/ Extras

I like many other people out there have friends who want to play Minecraft for about 2 weeks, then a dog dies and well, thats a story for a whole other post.
But I (as the budding homelabber of the bunch) has one problem, how do I join the pesky Xbox players with the real Minecraft players, the Java edition folks?

Over the past several years Minecraft servers have made giant leaps in performance and features, one of these being multi-platform support for PC and consoles. From your friend’s monster workstation to little Timmy’s half working Nintendo switch Users could Unite to craft, build, and battle altogether

Technologies Used

Hyperviser: Proxmox

A Layer 1 virulization Tool, thats the right price for my college wallet, FREE!

VM Operating System: Ubuntu

While not my favorite, Ubuntu is quite stable for my use cases. I will start Migrating my Lab stack over to Debian over the next months. then move production over by 2026.

Docker:

This one is self explainatory, here is an article on why docker rocks: Why Should You Use Docker – 7 Major Reasons! – GeeksforGeeks

To monitor and deploy containers I use Portainer.

Stats and uptime

To monitor the Stats of the Minecraft Servers and proxies I used Promeaus and grafana

to create a public uptime monitor I used Uptime Kuma. My uptime site: mc.pbe.im – 2 week server uptime

Networking: Tailscale

I used tailscale to bridge between the main Main server and the Proxy located in Seattle

Map of servers:

plugins:

I used a multitude of plugins to manage and improve various aspects of the player experience

Setup:

for this example Im going to assume a public IPv4 address available on you local network.

im going to skip over the setup of Grafana and uptime kuma they both have great guides that are easy to find

  • Docker compose
  • Configure velocity proxy
  • Install plugins
  • Oonfigure plugins
  • Foward map with CF tunnels
  • Prerendering chunks(optional)