Hey, so some players are experience kicks when playing our game.
Ive now spent hours trying to figure out why.
The main issues seems to come from timeouts:
{"level":"debug","ts":"2025-11-04T02:33:50.075Z","caller":"server/session_ws.go:207","msg":"Error reading message from client","uid":"b085b727-27a6-4f6a-a1b2-7c3e0b540aa8","sid":"db2943b8-b91e-11f0-b49f-006100a0eb06","error":"read tcp 172.18.0.3:7350->172.18.0.4:48226: i/o timeout"}
Table of reasons from server:
| i/o timeout | 9 | 47% |
| close 1006 (abnormal) | 5 | 26% |
| close sent (debug) | 5 | 26% |
| use of closed connection | 1 | 5% |
Client code debug looks like so:
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3806: { “cid”: “3806”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3807: { “cid”: “3807”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3808: { “cid”: “3808”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3809: { “cid”: “3809”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3810: { “cid”: “3810”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3811: { “cid”: “3811”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Resuming request: 3812: { “cid”: “3812”, “rpc”: { “id”: “rpc_ping” } }
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : DEBUG === Sending async request: http_key: , id: rpc_ping, payload: ,
=== Nakama : WARNING === WebSocket closed. Code: -1, Reason:
=== Nakama : DEBUG === Cancelling request: 3813
=== Nakama : DEBUG === Resuming request: 3813: NakamaException(StatusCode={-1}, Message=‘{Request cancelled.}’, GrpcStatusCode={-1})
=== Nakama : DEBUG === Cancelling request: 3814
=== Nakama : DEBUG === Resuming request: 3814: NakamaException(StatusCode={-1}, Message=‘{Request cancelled.}’, GrpcStatusCode={-1})
=== Nakama : DEBUG === Cancelling request: 3815
=== Nakama : DEBUG === Resuming request: 3815: NakamaException(StatusCode={-1}, Message=‘{Request cancelled.}’, GrpcStatusCode={-1})
I cannot for the love of god understand what is going on.
session:
token_expiry_sec: 999999999999
refresh_token_expiry_sec: 999999999999
socket:
port: 7350
max_message_size_bytes: 4194304 # bytes
write_wait_ms: 9000
pong_wait_ms: 35000
ping_period_ms: 5000 # Must be less than pong_wait_ms
outgoing_queue_size: 64
max_request_size_bytes: 999999999
read_timeout_ms: 20000
I would be very happy if someone could have a look and maybe help me with this issue.
Best regards,
/G