-
-
Couldn't load subscription status.
- Fork 770
Fix MinecraftChannelIdentifier parsing to align with vanilla #1552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix MinecraftChannelIdentifier parsing to align with vanilla #1552
Conversation
e5a1dde to
0101515
Compare
|
Thanks, but, I'm generally somewhat iffy on the nature of allowing purely namespace keys, though, I did forget to potentially add skipping of empty strings to mitigate some forge oddities on server switching |
I think the issue you are referring to is forge always appending an extra null byte to their channel-register packet Ignoring empty channel names in plugin message packets sounds good, but I would still argue that Velocity should try to keep the same logic as vanilla and allow parsing empty strings as |
* preliminary cleanup of plugin message channel handling * Fix spot * Appease checkstyle * Fix tests * Add more options for ping passthrough configuration. (Merge ping-passthrough-dev) * Added 'ALLBUTVERSION' option for ping passthrough. * Trying to get the GitHub build action to run * Added more configuration options for ping passthrough. * Updated default velocity.toml * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Add support for the legacy ping passthrough. --------- Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> * Use an ImmutableList Builder * Appease checkstyle gods * Also validate length before caring to invest time into processing * Fix MinecraftChannelIdentifier parsing to align with vanilla (PaperMC#1552) * Removed legacy ping passthrough & added config migration - Bumped config-version to 2.8 - Updated comments and grammar - Removed legacy ping passthrough in the config * Cleaned up code to match code style --------- Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Loganius <31364192+TheMiningTeamYT@users.noreply.github.com> Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> Co-authored-by: booky <boooky10@gmail.com>
* Added 'ALLBUTVERSION' option for ping passthrough. * Trying to get the GitHub build action to run * Added more configuration options for ping passthrough. * Updated default velocity.toml * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Add support for the legacy ping passthrough. * Added config migration for new values and removed legacy value * preliminary cleanup of plugin message channel handling * Fix spot * Appease checkstyle * Fix tests * Add more options for ping passthrough configuration. (Merge ping-passthrough-dev) * Added 'ALLBUTVERSION' option for ping passthrough. * Trying to get the GitHub build action to run * Added more configuration options for ping passthrough. * Updated default velocity.toml * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Add support for the legacy ping passthrough. --------- Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> * Use an ImmutableList Builder * Appease checkstyle gods * Also validate length before caring to invest time into processing * Fix MinecraftChannelIdentifier parsing to align with vanilla (PaperMC#1552) * Removed legacy ping passthrough & added config migration - Bumped config-version to 2.8 - Updated comments and grammar - Removed legacy ping passthrough in the config * Cleaned up code to match code style --------- Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Loganius <31364192+TheMiningTeamYT@users.noreply.github.com> Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> Co-authored-by: booky <boooky10@gmail.com> * Revert "Merge branch 'dev/3.0.0' into ping-passthrough-dev" This reverts commit 4a32358, reversing changes made to 2c41819. --------- Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> Co-authored-by: ButterDebugger <34288129+ButterDebugger@users.noreply.github.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: booky <boooky10@gmail.com>
* Added 'ALLBUTVERSION' option for ping passthrough. * Trying to get the GitHub build action to run * Added more configuration options for ping passthrough. * Updated default velocity.toml * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Add support for the legacy ping passthrough. * Added config migration for new values and removed legacy value * preliminary cleanup of plugin message channel handling * Fix spot * Appease checkstyle * Fix tests * Add more options for ping passthrough configuration. (Merge ping-passthrough-dev) * Added 'ALLBUTVERSION' option for ping passthrough. * Trying to get the GitHub build action to run * Added more configuration options for ping passthrough. * Updated default velocity.toml * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Update proxy/src/main/java/com/velocitypowered/proxy/connection/util/ServerListPingHandler.java Co-authored-by: powercas_gamer <cas@mizule.dev> * Add support for the legacy ping passthrough. --------- Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> * Use an ImmutableList Builder * Appease checkstyle gods * Also validate length before caring to invest time into processing * Fix MinecraftChannelIdentifier parsing to align with vanilla (PaperMC#1552) * Removed legacy ping passthrough & added config migration - Bumped config-version to 2.8 - Updated comments and grammar - Removed legacy ping passthrough in the config * Cleaned up code to match code style --------- Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Loganius <31364192+TheMiningTeamYT@users.noreply.github.com> Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> Co-authored-by: booky <boooky10@gmail.com> --------- Co-authored-by: TheMiningTeamYT <loanisamazing@outlook.com> Co-authored-by: powercas_gamer <cas@mizule.dev> Co-authored-by: ButterDebugger <34288129+ButterDebugger@users.noreply.github.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: booky <boooky10@gmail.com>
As of 163a85a, Velocity will attempt to parse all custom payload channels registered/unregistered by clients and kick the client if it appears to be "invalid".
Because of this change, some minor differences between vanilla's
ResourceLocationand Velocity'sMinecraftChannelIdentifiercaused players using certain mods to be kicked on login.This PR fixes the parsing of
MinecraftChannelIdentifierto match vanilla.