SSH -L cannot tunnel game streams (UDP); use Selkies on Vast desktop images
When a cloud GPU box does not have Moonlight/Sunshine UDP ports forwarded, SSH -L port forwarding is NOT a fix: SSH -L forwards TCP only. Moonlight/Sunshine pairing+web-UI are TCP (47984/47989/47990/48010) and DO tunnel, but the video/audio/input stream is UDP (47998-48000/48100) and cannot go through -L, so the stream drops right after pairing. Hacks (socat UDP<->TCP, ssh -w TUN VPN) wrap realtime video in TCP and cause stutter, defeating low latency. On Vast.ai Linux Desktop images the forwarded ports are for the built-in browser desktops: check env for VAST_TCP_PORT_6100 (Selkies WebRTC low-latency), 6200 (Guacamole VNC) and VAST_UDP_PORT_3478 (STUN). The intended low-latency path is Selkies (WebRTC, NVENC, uses forwarded STUN for a direct UDP path to the public IP) — not Moonlight. Guacamole is pure TCP (works over SSH -L) but VNC is too laggy for gaming. Also: verify box location by ICMP ping to the SSH IP, not tailscale netcheck DERP latencies — a QEMU SLIRP NAT (self ip 10.0.2.15, UDP:false) corrupts netcheck and made a 16ms-away California box look like it was in Asia.