Game Lag White Paper › Browse by symptom
Disconnect: 51 causes and who fixes them
Also called: kicked out, connection lost, “Disconnected from server”
Open in the illustrated symptom guide →
The connection drops mid-game and you land back at the login screen or a reconnect dialog.
A freeze lasts a few seconds, then a “Connection lost” message appears. If many players drop at the same moment, the problem is on the server side.
Not a single packet arrived within the timeout. Check for long connection drops, idle timeouts, server crashes or restarts, and a server or PC that stalled longer than the timeout (long loading). If the game just closed with no message, look at a forced client shutdown (crash, out of memory) before the connection.
Causes of this symptom
L1 Client game process
- Client memory leak: The longer the game stays open, the more memory it uses; it gets slower and slower until the game is eventually force-closed. (Game team (Client development))
- Client crash: An unhandled error closes the game. To the player it looks like a disconnect, but the server is fine. (Game team (Client development))
- Anti-cheat scans: The anti-cheat module that runs alongside the game to block cheats scans the system periodically. If a scan is heavy, or the heartbeat (a periodic keepalive signal) to the anti-cheat server is late, the game stutters or disconnects. (Game team (Client development))
L2 Client OS and device
- Mobile app sent to the background: If you leave the game for a moment to check a notification, the OS suspends the app a few seconds later, and meanwhile the server disconnects you. (Game team (Client development))
- Wi-Fi ↔ LTE/5G switching: When you walk out of the house and your phone drops Wi-Fi for LTE or 5G, your IP address changes and the existing connection stops working. (Game team (Server development))
- Throttling when the window is minimized or unfocused: When you switch to another window or minimize the game, the game and Windows slow it down to save power. When you come back, the backlog of packets floods in, or you’ve already been disconnected. (Game team (Client development))
- Overlay software interference: Chat apps, launchers, recording tools, and FPS counters hook into the game’s rendering to draw their own UI on top of the game screen (hooking). That adds work to every frame and sometimes clashes with the game, causing hitches or crashes. (External (External))
L3 Home network
- NAT mapping expiry: Routers remove idle connections that haven’t carried packets for a while from their NAT table. It’s a common reason the connection drops the moment you move after standing still. (Game team (Client development))
- Underpowered or overheating router: When dozens of devices and thousands of connections pile onto a cheap router, the router itself can’t keep up. (External (External))
- Cell tower handover (while moving): When you travel by bus or subway, the connection drops out while your phone switches cell towers. (External (External))
- Weak mobile signal and dead zones: In elevators, basements, and deep inside buildings, retransmissions increase, speed drops, and eventually the connection drops. (External (External))
L4 Internet path
- Country- or ISP-level UDP restrictions and packet inspection: Some networks block specific UDP addresses and ports or throttle UDP, and packet inspection equipment filters out protocols it doesn’t recognize. Games that communicate over UDP can’t connect on those networks or disconnect often. (External (External))
- Poor line quality: Loose connectors, old wiring, or a faulty modem cause steady packet loss and periodic line drops. (External (External))
- Shared links saturated by DDoS: Massive attacks aimed at the game company, or at someone else on the same network, fill up shared links. (Infra team (Network infrastructure))
- ISP-shared IP addresses (CGNAT): Mobile networks and some ISPs have many subscribers share one IP address, and they delete the mappings of idle connections after a short time. (Game team (Client development))
L5 Data center network equipment
- Firewall session table full: A firewall tracks every connection it lets through by recording it in a session table. Once the table is full, it can’t accept new connections. (Infra team (Network infrastructure))
- Load balancer idle timeout: A load balancer deletes idle connections after a set time. The game assumes the connection is still alive, and then the player gets disconnected. (Infra team (Network infrastructure))
- Cloud security group connection tracking expiry: The firewall attached to a cloud server (security group) also tracks connections, and tracking entries for idle connections expire after a set time. Even on servers that clients reach directly without a load balancer, players who sat idle can get disconnected. (Infra team (Server infrastructure))
- Network equipment failover: When a router or firewall fails and traffic switches to the standby unit (failover), everyone freezes for a few seconds. (Infra team (Network infrastructure))
- MTU mismatch (only large packets vanish): If the MTU (the largest size that can be sent at once) shrinks somewhere along the path and the “packet too big” messages are blocked, only large packets keep vanishing. (Infra team (Network infrastructure))
L6 Server network card
- Cloud host maintenance and live migration: When a cloud provider performs maintenance on a physical server (host), it moves VMs to another host (live migration) or pauses them briefly. The whole server freezes during that time, and if the pause is long, connections drop. (Infra team (Server infrastructure))
- NIC driver and firmware problems: When a driver bug or a malfunctioning feature hangs the card, all traffic in and out stops while it restarts. (Infra team (Server infrastructure))
L7 Server OS (kernel)
- OOM killer: When memory runs out, Linux picks the process using the most memory and kills it. Usually that’s the game server. (Game team (Server development))
- System clock jump (NTP step): When the server clock is moved forward or back by several seconds in one step, timers that depend on the system clock fire all at once or stop. (Game team (Server development))
L8 Sockets and protocols
- TCP RTO and exponential backoff: Each time a retransmission fails again, the wait doubles, so a brief connection drop turns into a long stall. (Game team (Server development))
- Slow client (slow consumer) handling policy: When a client’s outgoing data keeps piling up, the server drops stale updates or disconnects it. (Game team (Server development))
- Last data lost to an abortive close (RST): When the server cuts a connection abruptly, the final notice or save-complete signal it sent is lost. (Game team (Server development))
- Uneven SO_REUSEPORT distribution: When several processes share one port, the kernel assigns each connection to a process by address hash and never reassigns it. If one of those processes stalls, only the players assigned to it wait. (Game team (Server development))
- WSAECONNRESET errors on Windows UDP sockets: When a Windows server sends UDP to a client that has already left, a “port unreachable” (ICMP) message comes back. That message makes the next receive call fail with an error, and if the server code treats the error as a failure of the socket itself, everyone using that socket is affected. (Game team (Server development))
L9 Server game process
- Deadlock: When two threads each wait for a lock the other holds, both stop forever. (Game team (Server development))
- Server crash: When the server process dies from an unhandled error, everyone on that server disconnects at the same time. (Game team (Server development))
- Infinite loops and runaway logic: When a bug keeps a tick from ever finishing, the server stops, and the watchdog forces a restart. (Game team (Server development))
L10 Memory
- Memory leak: Memory that is never freed piles up little by little and, days later, leads to GC storms, swapping, or the process getting killed. (Game team (Server development))
- GC thrashing (too little heap headroom): When live data gets close to the heap limit, each GC reclaims almost nothing, so GC runs over and over without a break. (Game team (Server development))
- Memory fragmentation: When repeated allocation and freeing chops free space into small pieces, the process holds far more memory than it actually uses. (Game team (Server development))
L11 Disk
- Disk full: When logs and dumps pile up and fill the disk, writes fail, and without safeguards the server crashes. (Infra team (Server infrastructure))
L12 Database
- DB failover: When the primary DB dies, writes stop while it fails over to a standby, and the last data that hadn’t been replicated yet can be lost. (Infra team (DB infrastructure))
L13 Server architecture and operations
- Routing through a gateway or proxy: Putting an intermediate server between the client and the game server adds processing time at every hop, and that server becomes a single point of failure. (Game team (Server development))
- Zone transfer (handoff between servers): Entering another area or dungeon means handing the character’s data to another server, and that handoff can be slow or fail. (Game team (Server development))
- Deploys and restarts: If you restart a server for an update without moving its connections, everyone on it disconnects, and the final saves before shutdown and the reconnects all hit at once. (Game team (Server development))
- Login queue cap and insufficient reconnect grace: When players flood in right after launch or maintenance, the login queue hits its cap and turns away new arrivals, and players who were already waiting lose their place during a brief disconnect and go back to the end of the line. (Game team (Server development))
Netcode design
- Player-hosted server (host): When one player’s PC acts as the server, that player’s connection and PC performance decide how the game feels for everyone. (Game team (Server development))
Problems only some players hit
- Validation false positives concentrated on one ISP: Players on high-jitter connections have their inputs arrive in bunches, so they often trip the server’s speed and cooldown checks. (Game team (Server development))
- Fixed UDP port collision: If the client is built to use a fixed local port, a second client on the same PC either can’t get the port or ends up splitting packets with the first. (Game team (Client development))
- Sessions keyed by IP or device (bug): If the server or an intermediate server identifies connections by IP or device ID, it treats two clients on the same PC (same public IP) as one person. (Game team (Server development))
- Multi-client restriction: If an anti-cheat module or server policy limits multiple clients on one PC, the second client is blocked from launching or connecting, or the first one gets disconnected. Some games only block features on the extra client. (Game team (Client development))
- Background window throttling: For a client in a background window, the game, engine, and OS cut its frame rate and processing. Received packets aren’t processed in time, so they back up or overflow. (Game team (Client development))
Root causes of TCP retransmission
- Firewall and connection tracking drops: Firewalls and Linux connection tracking (conntrack, which records passing connections in a table) drop packets when the table is full or when they decide a packet doesn’t match the connection’s state. (Infra team (Network infrastructure))
- Middlebox over capacity (firewall, IPS, DDoS protection): Firewalls, intrusion prevention systems (IPS), and DDoS protection devices inspect every packet passing through. The moment traffic exceeds their inspection capacity, they drop the packets they can’t process. (Infra team (Network infrastructure))
- MTU black hole (only large packets keep getting lost): If the largest packet size a link along the way can carry shrinks and the “too big” notice (ICMP) is blocked, large packets keep vanishing no matter how many times they’re resent. (Infra team (Network infrastructure))
- NAT or load balancer mapping expires mid-connection: If a device along the way deletes the mapping for an idle connection (the entry that records where to forward that connection), the next packet sent can’t be delivered. The connection either retransmits over and over until it disconnects, or the device sends back a reset (RST) and it disconnects right away. (Game team (Client development))
View the illustrated symptom guide