Counter Strike Source lag choke loss and ping

From ETCwiki
Revision as of 00:59, 31 October 2009 by 87.161.248.95 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

This is an introductory guide for players trying to fix or lower lag, loss, and choke in Counter Strike Source. This guide is more than a step by step lag fix, it explains essential terms and concepts like ping, loss, choke, latency, lag, cl_cmdrate, cl_updaterate, rate, and how to use net_graph 3 to test your new rates for CSS. Last updated June 2009 by ETCwiki.org

CSS Lag Ping Loss and Choke Intro

Ping is NOT Latency

Lag Related Definitions
Lag - A term used to say that a persons connection is experiencing a delay; lagging.
Ping - Round trip time for data to the server and back again, in milliseconds. (ping is MORE than latency)
Latency - One way trip time from your computer, to the server in milliseconds. (latency is LESS than ping)
Rates - General term used for the clients network speed settings in counter strike source (cl_cmdrate cl_updaterate rate)



Choke and loss are indicators of where the lag is coming from

  1. Choke - Choke is lost packets of information sent between you and the server. Choke basically means that your computer is sending your players position, and what he does (shoot, move, nade, knife) to the server, and its not getting there. Counter Strike Source default is to send your players actions to the server 30 times a second. (cl_cmdrate)
    Choke is caused by two things:
    1. Your computer is sending too many packets to the server per second. If you try to send 100 commands to the server per second, and the connection between you and the server can only accept 40, you are going to be getting 60 choke. This will make you SUCK in game, none of your shots will register, and only 40% of the things you try to make your player do will be done, if at all.
    2. The server is not able to read all of the information being sent to it. This can be caused by network lag at the server, or CPU lag at the server. The client cannot control this, but can accomodate for it by lowering their cmdrate and updaterate
  2. Loss - Loss is lag from outside your computer and usually outside the server. This means that while your commands that are going to the server, they are following a path (sometimes can be 30 networks your commands go through before they reach the server) and somewhere in that path, the packets dont make it to the next place. Those packets are 'lost' in the bowels of the net. Loss can also come from wireless connections, in which case you can change your wireless channel to fix or get closer to your access point. Loss is for the most part out of your control, unless your connection just plain sucks.





Net_Graph 3

Net Graph 3 is a tool that counter strike source displays on your heads up display. It shows all relevant info about your connection to the server. To start, you will need to be able to access the console in Counter Strike Source. Press the ~ button, and drop the console. Enter the command "net_graph 3" and press enter (to remove this later, net_graph 0). Once you leave the console, you should see in the lower right of your screen some numbers that look like this:

ping choke loss lag css net_graph 3

  1. FPS- How many frames per second your graphics card is computing
  2. Ping- Round trip time from your computer to the server and back
  3. Incoming Packet Size - size of incoming packets from the server
  4. Incoming Data - how many kilobytes per second you are receiving from server
  5. Packets Per Second - times per second your computer is receiving info from the server
  6. Outgoing Packet Size - size of outgoing packets from your computer
  7. Outgoing Data - how many kilobytes per second you are sending to the server
  8. Packets Per Second - times per second your computer is sending info to the server
  9. Loss - explained above
  10. Choke - explained above

Fix Counter Strike Source Lag

You will need to know how to read net_graph 3, and you will need to have it enabled. You need to join a 100 tick server to tweak these settings properly.

Important CSS Rate Commands

cl_updaterate - How many times per second your computer asks the server for players positions (default: 20)
cl_cmdrate - How many times per second your computer sends your players position to server (default: 30)
rate - Maximum bytes per second you can receive from a server (default: 10000)


cl_cmdrate and cl_updaterate

  1. Join a counter strike source server that is 100 tick. Open the console using the ~ key and enter in console:
    cl_cmdrate 85
    cl_updaterate 70
    rate 30000
  2. Play the game for a few minutes. You will need to make sure that area 5 and 8 (packets per second in/out) on the net_graph is not being limited by the server. If it stays at 33 or 66 all the time, it means you should tweak this on a different server that allows for higher rates (100 tick servers means the server CPU has a max of 100 updates and commands per second!)
  3. Once you find a server that is 100 tick, you want to make sure your rates are like they are above. Play on the server for a few rounds, and keep an eye on your CHOKE and LOSS in your net_graph 3.
  4. Choke will spike at round changes, and that's normal. In the middle of a round, check your net_graph 3 and look at your choke. Take a few separate checks over a few rounds. If you want to be extra thorough try more than one css map. Average the choke you are getting a few times during the middle of a round. If the average choke you tested is above 5, you are experiencing lag that will noticeably affect your gameplay, and will need to lower your rates to fix the lag. Look below.
  5. If the rates you tested still give you choke in the middle of a round, lower cl_cmdrate and cl_updaterate a tad, say 15 points each:
    cl_cmdrate 70
    cl_updaterate 55

    Keep the ratio of cl_updaterate and cl_cmdrate about the same during your changes.

    This means cl_cmdrate is higher than cl_updaterate by a pinch.
  6. Try the new settings, and continue checking your choke on net_graph 3 at the middle of a round. You want to CONTINUE TO LOWER your rates until you get less than 2 choke average in the middle of a round. Choke at the end and beginning of a round is normal. Servers with lots of plugins might spike 80+ choke during round changes.
  7. Once you get to 0 (or less than 2) choke during your mid round gameplay you have your proper css rates for that server.



The rate setting in CSS

The rate setting is used to set the maximum amount of data coming to you from the server in bytes per second. It will not increase the amount of data your computer will take in, just raises the limit. The more players on the server, the more data you will need to recieve. On a 32 player server, you receive player positions, voice, chat, nades, weapons, etc That will obviously use a lot of bandwidth to receive all that info. If your rate is set too low in CSS, you will see other players all skipping around (not just one player, all players) and your shots will not register as you want.

In short, just set your rate to 30000 and you will be fine.

rate 30000

You may use a higher value, as the server defines the max allowed rate. That way you never run into problems where you actually need more than 30000 - for example on a busy fun or bunnyhop server.