mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
1982e7dcb5
An online room this build hosts asks the lobby server for transport "host" (match_caps.relay): the host carries the match on its own UDP port and guests dial it; the server's relay (SFU) is the fallback when a guest's probe fails (recomp-net-server WS_LOBBY.md "Host relay"). The mechanics are recomp-net's recomp_net/host_relay.h, pinned here (lib/recomp-net b0751b7); this engine's own lobby-client copy gets the same glue as rnet_lobby_client: the cap (emitted only when asked), the launch's transport -> PsxLobbyJoinInfo.transport_host (force_input_relay 0; the host accepts first / hubs instead of dialling the guest's LAN address), each seat's published path / path_fresh, host_relay_step() from psx_lobby_pump, and unmap on leave / disconnect. psx_netplay: transport_host takes the LAN / hub path instead of the "MotK online needs the SFU" rule. main.cpp: relay_host_get/set + relay_status for recomp-ui (Network Settings / MATCH SETTINGS / ROOM "Match Relay"), transport_host on the launch and into PsxNetplayConfig, and the host==guest-advertise SFU inference skipped on a host launch; all under RECOMP_LAUNCHER_HAS_HOST_RELAY so older recomp-ui pins still build. Compile-checked against workspace recomp-ui 58604b0 (MOTK scratch configure: full build and link). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>