Correcting Choke

Sanada

Newbie
Joined
Aug 28, 2004
Messages
504
Reaction score
0
Lately I've been getting horrendous choke no matter what server I play on. When nothings happening it will usually sit at 0 but as soon as I come close to another player (friend or foe) it will shoot up to around 10-20. When lots is happening can shot up to as high as 60. I've read tutorials on how to change the cmdrate and updaterate to try and fix it but nothing seems to work. I've tried the lowest values I can with the cmdrate being 2/3 of the updaterate but it makes little difference. Am I setting them up right or missing something? Lately I've been using cmdrate 15 and updaterate 25.
 
The problem isn't the cmdrate or updaterate. It's rate. You got it set too low.

If you look at the netgraph;
netgraph31jf.jpg


The first number next to 'in:' is the size of each data packet you receive. The most right number is the tickrate (as long as you've set your rates to 100/100, which you should). The bandwidth you use is the packetsize multiplied by the tickrate. In this case, it's 60x20 = 1200 B/s bandwidth. The 'rate' command sets the maximum bandwidth you may request from the server.

Let's say the tickrate is 100 and your rate is set to 25000. That means the maximum size per packet can only be 250 byte. In a server with say, 20 people, the packetsize can quickly grow to 300bytes. In this case that would mean your bandwidth would exceed 25000 B/s. When this happens, the server will drop a part of the packets. Here you would only receive 83 packets of 300 bytes, because that totals to 24900 bytes. This means your tickrate will drop to 83 and your choke will be 17.

This problem can be solved by increasing your rate. The problem is that pretty much NO ONE knows what the rate command does. Pretty much every server will have a max rate of 30000. This is stupid, but the admins that run the server are ignorant as well. If they see you with a rate of 100000, they will ask you to lower it. This makes no sense whatsoever and on top of that, 99% of the servers have sv_maxrate set to 30000, which means my rate will be limited to 30000 anyway. But as I said, nobody knows how this works.

If you want to know this in detail, see here.
http://www.jason35.com/Netcode.htm
 
Thanks for explaining. :)

I set everything according to the guide to:

cl_updaterate 100
cl_cmdrate 100
rate 131072 (this was set to 9999 before for some reason)

In the console it says the server has restricted it to 30000 though like you said. However, my choke has dropped by some. I seem to be getting a little loss now (1-5) aswell but I guess it's the best I'm gonna get it.
 
Yeah a rate of 9999 is default, and much too low. Any server with sv_maxrate # will limit your effective rate to # anyway. That's probably where the choke is coming from. I set my rate to 100000.

Also, when looking at choke, ignore the little choke you get when the round restarts.

Loss happens when the server can't handle the data and is unable to send some packets. This just means it's a crappy server.
 
Well, the nub admin on a server I played on just kicked me because I set my rates at 13170. Do they think it gives me an advantage or something? I've never understood all this controversy over it all. It's a shame they're no good servers left anymore (for me anyway).
 
Nope, that's just stupid admin. Best thing would be to add network commands to your config and set it to read-only.
 
Seems I made a mistake, it was actually 131070, but it shouldn't make a difference it the server caps it anyway? Bah... I'll just do the config.cfg thing then and just live with it.
 
Back
Top