Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Shyamalp16/CloudGaming/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide covers common issues, their causes, and solutions based on actual implementation details from the CloudGaming source code.Connection Issues
Client fails to connect to signaling server
Client fails to connect to signaling server
Symptoms:Logs to Check:
- WebSocket connection fails
- Browser console shows connection refused
- No WebSocket upgrade occurring
-
Wrong URL or port
-
CORS blocking connection
Verify CORS headers are present in response.
-
WSS required in production
Use
wss://URL in production, notws://. -
Invalid roomId
Room IDs must be alphanumeric with
_,-,:,.only.
ICE connection fails or times out
ICE connection fails or times out
Symptoms:Debug ICE candidates:Expected types:
- ICE connection state stuck in
checking - No ICE candidates generated
- Connection timeout after 30 seconds
-
TURN server not configured
-
Firewall blocking UDP
-
STUN timeout
Try alternative STUN servers if Google STUN is blocked.
-
Symmetric NAT
- Requires TURN relay
- Host/srflx candidates won’t work
host- Direct connection (best)srflx- Server reflexive via STUN (good)relay- Via TURN relay (fallback)
Redis connection failures
Redis connection failures
Symptoms:Restart with fresh connection:Check circuit breaker status:
- Signaling server shows Redis errors
- Circuit breaker opens
503 Service Unavailableresponses
-
Redis server not running
-
Connection string incorrect
-
Circuit breaker triggered
Circuit opens after threshold failures.
Audio Issues
No audio playing on client
No audio playing on client
Symptoms:Verify audio track:Check audio RTP state:Debug WASAPI:
- Video works but no audio
- Audio track present but silent
- No audio RTP packets received
-
Audio track not added to peer connection
-
Opus codec not negotiated
-
Audio capture not enabled
-
WASAPI initialization failure
- Audio device not found
- Exclusive mode failed
- Format not supported
Audio latency too high
Audio latency too high
Symptoms:Monitor queue health:Check bitrate adaptation:
- Audio lags behind video
- Echo or delay in audio
- Latency > 100ms
-
Large frame size
-
Buffering enabled
-
Audio queue congestion
Audio crackling or distortion
Audio crackling or distortion
Symptoms:Check packet loss:Increase frame size if crackling:
- Popping or clicking sounds
- Robotic audio
- Intermittent audio gaps
-
Buffer underruns
- Frame size too small
- CPU overload
- Packet loss
-
FEC disabled with high loss
-
Opus complexity too high
Video Issues
Video not displaying
Video not displaying
Symptoms:Check video packets:Verify NVENC:Debug capture:
- Black screen
- Video element not playing
- No video track received
-
Codec mismatch
-
Track not attached to video element
-
NVENC initialization failed
- NVIDIA GPU not found
- Driver too old
- NVENC not supported on GPU
-
Capture source not available
- Game process not running
- Window not found
- Desktop capture failed
High video latency
High video latency
Symptoms:Monitor encoder latency:Check pacer queue:
- Glass-to-glass latency > 100ms
- Noticeable input lag
- Video feels sluggish
-
Encoder preset too slow
-
B-frames enabled
-
Queue depth too high
-
Network congestion
Poor video quality or artifacts
Poor video quality or artifacts
Symptoms:Enable FEC for video (if supported):Check bitrate adaptation:
- Blocky video
- Compression artifacts
- Blurry motion
- Pixelation
-
Bitrate too low
-
Preset too fast
-
Packet loss
-
PLI (Picture Loss Indication) threshold too low
Host Registration Issues
Host heartbeat failing
Host heartbeat failing
Symptoms:Test heartbeat manually:Check host TTL:Monitor stale host pruning:
- Host shows as offline in matchmaker
- Clients can’t find host
- 401/403 errors on heartbeat
-
Invalid or missing host secret
-
Incorrect heartbeat payload
-
Redis disconnected
-
Heartbeat interval too slow
Clients can't find available hosts
Clients can't find available hosts
Symptoms:Verify host configuration:Test match without region:Check idle_hosts set:Monitor allocation races:
- Match API returns 404
- “No hosts available” message
- Hosts registered but not discoverable
-
Host status not ‘idle’
-
Region mismatch
-
Hosts expired (TTL reached)
-
Race condition in allocation
Performance Issues
High CPU usage
High CPU usage
Symptoms:Disable unused features:Monitor buffer pool:
- CPU usage > 80% sustained
- Frame drops
- System unresponsive
-
Opus complexity too high
-
Small audio frames
-
Video preset too slow
-
GC pressure from buffer churn
High memory usage
High memory usage
Symptoms:Monitor memory:
- Memory usage growing over time
- Out of memory errors
- System swapping
-
Buffer pool leaks
-
GC not aggressive enough
-
Large video frame buffers
Diagnostic Commands
Quick Health Check
Log Analysis
Network Diagnostics
Next Steps
- Monitoring - Set up comprehensive monitoring
- Performance Tuning - Optimize for your use case
- GitHub Issues - Report bugs or request features