-
-
Notifications
You must be signed in to change notification settings - Fork 638
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
1.20.2 Support #1088
1.20.2 Support #1088
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice overall. However it could be nice if you reduce the reformatting of this PR to minify the diff.
proxy/src/main/java/com/velocitypowered/proxy/connection/MinecraftSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/MinecraftSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java
Outdated
Show resolved
Hide resolved
api/src/main/java/com/velocitypowered/api/proxy/LoginPhaseConnection.java
Outdated
Show resolved
Hide resolved
.../src/main/java/com/velocitypowered/proxy/connection/backend/BackendConfigSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientConfigSessionHandler.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientConfigSessionHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/registry/ClientConfigData.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/registry/ClientConfigData.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/registry/ClientConfigData.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/connection/registry/DataTag.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ClientSettings.java
Outdated
Show resolved
Hide resolved
There are a lot of unnecessary code style changes |
Some of the reformats are from the IDE attempting to change it to what it believes to be right & not manual intervention |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please reformat these changes to use the Velocity code style (~Google code style). Left a few other comments.
proxy/src/main/java/com/velocitypowered/proxy/connection/MinecraftConnection.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/ProtocolUtils.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/ProtocolUtils.java
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/PlayPacketQueueHandler.java
Outdated
Show resolved
Hide resolved
proxy/src/main/java/com/velocitypowered/proxy/util/collect/CappedSet.java
Outdated
Show resolved
Hide resolved
Is there a pre-compiled binary available for testing? |
You should compile it yourself since there is no official build |
I’m not sure how to reproduce it but for some reason only happens randomly if you disconnect and try to reconnect, if you get this error connecting you will keep getting this error until you restart the Minecraft client. Hope this information helps. |
https://mclo.gs/EI1AL4a Beginning it works. After a timeout, the error occurs. |
Looks like you have a plugin on the proxy attempting to send the player a message before they've finished the configuration stage |
It worked yes, after last commit from you. |
Are you planning on fixing this? This error occurs when using the server send or join queue plugin. |
Any progress ? |
Just need to be patient, if you really need it now and can't live without it, follow the readme on how to compile it. |
Come on Velocity you can do this |
Please stop spamming this issue if you have nothing to improve it or feedback from your testing. If you just want updates on the progress then follow the issue/specify what notifications you want on the right, if you want to show your support then react to the posts, and if you want to test the 1.20.2 integration then build the PR (seeing as it uses gradle's wrapper it should be extremely easy to build it) On an actual relevant note: Has the resource pack API issue been addressed/discussed @Paul19988? (See #1088 (comment)) Because I don't see anything about that in the PR. (But it's extremely hard to review with all the formatting changes :S) |
If you run ViaVersion on the backend servers make sure you upgrade it to 4.8.1 before use if you attempt to use this branch. Stuff working:
Possible issues:
There is no error spam and is quite usable in production. |
I implemented support for the backend server switching back to config state. I also implemented a fix for the issue with the resource pack being cleared on server switch. The previously applied resource pack just gets reapplied after the server switch is done. I created a PR for my changes here: Paul19988#2 |
This comment was marked as spam.
This comment was marked as spam.
From this PR PaperMC#1088
Here is a bug report about this ressource pack issue: https://bugs.mojang.com/browse/MC-265673 |
This PR Paul19988#3 shall recover all only had formatting codes |
Just to make sure it doesn't get lost: Added a comment regarding resource pack sending after switch here |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the hard work, everyone!
* Add version information for 1.20.1 (PaperMC#1021) * bump adventure to 4.14.0 (PaperMC#1034) * check if a plugin has a executor service (PaperMC#1038) * check if a plugin has an executor service * checkstyle * feat: add TabList#addEntries (PaperMC#987) * [ci skip] Replaced weired i with i in javadocs (PaperMC#1057) In this little patch I replaced an i which caused my build process to crash with an i * Do not track plugin channels registered per-player on the proxy (PaperMC#591) We don't need to track this information since Velocity uses the JoinGame packet, which is about as good of a server rejoin mechanism we're likely to get in vanilla Minecraft. * fix PaperMC#1062 * 1.20.2 Support (PaperMC#1088) Co-authored-by: RednedEpic <[email protected]> Co-authored-by: Gero <[email protected]> * Actually send plugin message registration to backend servers I don't see where this was ever done, and don't see how plugin messaging could of ever worked, at least within the confines of CB and co, given the fact that we never seemed to be sending this to the backend? * appease checkstyle, move back to older fix placement * Change packet decode logging prompt * Catch throwables when loading plugins (PaperMC#1098) * Several improvements and fixes for 1.20.2 (PaperMC#1097) * Send LoginAcknowledged immediately * Resend player list header/footer after backend server switched to config state * Fix clearHeaderAndFooter not clearing fields in ConnectedPlayer * Clear boss bars, header/footer, tab list when switching client to config state * Send client settings in config state * Fix unsigned commands detected as signed (PaperMC#1082) * fix: commands flagged as signed without signed arguments * feat: improve error message for illegal protocol state. * acknowledge seen messages to server when running proxy commands (PaperMC#1100) * Implement ComponentLogger (PaperMC#1022) * Log the protocol phase in case of trying to obtain a packet id not existing in the phase (PaperMC#1107) * Bump netty to 4.1.100.Final (PaperMC#1067) --------- Co-authored-by: Pantera (Mad_Daniel) <[email protected]> Co-authored-by: chris <[email protected]> Co-authored-by: Aaron <[email protected]> Co-authored-by: powercas_gamer <[email protected]> Co-authored-by: Groldi <[email protected]> Co-authored-by: Andrew Steinborn <[email protected]> Co-authored-by: Emmanuel Lampe <[email protected]> Co-authored-by: Paul <[email protected]> Co-authored-by: RednedEpic <[email protected]> Co-authored-by: Gero <[email protected]> Co-authored-by: Shane Freeder <[email protected]> Co-authored-by: Joo200 <[email protected]> Co-authored-by: Adrian <[email protected]>
* 1.20.2 Support (PaperMC#1088) Co-authored-by: RednedEpic <[email protected]> Co-authored-by: Gero <[email protected]> * Actually send plugin message registration to backend servers I don't see where this was ever done, and don't see how plugin messaging could of ever worked, at least within the confines of CB and co, given the fact that we never seemed to be sending this to the backend? * appease checkstyle, move back to older fix placement * Change packet decode logging prompt * Catch throwables when loading plugins (PaperMC#1098) * Several improvements and fixes for 1.20.2 (PaperMC#1097) * Send LoginAcknowledged immediately * Resend player list header/footer after backend server switched to config state * Fix clearHeaderAndFooter not clearing fields in ConnectedPlayer * Clear boss bars, header/footer, tab list when switching client to config state * Send client settings in config state * Fix unsigned commands detected as signed (PaperMC#1082) * fix: commands flagged as signed without signed arguments * feat: improve error message for illegal protocol state. * acknowledge seen messages to server when running proxy commands (PaperMC#1100) * Implement ComponentLogger (PaperMC#1022) * Log the protocol phase in case of trying to obtain a packet id not existing in the phase (PaperMC#1107) * Bump netty to 4.1.100.Final (PaperMC#1067) --------- Co-authored-by: Paul <[email protected]> Co-authored-by: RednedEpic <[email protected]> Co-authored-by: Gero <[email protected]> Co-authored-by: Shane Freeder <[email protected]> Co-authored-by: Joo200 <[email protected]> Co-authored-by: Adrian <[email protected]> Co-authored-by: Pantera (Mad_Daniel) <[email protected]>
Adds support for 1.20.2 clients.
Only caveat at the moment is events that run before the player has reached the play state may need to be queued in future.