Hacker News new | past | comments | ask | show | jobs | submit login

Very cool idea. I'd love to hear more about how the back end works and what types of software you wrote to interact with the Minecraft server.



me to , how did you build it


There's an out-of-date story about how I got started on Indie Hackers: https://www.indiehackers.com/product/minecraft-playdates, this tells a bit of the story, but not much about the tech.

Tech stack: Frontend is a mix of hand-crafted HTML and pages or fragments of components designed in Webflow. (This is my first meaningful webapp, so don't judge!) Using Firebase Auth for authentication, Stripe for billing, Firestore for the database. The frontend talks to a custom API server written in Golang. It's purpose is to essentially orchestrate customized VMs. Each VM runs a Minecraft server mgmt sidecar process (also written in Golang), which orchestrates the MC server itself. Each VM is entirely self contained, the API server pushes config into into VM metadata. The the sidecar listens for changes and applies them. There is some interesting logic there to determine what game settings can be applied without restarting the server and which can't be.

Overall architecture is pretty straightforward, but it's grown organically and it's a mix of crufty bits, along with nicer bits which came later. It currently supports four server types (Java, Bedrock, Spigot, Forge), and I'm in process of adding Paper. Each time I add a server I learn more and figure out a bit better design. Adding Paper is mostly replacing the original Java and Bedrock cruft with better stuff I created while adding Spigot and Forge. Beyond the Sidecar, Most of the magic is in the frontend making it easy for parents to manage invited players, gameplay (including plugins/mods/minigames), and playtimes.

Happy to dive in more detail 1:1 or small group, my contact info is in my profile.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: