Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
“My connection feels laggy.”
At some point, everyone has experienced lag. What causes it, and what can I do about it?
Lag (in-game delay) is usually caused by these three events (or combination of):
- The hardware the game server is on is underpowered and cannot handle to load of the players.
- Data your computer is sending the server (about your movement, actions, etc) is not all being received by the server.
- Data your computer is sending the server (about your movement, actions, etc) is being received, but not in a timely fashion.
For a more technical explanation of the above:
For Q2, almost any hardware today can handle the game. Not unless the server is running off a very old machine is this the issue.
When the server does not receive all data from your computer, this is known as lost packets. This is not related to your ping in the game. The ping number tells you how long it takes for your data to get to the server (in milliseconds), not if ALL packets (data) makes it to the server. If your ping is low and you experience lag, then it usually means you are experiencing “dropped packets” (not all your data is making it to the server).
How can I tell if I am experiencing dropped packets? — Simple: Check your netgraph — Red lines indicate dropped packets. Or, do a ‘ping’ test — timeout’s mean dropped packets.
How do I fix this? — This is an important question. Just because you experience dropped packets, does not mean everyone does. Think of your computer and the server as two houses in a town. To get from House A to B, you can take many different routes. Same applies to data routes. It’s usually the case that the “route” your data is taking (which is determined by your Internet Provider) may be experiencing technical issues resulting in dropped packets. Because you experience dropped packets on a certain day, does not mean you will always experience it (In getting from House A to B, if there was an accident, after time, the traffic is restored). In short, there’s not much you can do except try another internet connection. If other players on the same server do not experience lag, then its safe to say its not the server, but rather your “route” to the server that’s experiencing an issue.
- If data is not being received in a timely fashion, this is usually indicative of a higher ping in-game. The time it takes for your data to get from your machine to the server is determined by a number of factors. How geographically far is the server from you? The farther data must travel the more delay there is (higher ping). How congested is your network you’re on? Many Internet Providers throttle (control) bandwidth and latency during peek hours by giving some connections preference over others — for example, “Business” class connections usually get much better routing than “residential” class customers. Then there’s taking into consideration the difference between cable and dsl in terms of latency (aka ping times). Then there’s also the fact that not all servers are connected to “top tier” internet connections.
This is all fine and dandy, but what does it mean to me? There’s no easy fix for gaming in the internet. There are too many variables involved. Find a server that works for you, but keep and open mind and try back old ones that may have not worked for you in the past as things change fairly quickly on the internet. If you experience lag on a server, it doesn’t mean the server is “broken” as there’s really no such thing unless it crashes.
Yellow in Netgraph:
Yellow in netgraph represents rate capping, in other words, packets of data are rejected/ignored because of the rate (bandwidth) cap imposed on the client by the “rate” setting in the config.
‘rate’ = data transfer speed in bytes per second (B/s). This played a much more important role during dial-up days by limiting the amount of data the modem could receive at one time:
56 Kbps modem = 7000 bytes per second. With overhead, rate = 4000 would have been a good value.
However today with broadband:
4 Mbps Cable/DSL = a whopping 500000 bytes per second !!
Hence, you can pretty much set your rate as high as any server could dish-out (on your local quake 2 install if you’re on broadband).
However, remember the rate can be limited by the server. We’ve all seen this — log into a server and you’ll see the message up top (“Server has enforced max rate of 8000″ or something similar). A server would limit its rate because there are bandwidth restrictions (it also only has a network connection of a certain speed, and must consider how many clients are connecting). There’s also no point of a server allowing a ridiculously large rate, simply put, the game doesn’t need that kind of bandwidth. By setting your rate high in your config, you will top out at the max allowed rate set by the server — just make sure you’re on broadband before doing so!****