People always say that hybrid solutions are bad, but why?

People always say it, but never expand on it in depth. Some hybrid solutions looks at Cardboard are super bad, but I'm seeing people saying it's fundamentally flawed and broken to even consider. Every part of my being tells me that's BS people say to avoid putting in the work or some other foolish reason, but surely compatibility is possible if not a bunch more effort than anyone wants to go to. So... why? Like specifically what is it about Forge/Fabric and Bukkit/Spigot/etc that makes this such a challenge? Spongeforge was excellent back when I used to play 1.12.2 and I very, very rarely had problems with it, so it's clearly doable. So why do people say it's fundamentally flawed? Is Minecraft itself not fundamentally flawed to the point where calling hybrids flawed is an irrelevant statement? I gotta be real, I don't quite get why there's so much stigma.
72 Replies
Admincraft Meta
Thanks for asking your question!
Make sure to provide as much helpful information as possible such as logs/what you tried and what your exact issue is
Make sure to mark solved when issue is solved!!!
/close !close !solved !answered
Requested by aeonremnant#0
Discount Milk
Discount Milk2y ago
SpongeForge is different from tradition hybrid solutions. It is a combination of Forge and Sponge, not bukkit and anything else. The bukkit API is not compatible with the Forge or Fabric APIs on a fundamental level. The bukkit API, for example, has all of the vanilla blocks "hard coded" into it. Forge and Fabric are able to add other blocks into the game that the bukkit API wouldn't have any idea about.
ProGamingDk
ProGamingDk2y ago
Should you use a hybrid Minecraft server?
When running a Minecraft server, having to choose between Forge or Fabric mods, or Bukkit plugin can be a difficult task. Hybrid servers can sound promising, but they do have some downsides that are important to be aware of.
AeonRemnant
AeonRemnantOP2y ago
Huh... Why is Bukkit hardcoding stuff? That's like programmer 101 habits to avoid.
Discount Milk
Discount Milk2y ago
Well that isn't the only reason, but one of them.
AeonRemnant
AeonRemnantOP2y ago
Right yeah that's what I'm seeing now. I suppose the bigger question is why is Bukkit supported anymore? How has Sponge not just killed it? Like with the sheer community support that Bukkit has I find myself amazed we're still using something that requires hardcoding. I suppose it's just exposure to scaling systems, but generally speaking you avoid hardcoding at most costs.
Discount Milk
Discount Milk2y ago
Well, nobody uses Bukkit itself anymore, it is just the base of spigot. Which was forked to paper. Sponge itself doesn't have the userbase or developer time to compete with Paper.
AeonRemnant
AeonRemnantOP2y ago
Of course. It's just... this has been a noteworthy problem for 12 major Minecraft versions and nobody in the stack has tried pushing the current dominant platform into being better made? I feel like I'm missing some way deeper fundamental issue. It can't just be hardcoding holding all of this back, otherwise you'd have some rando come along to rewrite most of it.
Discount Milk
Discount Milk2y ago
That's what magma/archlight/mohist try to do. It is harder than you think.
AeonRemnant
AeonRemnantOP2y ago
Naturally, but a different project is a different project. I'm more talking on the primary Paper team, they have some super skilled programmers that have very obviously seen this as an issue that people have been attempting to solve for years, yet the only real answer anyone gets is 'lmao no do it yourself'. Do you know where that originates? I mean in like what code difficulty. Because again if all it needed was a rewrite then some rando would just come along and do it, there's some cracked out programmers after all.
Discount Milk
Discount Milk2y ago
Because there's more than "just a rewrite". You'd be fundamentally breaking the API that EVERY plugin uses. Spigot and Bukkit move too slowly for wide spread API changes like that.
AeonRemnant
AeonRemnantOP2y ago
Would a solution there not to be rewrite the API to not require hardcoding but otherwise change nothing, then introduce a mod compatible API to run alongside it until the dev base is mostly on the new one before killing support for the old? Big sweeping changes like this often need generations to take hold, or in this case Minecraft versions. Plus legacy support and all that.
Cooleg
Cooleg2y ago
they are trying that but again its still not easy they would still have to make sure mods work while adding a bunch of systems for plugins to work its a lot to do but i know either spigot or paper i forgot which maybe both but they are trying to retire all the hardcoded systems spongeforge is different because at least sponge was able to be designed to work well with mods
ProGamingDk
ProGamingDk2y ago
Paper is trying to make a hard fork
Cooleg
Cooleg2y ago
it was one of the priorities of the actual creators but yeah its not just hardcoding its just not easy to make plugins work together with mods without one breaking the other
Zaid
Zaid2y ago
the way minecraft coded is overall shit
Cooleg
Cooleg2y ago
true
Zaid
Zaid2y ago
hopefully hypixel delivers with their new upcoming game
AeonRemnant
AeonRemnantOP2y ago
Hmm. For how long has this been going on?
Cooleg
Cooleg2y ago
wdym spongeforge?
AeonRemnant
AeonRemnantOP2y ago
No no, I mean Paper trying to hard fork for mod compatibility.
ProGamingDk
ProGamingDk2y ago
What No
Cooleg
Cooleg2y ago
thats not for mods lmfao
AeonRemnant
AeonRemnantOP2y ago
Did I read that wrong? It's like 4am for me and I'm a 'lil braindead.
ProGamingDk
ProGamingDk2y ago
Paper won't get mod compatability ever
Cooleg
Cooleg2y ago
its to get away from spigot/bukkit
ProGamingDk
ProGamingDk2y ago
^
AeonRemnant
AeonRemnantOP2y ago
Lmfao ok yeah 4am is too late. :KEKW:
ProGamingDk
ProGamingDk2y ago
Atm it's stuck waiting for spigot and bukkit to update
AeonRemnant
AeonRemnantOP2y ago
Blame Kube, I've been studying.
Cooleg
Cooleg2y ago
but yeah mods and plugins are hard to get to work together
ProGamingDk
ProGamingDk2y ago
When a new version comes out
Cooleg
Cooleg2y ago
since mods could very easily interfere with the plugins and plugins could have unintended behaviour that could confuse mods and neither systems were made to be interoperable
AeonRemnant
AeonRemnantOP2y ago
How did Sponge do it differently out of curiosity. Unsure of the history there.
Cooleg
Cooleg2y ago
its like trying to do 1+$ and get a number
ProGamingDk
ProGamingDk2y ago
It's not a server software
Cooleg
Cooleg2y ago
sponge is actually designed to work with mods spigot isnt
ProGamingDk
ProGamingDk2y ago
And it only allows for plugins that use the sponge api to work
Cooleg
Cooleg2y ago
so they have to fuck around with a lot of stuff for spigot to work when sponge works becsuse its designed to work
AeonRemnant
AeonRemnantOP2y ago
Hmm. So what I'm getting from this research adventure is everyone saying hybrids is fundamentally bad is just talking shit. What's actually true is specifically the current dominant plugin system being forced into a hybrid requires a shitload of work.
Discount Milk
Discount Milk2y ago
SpongeVanilla would like to have a word with you. https://docs.spongepowered.org/stable/en/server/getting-started/implementations/spongevanilla.html No, people saying that current implementations of hybrid servers are fundamentally bad are not full of shit. Just because you can waterproof a prius and throw it in a lake doesn't mean it would make a good boat.
ProGamingDk
ProGamingDk2y ago
Yes yes but in context I was speaking about spongeforge
AeonRemnant
AeonRemnantOP2y ago
^
ProGamingDk
ProGamingDk2y ago
+ spongevanilla doesn't do mod compatability so not really apply able I this convo tbf
Discount Milk
Discount Milk2y ago
Your statement was that Sponge didn't have a server software It does :FrogeBIGEYES:
AeonRemnant
AeonRemnantOP2y ago
Like the context is that the current dominant implementation as hybrid is fundamentally bad without extensive change, however something purpose built like Sponge can do both. So the people blanket stating any hybrid bad are just full of shit.
ProGamingDk
ProGamingDk2y ago
Not didn't have but isn't tbf but whatever
Discount Milk
Discount Milk2y ago
Any hybrid that attempts to join the bukkit and forge APIs is shit.
AeonRemnant
AeonRemnantOP2y ago
Without very extensive change, yes. If someone felt like screwing around enough though? Yeah I see it.
Discount Milk
Discount Milk2y ago
Sure, and you can waterproof the bottom of a car and throw a propeller on the back, but it doesn't make it a boat. Nor does it mean you "should"
AeonRemnant
AeonRemnantOP2y ago
Mhmm, hence the changes. You wouldn't want to throw a car in a lake to pretend it's a boat, but should one replace the bottom with a fiberglass boat body? Eh it's jank but it'll work well enough. Never better than a dedicated purpose built boat, but I'd hardly call it bad if it goes 95% the way.
Discount Milk
Discount Milk2y ago
But then the car can't work as a car anymore, right? You can't eat your cake and have it too
AeonRemnant
AeonRemnantOP2y ago
And when the landscape is an ocean then I don't want it to anyway. :LUL: I suppose that's the thing. A massive amount of use in MC is mods. Functionally when I make a server I want mods more than I want vanilla, plugins can only go so far in giving me any experience that isn't boring af vanilla. However the server utilities are just better with plugins. I mean tbf if Quilt ever gets its shit together that has a good chance of just being better than hybrid. Especially if proper utilities get written for it.
Discount Milk
Discount Milk2y ago
I'm pretty sure quilt is just a "less good" fork of Fabric?
ProGamingDk
ProGamingDk2y ago
Quilt was made because of some fabric dev drama ¯\_(ツ)_/¯
AeonRemnant
AeonRemnantOP2y ago
It's got some differences, yeah. Different purposes overall. But yes indeed, drama causes. If I had a nickle for every time dev drama caused a major modloader to fork in the last year I'd have 2 nickles, which isn't much but it's weird that it's happened twice.
ProGamingDk
ProGamingDk2y ago
Phineas and Ferb reference love it
Cooleg
Cooleg2y ago
well honestly the current ones go like 90% of the way anyways imo the problem is that 10% breaks everything that 10% breaks a ton
Discount Milk
Discount Milk2y ago
80/20 rule
AeonRemnant
AeonRemnantOP2y ago
I suppose in the boat metaphor it'd be the fiberglass body being held on by flex tape. :KEKW:
Cooleg
Cooleg2y ago
im impressed with what theyve managed so far but once it breaks it will break a lot of things
Discount Milk
Discount Milk2y ago
The last 20% takes 80% of the work of the entire project
Cooleg
Cooleg2y ago
most of the time the plugins end up just straight up dysfunctional and ive seen mods break because plugins somdtimes do some things differently but yeah this
AeonRemnant
AeonRemnantOP2y ago
Honestly the weird bit is that this is even still a problem. It's been an issue since like 1.7.10. If this was something that's been a serious problem for like 2 or 3 years yeah sure, but 1.17.10 was a long time ago. Fml it's been 9 years since 1.17.10... wtf happened to time?
Discount Milk
Discount Milk2y ago
Right, hybrid server softwares have been dick for the last 10 years because it's practically an impossible problem to fix. And in most cases, simply isn't "worth" the time to fix it. Current solutions are like 80% of the way there. That took 10 years. The last 20% of the work, well. Who knows.
AeonRemnant
AeonRemnantOP2y ago
I mean it's because Bukkit preempted shit by around 4 years and the established servers didn't want to switch to something else. Then big servers happened and ig everyone went 'eh good enough' and now we're stuck where we are now. Right, this is why we think forward when trying to build something. :LUL: Can we run Kubernetes from NFS? Sure we can. Should we? :KEKW:
Cooleg
Cooleg2y ago
also partially the thing its not a problem for most people
Discount Milk
Discount Milk2y ago
LOL I knew I remembered you from somewhere
Cooleg
Cooleg2y ago
for most people spigot api isnt just "good enough" its perfectly fine and suits their needs
AeonRemnant
AeonRemnantOP2y ago
Yep that was me. Scaling Fabric servers with Kubernetes guy. :D Yes btw, that's going excellently. From the work my devs are doing atm it'll be the single most potent method of mass scaling MC servers ever made. Kube is kinda ridiculous, ngl.
Cooleg
Cooleg2y ago
oh my god you started talking abt scaling servers and i was like wait a minute is this the guy i remember and it is lmfao
ProGamingDk
ProGamingDk2y ago
i knew i remembered the name from somewhere aswell

Did you find this page helpful?