From: "Half-Life Dedicated Server" <[EMAIL PROTECTED]> > Well I am getting choke on my client up into the 800 sometimes 900 range and > it becomes unbearable and very unplayable as I have to aim 4 to 8 steps > infront of anyone to kill them. I have 640Kilobit Down and 272Kilobit up > for my ADSL connection. I am not sure whats causing it either. I have the > following system: >
I thought the maximum for choke was 99? Isn't it a percentage? There was a quote posted here a while back from Valve's Yahn Bernier describing what choke is. My understanding, to paraphrase, is that choke occurs when the server is unable to send you all of the updates that your client requested, either due to your client's downstream bandwidth or the server's upstream bandwidth being saturated (although possibly not the actual bandwidth of your connection, but the effective bandwidth of the route between you and the server when the various hops are accounted for; e.g. you might have a 2Mbps connection and be playing on a server on 10Mbps but be only able to get 100kbps to the server, due to a slow link/net congestion/traffic shaping between you and the server). An update is like a network "frame", a shot of the action, describing the location of players, who's firing their weapons, etc. etc. Each update is a particular size, and the size varies greatly depending on the number of players in the server, the map and how much action is going on where you are. One update in a 2 player server will be significantly smaller than one update on a 20 player server. How many updates you get depends on your 'rate' and 'cl_updaterate' settings (conversely, how many updates you send back to the server, telling it what you're doing, depends on your 'cl_rate' and 'cl_cmdrate' settings, although you should never need to change 'cl_rate' unless you want to artificially limit your upstream bandwidth). 'rate' sets the maximum transfer rate for data from the server to you in bytes/sec. 'cl_updaterate' sets how many updates you will request from the server, in updates/sec. A 'rate' of 5000 and a 'cl_updaterate' of 30 means you are asking for 30 updates/sec to a maximum of 5 kB/sec. Now, if you ask for 30 updates and 5 kB/s on a 2 player server, you'd probably be fine. Each update could be up to (5000 / 30 = 166.67) bytes large, which should be enough. On a 20 player server, each update would probably be bigger than that. Now you have a problem. You've asked for 30 updates, but 30 updates are larger than 5 kB. The server can't send them all, so you get choke: some updates have to be dropped. Let's say each update is about 250 bytes. That means you can only fit (5000 / 250 = 20) updates per second. This would give you on average (100 - 20 / 30 = 33%) choke. You could resolve this by increasing your 'rate' (assuming you have the actual bandwidth to cope with more data) or by decreasing your 'cl_updaterate'; although in the latter case, the only difference really will be that you will no longer have choke--you still only get 20 updates either way. To answer the original question: you shouldn't get choke on a LAN. I don't know why you'd be getting that. You should have 10 or 100Mbps to play with, which even a 'rate' of 20000 won't make a dent in. Does it occur even when the server is empty? Do Internet clients notice any problems as well when you get this choke? -Simon _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlds_linux

