bundabrg / GeyserReversion

Multiversion Protocol Support for Geyser
MIT License
76 stars 12 forks source link

Remove Geyser Version Dependency #25

Closed bundabrg closed 2 years ago

bundabrg commented 3 years ago

Ideally one should be able to drop GeyserReversion into any version of Geyser and it should just "work". However presently some changes in Geyser will break GeyserReversion as seen in https://github.com/GeyserMC/Geyser/pull/1640 with a simple fix in #24

A fix is:

Hellohi3654 commented 3 years ago

Not sure if this has anything to do with this but i'll put it here anyway https://github.com/Hellohi3654/Geyser/issues/233

Hellohi3654 commented 3 years ago

I believe this is an issue because geyserreversion needs to support bedrock v422

bundabrg commented 3 years ago

This was resolved through reflection but I'll have a look at the link tonight to see what the issue may be.

bundabrg commented 3 years ago

I might leave this open as even today I had to make a breaking change with GeyserCommand changing syntax. I'm not sure how important it is that this supports multiple versions of Geyser but I can see future issues when people are running multiple forks of Geyser where some forks have future features OR when GeyserReversion does not yet support the latest Geyser.

May need to think about how to abstract this out in a module system but since Geyser doesn't use versions we'll need reflection to autodetect when to do what.

jimbt commented 3 years ago

Wouldn't it be easier and more universally useful to write to the protocol version and not to a Geyser commit? Geyser is undergoing rapid development, but the common goal is support for a (or a few) protocol versions. I see the ViaVersion and ProtocolSupport are plugins as well so there must be a benefit to that design, but it really would be nice to have a protocol proxy for Bedrock since many (but not all) clients are updated very quickly and it seems the servers are always playing catch up. Just supporting a few recent protocol version would help with client/server compatibility.

bundabrg commented 2 years ago

Closing this but just a note that I am indeed going to start a new project just dealing with protocol conversion likely as a proxy that sits in front of Geyser (or indeed bedrock itself).