Skip to content

Add extended lobbies, relay hardening, and public registry support - #5

Open
mrfox-1 wants to merge 6 commits into
SunJaycy:mainfrom
mrfox-1:feature/online-lobby-metadata
Open

Add extended lobbies, relay hardening, and public registry support#5
mrfox-1 wants to merge 6 commits into
SunJaycy:mainfrom
mrfox-1:feature/online-lobby-metadata

Conversation

@mrfox-1

@mrfox-1 mrfox-1 commented Aug 5, 2026

Copy link
Copy Markdown

Summary

Evolves the existing GE02/v2 matchmaker into the relay used by the separate GoldenEye Recomp
Online launcher while preserving opaque System Link gameplay packets and legacy clients.

  • reports live room membership instead of stale host-advertised counts;
  • adds backward-compatible extended lobby metadata, private invite-code queries, build IDs, and
    server capability/version reporting;
  • rejects malformed/unregistered relay traffic and rate-limits public queries and packet bursts;
  • adds a documented Windows/Linux CLI plus non-root Docker and Compose deployment;
  • sends optional lightweight relay heartbeats to the separate public directory service;
  • advertises registry support so a managed launcher can reject an incompatible server.

Protocol types 1-8 and their gameplay behavior are unchanged. Types 9-11 are additive lobby
registration/query messages; type 12 is used only from the relay to the public registry.

Verification

  • Windows build and three server tests pass locally and in the coordinated launcher CI.
  • Real relay integration covers public/private visibility, wrong invite codes, live player counts,
    malformed traffic, and rate limiting.
  • The launcher-managed registration test starts this executable, receives its real UDP heartbeat,
    reads the HTTP directory, advertises a lobby, and discovers that lobby.
  • Linux non-root container build and entry point pass in GitHub Actions.

Coordinated launcher: https://github.com/mrfox-1/GoldenEye-Recomp-Online

@mrfox-1
mrfox-1 marked this pull request as ready for review August 5, 2026 05:03
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.

1 participant