About
The short version of why this exists and how it's wired up.
Honestly? The website is not the hard part. I've rebuilt this thing like four times and I'm still tweaking spacing at 11pm, which I guess is just who I am now. It all started because I wanted to run Minecraft servers without some big host charging me every month for a box I could already run on hardware that was just sitting around.
How it all works
Most hosts rent racks in a datacenter and mark everything up. I didn't want to do that. So JohnHost runs on the least glamorous setup I could get away with:
- The domain goes through Cloudflare. DNS, proxying, the whole thing — essentially free, fast, and I don't have to babysit it.
- Port forwarding is handled by a proxy I built myself. Instead of messing with every router that a machine sits behind, traffic lands at the proxy, it figures out where it should go, and hands it off. Not glamorous, but it works.
- The actual servers run on laptops and PCs that friends and people have lent me. When someone shares a machine, it becomes a node. It's distributed, it's unglamorous, and it's definitely not a datacenter — but the "fleet" is just hardware people were kind enough to help with.
Why I bother
Because hosting a Minecraft server shouldn't cost money just to play with your friends. That's the whole pitch. I got tired of watching good communities die because nobody wanted to pay ten bucks a month forever. I'd rather run free servers on borrowed machines and eat the long tail of weird problems than charge people for something I can provide for basically nothing.
There's also the part where I actually get to learn by doing. The proxy, the Cloudflare setup, babysitting hardware people trust me with — there's a lot to figure out, and I'm still figuring it out. It's a work in progress, and I've mostly made peace with that.
What I use
In case you're curious about the stack behind the curtain:
- GitHub — hosting this site's files.
- Cloudflare — the domain and DNS.
- Pelican Panel — the game panel.
