Protocol Version property for services #1208
Labels
s: needs triage
Issue waiting for triage
t: feature request
A request of a feature someone wants to see in a future release.
Describe the new feature
A Service property for Paper/Fabric/Minestom services that provides the protocol version of the backend service to be used in various ways. This is way more useful than the current "Version" property that finds almost no use since it isn't required to follow a specific format amongst different service implementations.
Why do you need this feature?
In my case, I implemented a system that makes ViaVersion on the proxy work properly by registering new services in the protocolDetectorService so ViaVersion knows the version of the service without needing to ping the backend service first.
When I was required to implement a property like this myself on the game services, I thought this might be useful for to have this in cloudnet itself.
It can e.g. be implemented for hiding games for users that can't join these services because their client is outdated, for my ViaVersion proxy fix, distributing players with the same version to specific game lobbies (e.g. bedwars queues for 1.8 players and bedwars queues for 1.19 players) and much more. It's essentially the "Version" property - but actually useful.
Alternatives
Implementing this with a custom plugin on every sub-server or trying to parse the "Version" parameter present in the default properties
Other
If that gets implemented in Minestom I highly suggest not just accessing MinecraftServer#PROTOCOL_VERSION directly since this constant will be inlined at compile time and will not represent the currently running protocol version
Issue uniqueness
The text was updated successfully, but these errors were encountered: