fix: dumduel snapshots via WS — UDP was silently dropping all packets
Server-side UDP channel appeared "open" but no snapshot data was
reaching the client. Early WS snapshots during countdown worked,
then after UDP channel resolution all snapshots went to a dead
UDP pipe. Switching to WS-only for duel snapshots — data is small
(~400 bytes at 20Hz) and reliability matters more than latency.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>