diff --git a/docs/GAME_PROJECT_SETUP.md b/docs/GAME_PROJECT_SETUP.md index 543a7f74..5d6655bb 100644 --- a/docs/GAME_PROJECT_SETUP.md +++ b/docs/GAME_PROJECT_SETUP.md @@ -167,7 +167,7 @@ is zero-init. | CMake option | Default | Effect | | ------------------ | ------- | --------------------------------------------------------------------------------------------- | -| `PSX_NETPLAY` | OFF | Link `recomp-net` + lobby client; advertise **full netplay UI** when the title has 2+ players | +| `PSX_NETPLAY` | OFF | Link `recomp-net` + lobby client; advertise **full netplay UI** when the title has 2+ players. Also defaults `RNET_ENABLE_ICE=ON` (libjuice) unless `-DRNET_ENABLE_ICE=OFF`. | | `PSX_SETUP_WIZARD` | OFF | Advertise **first-run setup wizard + Generate & rebuild** (`GameInfo.setup_wizard_supported`) | diff --git a/docs/NETPLAY.md b/docs/NETPLAY.md index 9f7efd3d..cd3c5c66 100644 --- a/docs/NETPLAY.md +++ b/docs/NETPLAY.md @@ -76,9 +76,11 @@ asymmetric NAT does not strand players on failed ICE attempts. **ICE** (with **TURN** relay via the project’s coturn on `netplay.retcomm.net`) remains part of the stack for discovery, -signaling, and fallbacks. Builds that need ICE link libjuice with -`-DRNET_ENABLE_ICE=ON`. “Force TURN” in the UI can raise delay floors for -relay-heavy paths; it does not replace the SFU online architecture above. +signaling, and fallbacks. With `PSX_NETPLAY=ON`, `runtime.cmake` defaults +`RNET_ENABLE_ICE=ON` (libjuice) before adding `recomp-net`. Pass +`-DRNET_ENABLE_ICE=OFF` only for LAN-only / no-FetchContent builds. +“Force TURN” in the UI can raise delay floors for relay-heavy paths; it +does not replace the SFU online architecture above. ### LAN / Direct IP (P2P star) @@ -153,9 +155,10 @@ Generate & rebuild / prepare flows should point at the **`.cue`**, not a lone 2. Before `include(runtime.cmake)`: `set(PSX_NETPLAY ON CACHE BOOL … FORCE)`. 3. `psxrecomp_add_game_runtime(… ENABLE_NETPLAY_IF_PRESENT …)` with `MAX_PLAYERS` / `game.toml` `players` set correctly. -4. For ICE builds: `-DRNET_ENABLE_ICE=ON`. -5. Fill `[netplay]` disc gates for multi-track games. -6. Test LAN 2P, then online lobby; soak rollback + FMV if the title uses media. + ICE (libjuice) defaults ON with `PSX_NETPLAY`; override with + `-DRNET_ENABLE_ICE=OFF` if needed. +4. Fill `[netplay]` disc gates for multi-track games. +5. Test LAN 2P, then online lobby; soak rollback + FMV if the title uses media. This document will grow as N-way rollback confirmation, SFU soak on 5P titles, and further ICE/SFU policy land. diff --git a/docs/ci/templates/setup-release.yml b/docs/ci/templates/setup-release.yml index e3e9ff06..0e928da3 100644 --- a/docs/ci/templates/setup-release.yml +++ b/docs/ci/templates/setup-release.yml @@ -183,6 +183,8 @@ jobs: # SCPH1001) locally via the wizard, then rebuild. # Prefer -DPSXRECOMP_FORCE_SETUP_HOST=ON (psxrecomp_add_game_runtime). # Legacy -DYOURGAME_FORCE_SETUP_HOST=ON still works if the title wires it. + # Titles with PSX_NETPLAY=ON in CMakeLists get RNET_ENABLE_ICE=ON from + # runtime.cmake (libjuice FetchContent — needs network at configure). cmake -S . -B build-ci -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DPSXRECOMP_FORCE_SETUP_HOST=ON \