Hyperion: Minecraft game engine for custom events

99 pointsposted 5 months ago
by cjcuddy

35 Comments

AgentK20

5 months ago

Definitely interesting to see continued innovation in this space after so many years. At Hypixel Minecraft we forked Spigot (another modded Minecraft platform) back in late 2014 to be able to rip out a bunch of vanilla mechanics that we knew that we wouldn't need for our workloads and optimize the interactions with other pieces of our infrastructure, while still maintaining full compatibility with our existing Java plugins.

Honestly the biggest uphill battle that Hyperion is going to face is rebuilding the decade-plus of existing Java plugins and functionality that have become ubiquitous in the Minecraft ecosystem, like Permissions, Anti-grief, Anticheat, etc which have had decades of man-hours invested into perfecting their functionality. Some of this can likely be ported and knowledge reused, but _someone_ is going to have to actually do the heavy lifting of porting it into a language that has a (relative to Java) higher learning curve.

koakuma-chan

5 months ago

You think Minecraft will live for decades still?

AgentK20

5 months ago

Who knows! Minecraft continually loops through resurgences in popularity every few years. That said, I more meant there's an immense amount of inertia in the existing ecosystem, so even ignoring future years: simply launching a "generic Minecraft server" with all the usual bells-and-whistles to run a community of 20-100 people is a tall order.

chenxi9649

5 months ago

As someone whose 27 now, I'm pretty shocked by the longevity of some of the games that I played growing up.

Games like Minecraft, Supercell, Geometry dash just to list a few, are arguably STRONGER today than they were 10/15 years ago. Even snapchat, I thought was gonna die after 2020 but my nephews today are using it more than ever.

Whereas, for my cousins who are around 40 now, basically all of the games that they played growing up are dead.

So. I can kinda see minecraft being around for another decade to say the least. It doesn't even feel that crazy for it to be around for another century... or even the rest of humanity? (like bicycles?)

vintermann

5 months ago

> Whereas, for my cousins who are around 40 now, basically all of the games that they played growing up are dead.

Brood war is a big game from that generation which is still played. Isn't counterstrike also from roughly that generation's youth?

Capricorn2481

5 months ago

My nieces and nephews are 6-10 and they are all obsessed with Minecraft. I don't see any signs of it stopping. But I could see Microsoft making Minecraft 2 and it going terribly.

typpilol

5 months ago

I think so.

Look at world of warcraft.

shakna

5 months ago

The seven year olds at my daughter's school are just discovering it.

Which means that in two decades, it'll be nostalgia for them.

It'll last at least that long.

junon

5 months ago

Definitely. At some point it'll be "retro gaming" but there will still be people playing it. It's already a classic.

squigz

5 months ago

I don't know about that. With some graphics mods, Minecraft can look like an entirely new game. Heck, I think even vanilla Minecraft is getting basic shaders.

bdhcuidbebe

5 months ago

Its the lego for a generation, it will probably outlive Nintendo by the looks of where they are heading..

vintermann

5 months ago

It'll be a challenge to assemble 10000 bed wars players who won't cheat.

two_handfuls

5 months ago

"10,000 players in one world at 20 TPS"

I don't know what a TPS is. Triangle per second? Or is that a reference to "Office Space"?

patagurbon

5 months ago

It’s likely ticks per second. Fairly common terminology in video game servers

naruhodo

5 months ago

Yes. One Minecraft game tick is 50 milliseconds. 20tps means "no physics lag".

koakuma-chan

5 months ago

Yeah, it's ticks per second. In Minecraft, 20 is the perfect TPS.

Tossrock

5 months ago

I feel like Disney's rendering engine already took this name.

Panzerschrek

5 months ago

As I understand having 10000 players in some area isn't a big problem. Processing players isn't that hard. It seems for me to be much harder to simulate the world around players - flowing water, growing trees/crops, redstone circuits, pistons, mobs. In the worst case players may be located very far from each other, so it's needed to simulate up 10000 world regions. Can this server really do this? Or not really? Or maybe it has very limited world size.

imtringued

5 months ago

10000 players in one area is pretty hard on its own. The scaling is quadratic since each player receives the updates of all players.

Simulation is irrelevant in terms of performance because it is a fixed cost that is shared across all players.

stefs

5 months ago

I don't think so, as the unit of simulation are chunks, and only chunks near players are stimulated - at least in classic Minecraft. I.e. if all players are in one chunk only one plus the surrounding ones are stimulated, but if all players are spread far apart, you have the same simulation workload for each player.

Or is this different in Hyperion?

worldsavior

5 months ago

The intersection between these 10000 world regions is very large, so it's not really simulating 10000 world regions.

stefs

5 months ago

> "In the worst case" ...

in the average case it should only be a fraction of that, because otherwise why multiplayer. they also mention "events" a lot, so i guess this isn't targeted towards normal run-of-the-mill minecraft play but special events like those society simulation experiments you can see on youtube, which are usually quite condensed.

still, the question is, how much faster is rust at world simulation? they mention vertical scaling, so i guess it's somewhat limited.

user

5 months ago

[deleted]

nurettin

5 months ago

I wonder what the memory requirements are.

woffoor

5 months ago

How does it handle anticheat? To host a 10000 players pvp, they definitely need some good anticheat. For vanillish servers we have lots of anticheat plugins to choose from, but none of these would work with a Minecraft server written in rust.

nottorp

5 months ago

So is this 100% Java Minecraft compatible?

Or it has reduced functionality to achieve this goal?

Does it have access control and anti griefing, without which you can't really run a non pvp minecraft server?

jasonjmcghee

5 months ago

What is ":green{hola} oi"?

Jotalea

5 months ago

seems like a string showing a translation feature (?), based off of the fact that "hola" in Spanish and "oi" in Portuguese mean "hi". though it seems kind of unrelated to the main topic, and isn't mentioned anywhere. maybe it's just a leftover of some kind.

mikejulietbravo

5 months ago

does the plugin architecture come with added overhead (assuming you add a lot of elements)?

the_duke

5 months ago

If the plugins are in Rust and tie into Bevy, then there probably is minimal overhead. That's one of the advantages of ECS. It's designed for efficiently adding additional layers of functionality.

b_e_n_t_o_n

5 months ago

It depends on if the ECS needs to sync its data with external (non-ecs) systems.

coolfox

5 months ago

would love to use something like this, what issues do you foresee trying to transition from something like forge or fabric?

simplyalec

5 months ago

of all the minecraft server forks Hyperion definitely seems to have the clearest goal

lostlogin

5 months ago

I like the name. I can’t see if it’s from the Greeks or from the Greeks via Dan Simmons.