Skip to content

System Link: game ports 1000/1001 on host ports 32000/32001 - #52

Merged
whompay merged 1 commit into
whompay:mainfrom
OddTrie:system-link-ports
Oct 28, 2026
Merged

whompay merged 1 commit into
whompay:mainfrom
OddTrie:system-link-ports

Conversation

@OddTrie

@OddTrie OddTrie commented Oct 26, 2026

Copy link
Copy Markdown
Contributor
  • On Linux and macOS (and so under Proton/Wine, where bind() goes to the host) ports below 1024 are privileged: the game's System Link sockets could not bind 1000 and 1001 without root, so LAN and online play failed there.
  • Every guest port 1..1023 now lives on the host at +31000 (1000 -> 32000, 1001 -> 32001): bind and connect use it, sends go to it, and received packets, getsockname and EOS deliveries are translated back, so the game itself still sees 1000/1001.
  • Every copy of the game does the same on every OS, so Windows and Linux players find each other. Players on an older version can't see players on this one (and the reverse): everyone needs to update.
  • The online pack has to be rebuilt from this patch.

- On Linux and macOS (and so under Proton/Wine, where bind() goes to the
  host) ports below 1024 are privileged: the game's System Link sockets
  could not bind 1000 and 1001 without root, so LAN and online play
  failed there.
- Every guest port 1..1023 now lives on the host at +31000 (1000 ->
  32000, 1001 -> 32001): bind and connect use it, sends go to it, and
  received packets, getsockname and EOS deliveries are translated back,
  so the game itself still sees 1000/1001.
- Every copy of the game does the same on every OS, so Windows and Linux
  players find each other. Players on an older version can't see players
  on this one (and the reverse): everyone needs to update.
- The online pack has to be rebuilt from this patch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@whompay
whompay merged commit 0b0f8a8 into whompay:main Oct 28, 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.

2 participants