mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
0b0641cbae
The lobby server starts a 2-player room the host relay cannot carry on ICE (recomp-net-server start_transport, launch transport "ice"). This client knew only "host" and the legacy server relay. It inferred a relay from equal host/guest endpoints -- which is exactly what two peers behind one NAT advertise -- and each peer dialled its own public address: the match stayed at "linking" forever. - psx_lobby_launch_transport.h: one pure decision (host / ice / relay / direct) with a unit test covering ICE, same-NAT endpoints, host relay and the legacy relay cases. - PsxLobbyJoinInfo.transport_ice; the launch handler records it and never turns it into a relay; launch fill and resolve_use_ice start ICE p2p (signalled over the lobby) for it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>