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
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
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.
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.
Huh...
Why is Bukkit hardcoding stuff? That's like programmer 101 habits to avoid.
Well that isn't the only reason, but one of them.
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.
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.
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.
That's what magma/archlight/mohist try to do.
It is harder than you think.
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.
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.
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.
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
Paper is trying to make a hard fork
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
the way minecraft coded is overall shit
true
hopefully hypixel delivers with their new upcoming game
Hmm. For how long has this been going on?
wdym
spongeforge?
No no, I mean Paper trying to hard fork for mod compatibility.
What
No
thats not for mods
lmfao
Did I read that wrong? It's like 4am for me and I'm a 'lil braindead.
Paper won't get mod compatability ever
its to get away from spigot/bukkit
^
Lmfao ok yeah 4am is too late. :KEKW:
Atm it's stuck waiting for spigot and bukkit to update
Blame Kube, I've been studying.
but yeah mods and plugins are hard to get to work together
When a new version comes out
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
How did Sponge do it differently out of curiosity. Unsure of the history there.
its like trying to do 1+$ and get a number
It's not a server software
sponge is actually designed to work with mods
spigot isnt
And it only allows for plugins that use the sponge api to work
so they have to fuck around with a lot of stuff for spigot to work when sponge works becsuse its designed to work
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.
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.
Yes yes but in context I was speaking about spongeforge
^
+ spongevanilla doesn't do mod compatability so not really apply able I this convo tbf
Your statement was that Sponge didn't have a server software
It does :FrogeBIGEYES:
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.
Not didn't have but isn't tbf but whatever
Any hybrid that attempts to join the bukkit and forge APIs is shit.
Without very extensive change, yes.
If someone felt like screwing around enough though? Yeah I see it.
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"
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.
But then the car can't work as a car anymore, right?
You can't eat your cake and have it too
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.
I'm pretty sure quilt is just a "less good" fork of Fabric?
Quilt was made because of some fabric dev drama
¯\_(ツ)_/¯
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.
Phineas and Ferb reference love it
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
80/20 rule
I suppose in the boat metaphor it'd be the fiberglass body being held on by flex tape. :KEKW:
im impressed with what theyve managed so far
but once it breaks it will break a lot of things
The last 20% takes 80% of the work of the entire project
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
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?
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.
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:
also partially the thing its not a problem for most people
LOL I knew I remembered you from somewhere
for most people spigot api isnt just "good enough"
its perfectly fine and suits their needs
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.
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
i knew i remembered the name from somewhere aswell