Guide to choke and loss

Propaganda

TD Member
Choke - Choke is server lag. Choke basically means that your computer is sending your players position, and what he does (shoot, 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. Choke is caused by two things:

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 it can only accept 40, you are going to be getting 60 choke. This will make you SUCK, none of your shots will register, and only 40% of the things you try to make your player do will be done. (for solution, see below)
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 (solution below)

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 thru 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.. Loss is for the most part out of your control, and could always be the most common situation, your connection just plain sucks.

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:

Definitions of this menu:

FPS- How many frames per second your graphics card is doing
Ping- Round trip time from your computer to the server and back
Data - How many TCP/IP packets youre sending (you dont need to know this)
kilobits per second- how much actual data youre sending in and out (not needed)
How many times per second your computer updates your players position on the server (out -- the bottom one)
How many times per second the server sends your computer players positions (in -- the top one)
Loss - explained above
Choke - explained above

Steps to fix your lag in CSS
The following steps are meant for anyone that can read (even n00bs). These steps will solve your network lag, as long as it has to do with your Counter Strike Source settings. Use this guide for fixing all types of lag.

Note: Your ping may not be affected with these, but your lag will be cured.

You are going to be changing your rates, in an educated guess and check method, to achieve the best rates for your computer. You will need to know how to read net_graph 3, and you will need to have it enabled. You need to join a server, to tweak these settings properly.

To set your rates, enter the rate you want to set, then the number of times per second you want it set to.
Example: cl_cmdrate 30

cl_updaterate - How often your computer asks the server for players positions per second (default: 20)
cl_cmdrate - How many times per second your computer sends your position to server per second (default: 30)
rate - Maximum bytes per second you can receive
cl_interp - Changes the speed at which players positions are updated

Part 1 - Cmdrate and Updaterate

Enter a server and change your rates. cl_cmdrate 80 and cl_updaterate 60

Play the game for a few minutes. You will need to make sure that area 5 on the net_graph is not being limited by the server. If it stays at 33.3 or 66.6 all the time, it means you should tweak this on a different server that allows for higher rates (100 tick servers mean max of 100 updates and commands per second!)

Once you find a server that is not limited, you want to make sure your rates are cmd 80, and update 60. Play on the server for a few rounds, and keep an eye on your CHOKE and LOSS.

If you are experiencing choke, you will need to change your rates lower. The correct ratio for update to command means cl_updaterate should be 3/4 of cmdrate (75% is good)-- *This means CMDRATE is higher than UPDATERATE by a pinch*. So, lower your rates, keeping ROUGHLY the same ratio. If your choke is 30, lower your rates about 30 (but make sure you still use the ratio of 75%). This would mean cl_updaterate 35 and cl_cmdrate 50 (thats 70% ratio, close enough)

Try the new settings, and adjust your rates as needed. You want to lower your rates until you get less than 2 choke in the middle of a round, and less than 10 at the beginning, and end of a round. (choke is higher at beginning and end of rounds while server does stats, and resets objects)

Once you get to 0 choke, and 0 loss (loss may not change if it is a network problem) you have your proper rates.


Part 2 - The rate setting in CSS

The rate setting is used to set the MAX amount of data coming to you from the server in bytes per second. Rarely does your computer receive more than the max, and the more players on the server you are on, the more data you will recieve. On a 32 player server, you receive player positions, voice, chat, and nades weapons etc move. That will obviously use a lot of bandwidth to receive all that info.

In short, heres what you set your rate to, its not very important to tweak.

Connection Speed Set your rate to:
56k or slower 1800comcast
Slow DSL/Cable 20000
Fast DSL/Cable 25000

Part 3 - Interp setting in CSS

In Counter Strike Source, once your lag ping choke and loss are all fixed, you can improve your connection even more. The interp setting in CSS is used to tell your computer how fast to interpret the player and object positions sent to you by the server. The proper interp depends on your updaterate. Your cl_interp should be 1/updaterate. This means that if your updaterate is 50, your interp should be .02 - In the console type "cl_interp .02" or whatever yours should be. MAKE SURE YOU GET THE .02 and not just .2

There is also an interp setting that sets your interp automatically, adjusting dynamically. I do not use it, and cant give any advice, but the command is cl_interp 0.
 

Cock

Cockilicious
Staff member
I always thought interp was controlled by the server regardless of what you have set.

Also to note some servers autochange rates on your computer, which fucks with all of these settings!
 

OG buckshot jr

TD Admin
interp is a calculation of cmdrate/updaterate divided by rate = interp... changes on its own.. the value is just there to show you.
 

DarkSiege

TD Member
Could you start forcing rates on join? just seems like a lot of admin time is spent dealing with noobs who dont know how or respond to the admins requests to change their rates.
 

Low Budget

DGN Staff
Staff member
Well here is the thing, even tho the servers rates are 25000/100/100 it may not work well for everyone. People should play around with their rates until they get rid of the choke, and if i understand how it all works, its based on ISP and the hardware you are using. So a good PC will moste likely be fine with our rates, but an old busted P4 might have to have lower cmd and update rate. Usually 75% ratio. Its too bad most people don't understand the concept behind this and most of all, they don't understand how to change their rates.
Its a good idea to force rate, but at the same time its not because the people who have found the right rates for their computers will be forced to play with rates that don't necessarily work for them.
 

Spinny

TD Admin / Giant Faggot
my updaterate and cmdrate are at like 50 or 60 or something.... if I go up to 100, I get mad choke....
 

Low Budget

DGN Staff
Staff member
Well ideally you want it to be 2 or lower during the avg round. When shit goes crazy with like nades flashes and mad shooting, expect it to go up to whatever. But on avg it should be 0-2 for optimal performance.
 

OG buckshot jr

TD Admin
I keep 100/100/20000-30000 (rate is whatever, I change depending on my mood, thinking it'll make me a better player - it's all psychological lol).

No choke, no loss. Hot shit.
 
Top