Skip to content

Fix Chain errors for retail Minecraft 26.50 (protocol 2193) - #51

Closed
TheNINJALLO wants to merge 1 commit into
EndstoneMC:mainfrom
TheNINJALLO:fix/retail-26-50-protocol-2193
Closed

TheNINJALLO wants to merge 1 commit into
EndstoneMC:mainfrom
TheNINJALLO:fix/retail-26-50-protocol-2193

Conversation

@TheNINJALLO

Copy link
Copy Markdown

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 RequestNetworkSettings ClientNetworkVersion minimum/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

  • 313 tests passed on Windows Python 3.11 and Linux Python 3.11.
  • Compiled the Windows 3.11 wheel and Linux 3.10, 3.11 and 3.12+ wheels from source. Linux native import and translation checks passed on Python 3.10 through 3.14.
  • Reproduced Chain with installed retail Windows Minecraft 26.50, then verified authenticated join and spawn against Windows BDS 1.26.44.3 / Endstone 0.11.9 with this repair. Movement, inventory, a chest deposit retained after reopening, and a Nether/Overworld round trip passed.
  • Live network-settings checks accepted 2168, 2169, 2192 and 2193; unknown protocol 9999 remained rejected.
  • Ruff lint and formatting passed; strict mypy passed with the repository's locked Endstone 0.11.2 dependency.

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.

@stef-oss

Copy link
Copy Markdown

I can confirm it works in game :)

@wu-vincent

Copy link
Copy Markdown
Member

Thanks for the PR. We have fixed the upstream protocol library and will make a release shortly. :)

@wu-vincent wu-vincent closed this Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants