한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game Lag White Paper › L5 Data center network equipment

Load balancer idle timeout Load balancer idle timeout

Cause ID dc-lb-idle · Primary owner Infra team (Network infrastructure) · Also Game team (Client development), Game team (Server development)

Open the interactive card with figures and simulations →

A load balancer deletes idle connections after a set time. The game assumes the connection is still alive, and then the player gets disconnected.

Why The player sends no packets for a while (chat window open, away from keyboard) → Effect The load balancer cleans up the idle connection (common defaults are 60–350 seconds) → On screen Disconnect the moment the player moves again

Symptoms
Disconnect
Factors
Packet loss
Who’s affected
Just me, Whole server
When
After sitting idle
Owner
Primary owner Infra team (Network infrastructure) · Also Game team (Client development), Game team (Server development)
Game team action items
Client: send heartbeats at no more than half the shortest idle timeout (30 seconds or less behind a 60-second ALB), reconnect automatically on disconnect. Server: respond to heartbeats and close the connection proactively if none arrive for a set time, resume the session with a session token.
Infra team action items
Check the idle timeout of every load balancer on the path, share the values with the game team, and raise them if needed.
Ballpark numbers
Defaults are 60 seconds for AWS ALB, 350 seconds for TCP and 120 seconds for UDP on NLB, and 4 minutes for TCP on Azure Load Balancer. The ALB and NLB TCP values can be changed, but the NLB UDP value of 120 seconds can’t. When the time runs out, ALB also closes the server-side connection, while NLB deletes it silently, so the server often never finds out.
On the graph
Mass disconnect · Disconnects, idle time before disconnect
Where to look
Check the idle timeout setting of each load balancer on the path, and collect for each dropped connection the time from its last packet to the disconnect. On AWS NLB, also check TCP_ELB_Reset_Count in CloudWatch (number of RSTs sent by the load balancer)
Confirmed if
Idle times of dropped connections cluster just past the setting (60 s for ALB, 350 s for NLB TCP, and so on), and it reproduces when you sit still longer than that and then move. On NLB, TCP_ELB_Reset_Count rises at those times
Ruled out if
Disconnects regardless of idle time: not this cause. Clusters near 350 seconds on a server that clients reach directly without a load balancer: “Cloud security group connection tracking expiry.” On the player’s home router: “NAT mapping expiry”
Check with
Infra tools (no game code needed)

Sources

  1. Edit attributes for your Application Load Balancer AWS
    ALB idle timeout default 60 seconds (1–4,000 seconds); the load balancer closes the connection if the client or target connection is silent for that long
  2. Network Load Balancers AWS
    NLB TCP idle default 350 seconds (60–6,000 seconds); after that it only stops tracking and answers later data with RST; UDP flows are fixed at 120 seconds
  3. Configure load balancer TCP reset and idle timeout Microsoft Azure
    Azure Load Balancer idle timeout default 4 minutes (4–100 minutes), no guarantee the session is kept beyond that, TCP reset is optional
  4. CloudWatch metrics for your Network Load Balancer AWS
    TCP_ELB_Reset_Count: number of RST packets generated by the load balancer

See also

Same layer: L5 Data center network equipment

Same symptom (Disconnect), other layers

View the interactive card with figures and simulations