How to improve Ping - Guide to reducing Latency & Loss


Published 25.02.2019 в 12:00 | Guide rating: 593



Introduction

Lag Compensation: Most modern video game engines (including Source Engine) feature comprehensive lag compensation.
But what does the term "lag compensation" mean? Lag compensation tries to provide a smooth online gaming experience for low quality internet sessions or connections by countering the effects of high latency.
In other words, lag compensation makes gameplay smoother for players with high latency.
You can read more about Lag Compensation in Source Engine here: https://developer.
valvesoftware.
com/wiki/Lag_compensation Lag Compensation is closely related to Prediction & Interpolation.
Prediction: Your client tries to predict the cause and effect on the server you're playing on and show the results before waiting for confirmation from server.
What it basically does is provide a smooth visual (note the word visual) experience on client side.
You can read more about prediction here: https://developer.
valvesoftware.
com/wiki/Prediction Interpolation: Interpolation prevents stuttering usually caused by packet loss, thus provides a smoother overall experience.
You can read more about Interpolation here: https://developer.
valvesoftware.
com/wiki/Interpolation You can read more about how networking in Source Engine works here: https://developer.
valvesoftware.
com/wiki/Source_Multiplayer_Networking

Ping Vs. Latency

The word ping is generally used in the place of latency over the internet, while it's not technically 100% correct, I'll be using the the word ping in this guide for the sake of simplicity.
Difference between Ping and Latency: Latency is the time it takes for a pack of data sent from a client to reach its destination and (for the response to) get back, while ping is a tool to measure latency.
However, the word "ping" itself can also have the same meaning as latency nowadays.
In other words, Latency is the time it takes for your packet to reach the server and come back and PING is a tool for measuring that time.
In order to calculate your latency for a website, you would have to use the PING tool via command line.
What this tool actually does is send a packet to server and wait for a response, then note how much time it takes to get the response back.
So it's basically the time a two-way trip of one of your data packets takes.
However, latency shown in CSGO is a bit different because the server calculates your ping not your client, so CPU cycles are also taken into account.
Some people incorrectly state that ping is a 2-way trip while latency is a 1-way trip.
This is 100% false, the only reason the latency PING tool shows is different than the one you see in-game is because PING tool calculations are client-sided while CSGO Latency calculations are server sided.
So in a nutshell, Latency is the time it takes for a packet to reach its destination and get back.
Ping is a tool for measuring Latency.
Ping tool shows a different Latency value than CSGO because ping tool calculates latency client-sided and CSGO performs it server-sided.
You can read more about Ping & Latency here: https://www.
ehow.
com/info_10064118_difference-between-latency-ping.
html

Connection Parameters

Your overall connection quality is determined by three factors outlined below.
You can observe them via NetGraph in-game by entering the following command in console: net_graph 1 Ping: Ping/Latency is the most determining factor of connection quality.
It denotes the delay between when you make a move and when server recognizes your move.
The lower your latency the faster your commands reach the server.
A ping less than 70ms is considered good, however any ping below 200ms is totally playable.
If your ping is between 200ms and 350ms, you might experience some lag but you can still play the game without major problems unless you have Loss and/or Choke.
You can set a maximum ping limit for the servers you join by using the following command: mm_dedicated_search_maxping *number* Loss: Loss denotes your packet loss, it measures how much % of your packets don't reach the server.
It's the common cause of rubberbanding (a.
k.
a.
teleporting).
There are different causes for packet loss, among which a wireless connection and ISP problems can be named.
It also shows the stability of your connection.
Your loss should normally be 0%, if it's higher it means something's not right.
Either your ISP has some problems or your internet quality is really bad.
Please note that a loss of x% does NOT mean that out of 100 bullets you fire, x won't hit.
You can measure the overall loss of your network via PING tool: ping google.
com -t Choke: Choke is server lag, it means your packets do reach the server but the server itself fails to process them.
It's typically caused by network problems at the server or an overloaded CPU.
There's pretty much nothing you can do about Choke because it's caused by the server itself.
Your choke should normally be 0%, if it's higher it means server has some problems.
If you have a high Choke on a server, try changing the server and playing somewhere else until it's fixed.
In simple words, choke happens when server tries to send update to client but fails to do so, common reasons for choke are insufficient server bandwidth and not being able to sustain tickrate.
Cinque TerreCinque Terre

Network Commands (Setting your Rates)

In order to take the most out of your network connection, you need to set your Rates correctly.
Incorrect rates can easily induce lag on a good connection.
In this section I will try to explain what each command does so you can use the best value.
Here's an overview of the most important network commands: rate cl_cmdrate cl_updaterate cl_interp_ratio cl_interp rate: This limits how much download bandwidth (net speed) CSGO uses in Bytes (each KB is 1024 Bytes).
Default value is 80,000 and maximum value as capped at 128,000.
You should always use the maximum value unless your internet speed is slower than 128 KB/s (1024 Kbps).
You can test your internet speed here: http://speedtest.
net/ If your internet speed is slower than 128 KB/s, deduct 10 KB/s from your maximum speed and use the result.
Suggested Value: rate "128000" cl_cmdrate: Maximum amount of command packets that your client sends to server each second.
Default value is 64 and maximum value as capped at 128.
Do not use a value more than your FPS, only use 128 if you can achieve a stable FPS above 128.
Suggested Value: cl_cmdrate "64" cl_updaterate: Maximum amount of update packets that your client receives from server each second.
Default value is 64 and maximum value as capped at 128.
However, it is limited by server's tickrate.
You can't set a value higher than current server's tickrate.
Do not use a value more than your FPS, only use 128 if you can achieve a stable FPS above 128.
Suggested Value: cl_updaterate "64" cl_interp: Sets the amount of interpolation.
While interpolation provides a smoother experience, you want to use the least amount possible in order to improve consistency (making sure you DO DMG when you hit someone ON YOUR SCREEN).
Settings this value to 0 automatically resets it to the lowest value possible, you can NOT have absolute zero interpolation.
Suggested Value: cl_interp "0" cl_interp_ratio: Determines the ratio of your interpolation time, if you have a high loss and bad ping, use 2 otherwise leave it at 1.
Suggested Value: cl_interp_ratio "1"

Improving Latency/Ping

You can follow the steps outlined below to improve your overall Latency: Avoid updating software(s) and/or downloading in the background to make sure you have enough free bandwidth for CSGO to use.
Never download and/or seed torrents while playing online games ever.
Play on servers close to your location, if you're in US, play on US servers only.
If there are no servers available in your country, try playing on ones in countries close to yours.
Avoid using traffic shaping and bandwidth limiting software as they might limit the bandwidth CSGO can use.
If you're using hardware QoS (on router), prioritize CSGO packets in settings or just disable QoS completely.
Avoid playing online with a VPN and/or Proxy connected in the background.
Disconnect any proxy/VPN you might have before attempting to play an online game.
If your internet speed is slower than 128 KB/s, avoid using any voice program such as Teamspeak (and VoIP in general) while playing online.
Don't play online games on a shared connection when many people are using your connection via Wi-Fi (when it's heavily used).

Eliminating Packet Loss

You can follow the steps outlined below to eliminate (or reduce) packet loss: Have protection against DDoS attack, avoid getting DDoS'd.
Make sure your connection is stable before playing online games (via PING tool).
Do not play via Wi-Fi even if the signal is strong, always play on a cable connection.
Playing on a Wireless connection can both induce packet loss and increase latency.
If you're using ADSL, make sure your phone line is noise free.
Do not play online games in ISP peak times (when a lot of people are heavily using the internet).
Make sure your computer is virus and trojan free.
Make sure your firewall allows CSGO traffic and add CSGO to your firewall/AVs exception list.

Donations

If you liked my guide and want to donate any worthless and unwanted skins/cases, I'd happily take and lose it on bets (can't bet cases though, so I'd just sell those and buy something to lose instead).
:-D Trade Offer Link: http://steamcommunity.
com/tradeoffer/new/?partner=2993352&token=pyy-53V8

Conclusion

While your latency mostly depends on the service provided by your ISP, you can still do a few things to improve it.
Thank you for reading my guide, I hope my guide has been useful.