Repository navigation
Support Nethernet in --dump-pong-details - #36
Closed
extremeheat wants to merge 1 commit into
Closed
extremeheat wants to merge 1 commit into
extremeheat wants to merge 1 commit into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Owner
Author
|
Superseded by #37, which uses bedrock-protocol for discovery and decoding instead of adding duplicate transport code and schemas here. The schema extraction and shared API are linked from the replacement PR. Keeping this branch available for reference. |
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.
--dump-pong-detailscurrently sends only RakNet pings. BDS 1.26.51 defaults to Nethernet, so the command times out; forcing RakNet returns an empty advertisement and the server warns that players cannot connect using that transport.Read the configured transport from the generated
server.propertiesand query either the existing RakNet ports or Nethernet LAN discovery on UDP 7551. Normalize the available advertisement fields, addtransport/advertisementVersion, and retain the raw advertisement (text for RakNet, hex for Nethernet). Empty advertisements now retry and eventually report an error instead of returning empty metadata.The discovery-only implementation uses Node UDP/crypto and ProtoDef, with advertisement schemas from PrismarineJS/bedrock-protocol and framing based on PrismarineJS/node-nethernet. It adds no Bedrock client, WebRTC, auth, or Minecraft version-database dependency. The binary advertisement parser supports v4 and v7 without inventing absent version fields. BDS's length prefix includes itself, unlike node-nethernet's prefix; a regression test covers this difference.
Updated CLI option forwarding, help, API types, docs, and tests. Nethernet discovery requires LAN visibility and one discoverable local server at a time, documented in the README.
Validation: lint and all 17 tests pass locally, including real RakNet 1.21.80 and Nethernet 1.26.51 metadata queries. A separate CLI smoke test returned 1.26.51 / protocol 2193. Legacy server tests used locally unpacked libssl 1.1, matching CI's existing dependency. Linux/Windows CI will run on this PR.