Live data from Hacker News

Folia – Multithreading Coming to your Minecraft server

paper-chan.moe

11–20 of 72 posts

Re: Folia – Multithreading Coming to your Minecraft server

#11
This is, for those who know a little bit about Minecraft hosting, extremely impressive stuff. Stuff I never thought I would see for years. Minecraft has been notoriously single-threaded and breaking it apart into regions, even though discussed for years, has always been a crapshoot whenever attempted - so getting it even close to finally possible in a reasonable and self-adjusting way is astounding.

Re: Folia – Multithreading Coming to your Minecraft server

#12

> provide a no-compromise solution Except for fabric/forge compatibility. :( Tick threading with server mods is just a mad dream anyway. Even dimensions threading is apparently impractical.

Paper and Spigot, the parent projects, have never been compatible with Forge and Fabric, and are more popular for servers.

Of course, though there have been some mad projects to try an merge the server implementations with fabric/forge.

Paper + Fabric is currently dead though, so not much hope there.

Re: Folia – Multithreading Coming to your Minecraft server

#13
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, which is a fork of Paper, which is a fork of Spigot, which I believe was originally a fork of Bukkit" We're not old, the forks just fly by so very fast

Yeah, but Bukkit is ancient - so ancient, upstreaming is basically impossible and even discouraged because it would break compatibility with the few people who still need it. It's really only maintained as a reference architecture by Spigot because it helps with initial Minecraft release reverse-engineering.

Spigot, meanwhile, is run by one developer who only posts his code within a few weeks of a Minecraft launch after working on it completely privately. Paper has examined taking over that role, but has decided against it for the time being until they are ready to fully take on that job because... it's not an easy job and he's basically mastered it (Paper would be much slower if they were doing it themselves for the first few releases). Also he runs the plugin repository and Paper isn't ready to launch their own yet. Also, Spigot and Bukkit have this ancient API that not many plugins use, but a few do... and it'd be nice to not break them.

So Paper is the first remotely reasonable downstream with a big open-source community for it, which then makes it more like... one fork. And even though Paper is technically reliant on Spigot (and Spigot on Bukkit), Paper can really cut them off whenever convenient. And there's a good reason to make Folia a fork - the way it works under the hood is very different than a traditional Minecraft server, and it basically breaks all the Spigot and Paper and Bukkit plugin compatibility.

Re: Folia – Multithreading Coming to your Minecraft server

#15

I wonder how it handles the seams between the regions. How does a player interact with another player on the other side of this border.

If I read the documentation, it appears to be that it will expand the region to accommodate both players or merge the regions, so that you will never have a situation where two players from different regions are visible to each other.

Re: Folia – Multithreading Coming to your Minecraft server

#16
post #5

Earlier quoted context omitted.

We kinda do... in a limited fashion... for Bedrock. Java MC's development had always been extremely conservative, and it always will be under Mojang. Its both saved it from going downhill and weighed it down.

It's a shame Bedrock modding (behaviour packs?) is so limited. The performance is so much better than the Java version. It's also a shame it has Xbox shit and microtransactions shoved in.

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.

Re: Folia – Multithreading Coming to your Minecraft server

#17
post #5

Earlier quoted context omitted.

It's a shame Bedrock modding (behaviour packs?) is so limited. The performance is so much better than the Java version. It's also a shame it has Xbox shit and microtransactions shoved in.

Well the Java version is so moddable because its Java, thats almost impossible for Bedrock unless it goes open source or moves to unobfuscated C# (which is impossible because of the MTX of course).

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?

Re: Folia – Multithreading Coming to your Minecraft server

#18
post #5

Earlier quoted context omitted.

It's a shame Bedrock modding (behaviour packs?) is so limited. The performance is so much better than the Java version. It's also a shame it has Xbox shit and microtransactions shoved in.

Well the Java version is so moddable because its Java, thats almost impossible for Bedrock unless it goes open source or moves to unobfuscated C# (which is impossible because of the MTX of course).

Does modding need to mean actually modifying game files? When we say modding, we generally mean adding new blocks, items, and behaviours no? Surely this could be done with a public API? It might not give you quite as much freedom as existing mods but you could get most of the way there.

Re: Folia – Multithreading Coming to your Minecraft server

#19
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…

There's a lot of drama there.

Basically, there was Bukkit. In 2011, Mojang hired a bunch of Bukkit's developers, but didn't tell anyone that they also legally took control of the Bukkit project. This was because Mojang didn't really want Bukkit to be their official API as much as being a temporary API for the time being (and also didn't want to have anyone assume they would be responsible for it), but from that point, Bukkit was legally their project and the community didn't know.

Then, Mojang changed their EULA to ban Pay-to-win servers. This caused a lot of controversy, and one of the Bukkit developers left. Mojang then revealed that, yeah, they owned Bukkit for years, so they didn't need him. Another developer, feeling betrayed, who had contributed to Bukkit, submitted a DMCA takedown against his own code bringing Bukkit down with it, angry at having done "free labor." (You might say, "but the GPL!," but being tricked into a contract under false pretenses can legally invalidate contracts, making the GPL-license for his contributions potentially invalid.) Mojang panicked at the takedown and a ton of developers abandoned ship, working on Bukkit's community fork Spigot. Mojang then 2.5 months later brought Bukkit back and that time really just threw it into the community's hands.

The result of the aftermath was everyone had restructured around Spigot, based on Bukkit; and Mojang wasn't going to deal with APIs and open-source stuff for a long while afterwards. (They did later try purchasing parts of OptiFine, but the developer wanted compatibility to be all-or-nothing which Mojang wouldn't accept.)

https://www.reddit.com/r/Minecraft/comments/6g1tqn/psa_no_bu...

https://blog.jwf.io/2020/04/open-source-minecraft-bukkit-gpl...

https://www.reddit.com/r/Minecraft/comments/2fk5nn/my_respon...

Re: Folia – Multithreading Coming to your Minecraft server

#20
post #5

Earlier quoted context omitted.

It's a shame Bedrock modding (behaviour packs?) is so limited. The performance is so much better than the Java version. It's also a shame it has Xbox shit and microtransactions shoved in.

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?
Post reply on HN