Hacker News new | ask | show | jobs
by ocelotpotpie 1091 days ago
This is where things start to get a little fuzzy.

Mineplex had the most concurrent players but they weren't on a single individual bare metal server or single server jar instance.

A lot of large "servers" like Mineplex, Hypixel, etc run a proxy which sits in front of a bunch of other servers. The concept of a "server" can have many meanings in Minecraft so it gets fuzzy quickly.

I'm not sure if this 1,000 person test is a record but I'm not aware of any other test running so many concurrent players on a single dedicated box with a single instance of Minecraft running. Folia takes advantage of more CPU threads so everyone is in sitting in the same server instance.

Hypixel beat out Mineplex later on, BTW.

1 comments

Ha, nice, thanks. I've never looked into this deeper than accepting the fact that it's doable. Now, if only I had the spare time to look into how did they shard the servers...
We tend to call those "networks", when they have a bunch of different gametypes and servers interconnected. At a smaller scale of a few hundred players it's pretty easily handled by off the shelf software like Velocity for the proxy and a few server instances running Paper.

You generally want good performing (not VPS or "cloud" instances) but you can run a bunch of different worlds and have people with cross server talk, the ability to warp between worlds, etc. Most of the larger networks and nearly all of the smaller networks use a variation of this kind of model.

ocelotpotpie's sibling reply to this has good explanations for the terminology. If you're curious to actually see the software:

* https://www.spigotmc.org/wiki/bungeecord/ - Older, less-performant but still used by some teams

* https://papermc.io/software/velocity - Newer, more performant, maintained by the team that makes Paper, one of the leading performance MC server implementations.

For context of scale btw, when Hypixel had 200k+ players online at peak we had something like 2,000+ 1U E3-1271v3's each with 32GB RAM, all colo'd in a single DC in Chicago. Egress is 70-80gbps or so 95th percentile, with most months (at high peak) egressing 10PB/mo+ of real-time, uncacheable data.

I used to play Minecraft as a child years ago, I also got into mod and plugin development as a kid.

I thoroughly enjoyed creating different game modes, similar to Hypixel. Whenever I would play on Hypixel I’d think about how the games had been implemented.

Seeing this thread brings back a lot of nostalgia. Reading through these comments makes me realise that a lot more work went into these servers than I had ever imagined. Naive me thinking it was just a bunch of spigot servers with bungeecord thrown on top.

I’d love to revisit and get back into it all. Alas, I’m stuck working on software nowadays instead.

That is 100 players per server = 12.5 players per hardware thread. The linked article got 31 players per available hardware thread, but was only able to saturate part of the CPU landing at about 70 players per used hardware thread. The TPS also dropped by a factor of 3. If you were running at 50% utilisation and maintained 20 TPS, then I don't see a significant increase in performance. I imagine I'm missing the point ;)