Hyperion: Minecraft game engine for custom events

(hyperion.rs)

99 points | by cjcuddy 7 days ago ago

35 comments

  • AgentK20 2 days 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 2 days ago

      You think Minecraft will live for decades still?

      • AgentK20 2 days 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 2 days 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 2 days 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?

      • shakna 2 days 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.

      • typpilol 2 days ago

        I think so.

        Look at world of warcraft.

      • bdhcuidbebe a day ago

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

      • junon 2 days ago

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

        • squigz 2 days 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.

      • Capricorn2481 a day 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.

  • vintermann 2 days ago

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

  • two_handfuls 3 days 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 3 days ago

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

      • naruhodo 3 days ago

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

      • koakuma-chan 3 days ago

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

  • Panzerschrek 2 days 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 2 days 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 2 days 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 2 days ago

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

      • stefs 2 days 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.

  • Tossrock 2 days ago

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

  • nurettin 2 days ago

    I wonder what the memory requirements are.

  • 3 days ago
    [deleted]
  • woffoor 2 days 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 2 days 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 3 days ago

    What is ":green{hola} oi"?

    • Jotalea 2 days 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 3 days ago

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

    • the_duke 3 days 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 3 days ago

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

  • coolfox 2 days ago

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

  • simplyalec 3 days ago

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

    • lostlogin 2 days ago

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

  • Rosaryandra6 2 days ago

    [dead]