cs:s and choke

rasczak

Lifer
Jan 29, 2005
10,437
23
81
i recently started playing source again, however, i'm getting terrible choke (main reason why i quit and went back to 1.6).

current config

3800x2
1 gig pc 3200
9800 gtx+ 512mb

cl_cmdrate 50
cl_updaterate 50
rate 20000


any suggestions?
 

M0oG0oGaiPan

Diamond Member
Dec 7, 2000
7,858
2
0
digitalgamedeals.com
Try cl_cmdrate 100
cl_updaterate 100

You could set them to 101 see if that does anything.

Usually you want the cmd rates to match up to whatever the server is at. You can find out by looking at the netgraph. A lot of servers limit your cmd and update rates automatically for you so if you set it to 100 and 101 you should be ok for most.
 

rstrohkirch

Platinum Member
May 31, 2005
2,434
367
126
Keep them at 101

cmdrate will be tied to your fps
101 on updaterate will set you to the server's max out going rate

try different servers and make sure it's you and not them
 

rasczak

Lifer
Jan 29, 2005
10,437
23
81
Originally posted by: rstrohkirch
Keep them at 101

cmdrate will be tied to your fps
101 on updaterate will set you to the server's max out going rate

try different servers and make sure it's you and not them

yea, it turned out to be a couple of servers i used to play regularly on.
 

Nik

Lifer
Jun 5, 2006
16,101
3
56
Servers have different settings and, if not matched to your settings, can screw up gameplay. You should be able to check once you connect. Don't they all set that stuff for you automatically? Or...?
 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
Originally posted by: M0oG0oGaiPan
Try cl_cmdrate 100
cl_updaterate 100

You could set them to 101 see if that does anything.

Usually you want the cmd rates to match up to whatever the server is at. You can find out by looking at the netgraph. A lot of servers limit your cmd and update rates automatically for you so if you set it to 100 and 101 you should be ok for most.


Choke means you are unable to send all of your data to the server, usually because your connection's upload is saturated. Increasing your cmd and update rates increases bandwidth demands, which then increases your choke and and packet loss.

If you are experiencing choke or loss, you should lower your cmd and update rates. Doing this not only lowers choke, but it will lower your ping. cmdrate in particular should only be set to 100 if you're on something like T1 that can handle uploading maybe ~20kb/s to the server with minimal delay.
 

rstrohkirch

Platinum Member
May 31, 2005
2,434
367
126
Originally posted by: ShawnD1
Originally posted by: M0oG0oGaiPan
Try cl_cmdrate 100
cl_updaterate 100

You could set them to 101 see if that does anything.

Usually you want the cmd rates to match up to whatever the server is at. You can find out by looking at the netgraph. A lot of servers limit your cmd and update rates automatically for you so if you set it to 100 and 101 you should be ok for most.


Choke means you are unable to send all of your data to the server, usually because your connection's upload is saturated. Increasing your cmd and update rates increases bandwidth demands, which then increases your choke and and packet loss.

If you are experiencing choke or loss, you should lower your cmd and update rates. Doing this not only lowers choke, but it will lower your ping. cmdrate in particular should only be set to 100 if you're on something like T1 that can handle uploading maybe ~20kb/s to the server with minimal delay.

Honestly, I'd say it's very rarely because your connection is "saturated". Choke is related to packets you have sent out not correctly reaching the server. It can also be related to server issues itself. It's the very reason he doesn't have the problem on all servers and the reason you can jump between 5 different 100tick servers and get choke on 1 or 2 of them but not on the others.

The only server I play on is a 32 man 100 tick that if it doesn't get reset every few days gets 5-15 choke when about half or more of the players are alive. The admin will do a quick reset and you can hop back on for the next couple of days and get near 0 choke.


 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
Originally posted by: rstrohkirch
Honestly, I'd say it's very rarely because your connection is "saturated". Choke is related to packets you have sent out not correctly reaching the server. It can also be related to server issues itself. It's the very reason he doesn't have the problem on all servers and the reason you can jump between 5 different 100tick servers and get choke on 1 or 2 of them but not on the others.

First of all, tick is not the same as cmd rate. Tick is how often the server is updating itself and doing calculations. cmd rate is how often it tells you about those updates.
http://game.kingj.net/pages/extra-tickrate

He doesn't get choke on the servers that have admins smart enough to put limits on the update frequency. The ones with no limits will let you run at the full 100hz update rate and choke like crazy. I took 2 screenshots to show how this works.

Here is a picture of me playing TF2 with a 100 cl_cmdrate and cl_updaterate
picture
Notice how the incoming bandwidth is 15kb/s and my choke is 24. The little numbers between my settings indicate that the server is forcing a rate of 33hz incoming and 26hz outgoing (odd numbers are probably given because I'm choking so bad).

Now look at what happens when I set cl_cmdrate and cl_updaterate down to 10
picture
Incoming bandwidth has reduced to 5.4kb/s, my choke is now 2. Although my ping has increased, the problem of the server not receiving my packets is gone. You'll also notice how the server is forcing a 30hz outgoing but allows me to run at 10hz incoming.

Some servers don't put a limit on the cmd and update rates, so you can really screw yourself if you don't know what you're doing. A round of 30-man Team Fortress 2 at 100hz can easily run in the range of 30kb/s incoming and 20kb/s outgoing. This greatly increases any loss or choke problems you have, and your connection will be a lot more sensitive to things like your wife/parents/brother watching a video on youtube.
 

nosfe

Senior member
Aug 8, 2007
424
0
0
choke? what's that? we used to play our official cs.16 games with 100 choke and didn't notice any difference between 0 and 100. Funny thing with choke is that it's a good scapegoat, people instead of blaming themselves, blame the high choke. If i remember correctly, you get choke when you set your cmdrate/updaterate and stuff like that to a higher value than what the server has. The result? the server drops the excess stuff you send it and tells you that you get choke. If the game doesn't "feel right" or some such it's some other setting, not choke
 

rstrohkirch

Platinum Member
May 31, 2005
2,434
367
126
Originally posted by: ShawnD1
First of all, tick is not the same as cmd rate. Tick is how often the server is updating itself and doing calculations. cmd rate is how often it tells you about those updates.
http://game.kingj.net/pages/extra-tickrate

I would like to point out that you are mixing up cmd rate and update rate. Cmd rate is the frequency what which you SEND packets to the server. It is directly tied to your frame rate.

Also, I never said a 100 tick server and cmd rate were the same thing. I included 100 tick for more description, I could have easily left it out and said "The server I play on goes from 5-15 choke to 0 choke if it is reset every couple of days".


He doesn't get choke on the servers that have admins smart enough to put limits on the update frequency. The ones with no limits will let you run at the full 100hz update rate and choke like crazy. I took 2 screenshots to show how this works.

Right now your sentence states that server admins are stupid because they run 100 tick servers. There are always limits but I'm assuming you are meaning high tick rate servers.

Update rate is packets sent from the server to you. Last time I checked, most broadband players don't have any problems receiving the amount of data required. This assumes they are trying to play on a server that can handle the load and there are no connection issues between the player and the server.


Here is a picture of me playing TF2 with a 100 cl_cmdrate and cl_updaterate
Notice how the incoming bandwidth is 15kb/s and my choke is 24. The little numbers between my settings indicate that the server is forcing a rate of 33hz incoming and 26hz outgoing (odd numbers are probably given because I'm choking so bad).

Now look at what happens when I set cl_cmdrate and cl_updaterate down to 10
Incoming bandwidth has reduced to 5.4kb/s, my choke is now 2. Although my ping has increased, the problem of the server not receiving my packets is gone. You'll also notice how the server is forcing a 30hz outgoing but allows me to run at 10hz incoming.

I looked at your screenshots and this is what I see.

The server you are playing on in these screen shots has cmd rate set at ~26 and update rate at ~33. You on the other hand have 20fps in that screen shot. You have choke because you're trying to send out more packets then you are generating.

In your case, which I believe is the minority now, you don't have a computer powerful enough to handle the settings you are playing at. You need to limit your max fps to something lower. If you keep dipping below the statically set cmd rate you WILL get choke. Plus you must have some pretty noticeable slows downs going from 40 to 20 etc?

You solved this in the second screen shot because you limited everything to 10 and your fps went up to 40. Set your max_fps to 3 and then set your cmd and update rates to 10 again and see what happens after awhile.



Some servers don't put a limit on the cmd and update rates, so you can really screw yourself if you don't know what you're doing.

The tick rate is the limit. Whatever the tick rate is would be the maximum that server is updating. Obviously, they can set up/down async but there is always a limit.



Personally, I would never play on a server like the one you have in your screen shots. If those settings were set by them then you have clients updating the server LESS than the server is updating the client...self imposed by the server. Considering the clients are the objects doing stuff in the game world...that seems slightly silly. Wouldn't be nearly as bad in a case like yours because your computer can't produce the frames. On top of that both cs:s and tf have weapons that shoot faster then a server like that can update...meaning potential missed hits.
 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
Originally posted by: nosfe
choke? what's that? we used to play our official cs.16 games with 100 choke and didn't notice any difference between 0 and 100. Funny thing with choke is that it's a good scapegoat, people instead of blaming themselves, blame the high choke. If i remember correctly, you get choke when you set your cmdrate/updaterate and stuff like that to a higher value than what the server has. The result? the server drops the excess stuff you send it and tells you that you get choke. If the game doesn't "feel right" or some such it's some other setting, not choke

Choke is when you are unable to send packets at the frequency either set by you or the server. What happens is that your client thinks you're in location A but the server thinks you're in location B. This would be stuff like running behind a wall to take cover then suddenly you're dead for no reason at all. You were at A, you tried to run to B, your client did not tell the server any of this (choked connection), you're still in location A, other player shoots and kills you at location A.

Similarly, loss is when you're not getting enough incoming packets. You think the other players are at A but they're really at B. This would be stuff like other players warping around (severe packet loss), or when you shoot at other players and they don't take any damage. You thought the other player was at location A, so you shot at location A. The player does not take any damage because he's actually at location B and your client just didn't know it.
 

nosfe

Senior member
Aug 8, 2007
424
0
0
like i said, game runs smooth as butter with choke 100, never experienced any of what you describe(actually i have, but that's with high lag, not choke), as for loss, i tend to think of it as bullets lost in transition because the bullets tend to not hit their target even when the other guy is standing still
 

CoinOperatedBoy

Golden Member
Dec 11, 2008
1,809
0
76
Originally posted by: nosfe
like i said, game runs smooth as butter with choke 100, never experienced any of what you describe(actually i have, but that's with high lag, not choke), as for loss, i tend to think of it as bullets lost in transition because the bullets tend to not hit their target even when the other guy is standing still

I find it hard to believe you actually have 100 choke and can have an even remotely playable experience. Or if you do, other people are actually seeing you warp around.