Live data from Hacker News

Folia – Multithreading Coming to your Minecraft server

paper-chan.moe

61–70 of 72 posts

Re: Folia – Multithreading Coming to your Minecraft server

#61

Earlier quoted context omitted.

My hope is this allows expanding the player count on servers like 2b2t. The normal play style here is small groups of players spread out massively over the map. It would be incredible if you could effectively have each user on their own thread and mini server with it all just seamlessly working. Would be outstanding to see a server with something like 4000 players online all on the same map.

My mind went to 2b2t as well. Unfortunately players still tend to congregate somewhat around spawn. Perhaps Folia lets them raise the server cap to a degree, but it appears here that you still can’t have more than a couple hundred players in the same area. Allowing more than that limit on the server invites a mess in the event enough of those players end up in the same place for whatever reason.

I wonder if the result would be that it would just lag out for spawn but players outside the area would enjoy a full performance game. That seems like an acceptable penalty.

Re: Folia – Multithreading Coming to your Minecraft server

#62
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

Folia is a complete re-write of Minecraft's core game loop to support "true multithreading and regionalized ticking" ("ticking" being the term for a single turn of Minecraft's core game event loop). Even the most ambitious official modding API in the world would never ever contemplate supporting something as thorough and involved as this. Minecraft does in fact have an official plugin API, known as data packs—they're…

Oh my god, bendy pistons are ridiculous. Thanks for that.

Re: Folia – Multithreading Coming to your Minecraft server

#63
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

I remember, back before Mojang was acquired by Microsoft the devs mentioned working on a modding API, and how it would allow for all kinds of things. I have a feeling such plans were killed off during the acquisition, as it has never been mentioned since then. Even now it would be simple for the devs to allow players to add new blocks and items via server sent resource packs without needed a modded client, and yet fo…

This exists, it’s how the much more popular Bedrock edition’s addons work.

Re: Folia – Multithreading Coming to your Minecraft server

#64
post #3

The modding/custom server situation with Minecraft is so exhausting. I can't believe after all these years there is still no official modding or plugin API. So now we have Folia, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit. Nice. I guess people don't want to upstream patches for some reason.

Mojang releases the deobfuscation mappings for each version nowadays.

Re: Folia – Multithreading Coming to your Minecraft server

#65

Earlier quoted context omitted.

It didn't die, it evolved. Mojang began taking cues from the modding communities, improving the internal APIs, making the overall codebase more generalized and robust, moving model data to declarative JSON, adding registry systems instead of hard coding, introducing additional resources namespaces by default, resource packs, data packs, simpler creation of custom blocks, biomes, and most recently opening up Mojang's…

As an addendum, other games get away with a "designed" modding API because the alternative is too difficult, as most games are built in C/C++ which is nowhere near as malleable and discoverable as the Java runtime. It's also why mods for Bedrock (the C++ implementation of Minecraft) is barely a thing.

Isn't it also that Bedrock is typically a Windows Store App, which are very very locked down?

Re: Folia – Multithreading Coming to your Minecraft server

#66
post #50

Earlier quoted context omitted.

So worst case is you're essentially back to single threaded. With a slight overhead of tracking connected regions. I guess that makes sense. I wonder what this looks like on practice, what kinds of play styles will see the biggest boost from this. I also wonder how this plays with things like hyper long range TNT/Ender pearl cannons. Entities are their own pile of worms, but distant regions can suddenly influence eac…

My hope is this allows expanding the player count on servers like 2b2t. The normal play style here is small groups of players spread out massively over the map. It would be incredible if you could effectively have each user on their own thread and mini server with it all just seamlessly working. Would be outstanding to see a server with something like 4000 players online all on the same map.

[deleted]

Re: Folia – Multithreading Coming to your Minecraft server

#67

I have thought about this a lot already and basically came to exact same conclusion with the "bubble" system. But don't the bubbles have to tick at the same time to be 100% vanilla? They still compute their ticks independently but only "roll over" together. Which would still increase performance extremely, don't get me wrong. But will not stop lag machines, since global mspt would be the min of all bubble mspt's. Alt…

Stuff is already used to ticking at a different pace because only parts are loading in the world at a time. Lag machines don't work as it will only lag your region, not all regions have to tick at the same pace.

Regions would need some level of synchronization to allow the merging / splitting algorithm to work, I think is GP's point.

Re: Folia – Multithreading Coming to your Minecraft server

#68
That's nice... when you like to use the Spigot API (which, of course, is used by the majority of servers)

Something like this for Fabric would be great though. Server-side modding with Fabric offers a lot of opportunities you can't do with the Spigot API.

In fact there have been multiple mods that tried to implement this for Fabric or Forge. It's keeping everything in sync with Mojang's codebase that's the hard part.

Right now I just use DimensionalThreading. Putting different dimensions on different threads is quite easy to do.

Re: Folia – Multithreading Coming to your Minecraft server

#69
post #20

Earlier quoted context omitted.

Also Java performance doesn't have to be so horrendous, that is Mojang'a fault. They could iron it out with a tiny fraction of their sales. That being said, the low hanging mod fruit they could incorporate is often poisoned by GPL or some other weird license.

Why isn't there a mod to iron out the performance if its so trivial?

See https://github.com/Fabulously-Optimized/fabulously-optimized...

Re: Folia – Multithreading Coming to your Minecraft server

#70
post #17

Earlier quoted context omitted.

Bedrock has IAPs now? I mean it was useless anyway for running a private server, and only runs on Windows, and automation is limited because they crippled the world update distance to have the omg raytracing! or whatever. And now it has IAPs too?

Bedrock has had IAPs for many years. It's fine for a private server and they offer Windows and Linux versions of it (client side it supports pretty much every platform except Mac/Linux, including oddities like ChromeOS). Just don't go running it expecting to set up what you would on a Java server - it's two different environments. World update distance default is lower in Realms but can be configured on a private ser…

Sorry I just can't figure this out, what is an IAP?
Post reply on HN