goldberg: bridged_lan + p2p_bridge co-op (netns + raw-UDP↔P2P bridge), v1.1.0 emu pin #3

Merged
gabrielgad merged 7 commits from feature/goldberg-bridged-lan into main 2026-06-16 15:32:33 -04:00
gabrielgad commented 2026-06-16 15:32:07 -04:00 (Migrated from github.com)

Adds co-located IP-LAN co-op for goldberg games via two handler options:

  • goldberg.bridged_lan — per-instance network namespace + veth into a shared bridge so each co-located instance is a distinct LAN host (own IP, own loopback, own game port). Includes a private /tmp/.X11-unix mount-ns per instance so co-located gamescope Xwayland servers don't race to bind X0.
  • goldberg.p2p_bridge — sets GSE_IP_P2P_BRIDGE=1 to enable goldberg's host-side raw-UDP↔legacy-Steam-P2P bridge (for UE SteamNetDriver + LAN-beacon sessions where the host listens P2P-virtual but joiners connect raw).
  • Per-instance GSE_FORCE_LOG/GSE_LOG_PATH so goldberg is observable under splitux.
  • CI: source all emu assets from canonical splitux-gg; pin goldberg to the v1.1.0 collective release (friend-join + bridge).

Validated end-to-end on Belts of Iron: joiner connects to host 10.77.0.10:7777, host BRIDGE recv/injected DATA/outbound-raw, Join succeeded → joiner Welcomed by server → travels into Map_ProcWorld.

Adds co-located IP-LAN co-op for goldberg games via two handler options: - `goldberg.bridged_lan` — per-instance network namespace + veth into a shared bridge so each co-located instance is a distinct LAN host (own IP, own loopback, own game port). Includes a private `/tmp/.X11-unix` mount-ns per instance so co-located gamescope Xwayland servers don't race to bind X0. - `goldberg.p2p_bridge` — sets `GSE_IP_P2P_BRIDGE=1` to enable goldberg's host-side raw-UDP↔legacy-Steam-P2P bridge (for UE `SteamNetDriver` + LAN-beacon sessions where the host listens P2P-virtual but joiners connect raw). - Per-instance `GSE_FORCE_LOG`/`GSE_LOG_PATH` so goldberg is observable under splitux. - CI: source all emu assets from canonical `splitux-gg`; pin goldberg to the `v1.1.0` collective release (friend-join + bridge). Validated end-to-end on **Belts of Iron**: joiner connects to host `10.77.0.10:7777`, host `BRIDGE recv`/`injected DATA`/`outbound-raw`, `Join succeeded` → joiner `Welcomed by server` → travels into `Map_ProcWorld`.
Sign in to join this conversation.
No description provided.