Fix Chain errors for retail Minecraft 26.50 (protocol 2193) - #51
Closed
TheNINJALLO wants to merge 1 commit into
Closed
TheNINJALLO wants to merge 1 commit into
TheNINJALLO wants to merge 1 commit into
Conversation
|
I can confirm it works in game :) |
Member
|
Thanks for the PR. We have fixed the upstream protocol library and will make a release shortly. :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and fix
Retail Minecraft 26.50 uses protocol 2193, but Endweave only recognized preview protocol 2192. Retail clients therefore reached an older server with an unmodified protocol number and received the Chain/outdated-server error.
Register retail 2193 separately from preview 1.26.50.27 and route it through the existing 2192 codec. The existing handshake handling then rewrites both RequestNetworkSettings and Login to the actual server protocol while preserving authentication data. The native engine's compile-time schema equality check covers the new alias. Regression tests cover both connection directions and the preview/retail version lookup.
Also restore the supported Minecraft version text in server-list responses, respecting blocked protocols and configuration reloads. This advertisement alone did not fix Chain; the real client joined after adding protocol 2193.
Protocol evidence
Extracted the schemas from retail Linux BDS 1.26.50.5 and compared them with the 1.26.50.27 preview dump at EndstoneMC/protocol-docs commit
71fe02f781f9ab8cf395bd796ad34d8fc059c0e9. All 231 packets, 160 enums and 338 types match apart from the RequestNetworkSettingsClientNetworkVersionminimum/maximum changing from 2192 to 2193. Extraction accounted for retail 1.26.50.5 using the serialization layout introduced in preview 1.26.50.25 despite its lower build component.Validation
These are targeted compatibility checks; the retail client gameplay checks used the Windows server, while Linux was validated through the compiled engine and automated suite.