Sunday, February 1, 2009

How to unlag yourself from a laggy server [ Client side settings ]

This tutorial is to how to reduce your lagging a bit and reduce loss and choke etc..

Client side settings

Important Client CVARS

cl_cmdrate
cl_updaterate
cl_rate
cl_lc
ex_interp


cl_cmdrate is the number of game packets per second, you the client will try to send to the server. Again this should not be set higher than your frames per second and not any lower than 20.

cl_updaterate is the number of game packets per second the client will attempt to request off the server. This should be no higher than 100 or the maximum number of frames per second you are getting, and should be no lower than 20.

cl_rate is exactly the same as rate, except that it is the number that determines how much bandwidth the client can send to the server in bytes per second.3

cl_lc is for lag compensation set it to 1 for good gameplay.

ex_interp calculates all possible player positions that said player could be. Now, you control how much your client interpolates by using ex_interp.
So basically: The higher the interp setting, the more cs "guesses" where the other player is. That's why a long time ago, you could set ex_interp very high and see a player before they were actually there.

.01 - Very little "guessing"
.1 - Somewhat more "guessing" if you use this it decreases the disappear and appear effect of players. But guessing might not be always correct.

rate bytes/sec limit FROM the server, Sets how much data/information you receive from the server that you are connected to - for a 14.4 connection, set your rate to 1500 - 33.6k connection use 3000 - 56k modem use 3500 - ISDN should be 5000 - all connections faster than that should be between 5000 and 9999.

IMPORTANT
Press tilde"~" to get the console. Type "netgraph 3" in the console to see choke and loss data. Type "rate" to see the current rate. Type "rate=10000" to set the rate. All without quotes.

Definitions:

Choke: server too slow - you need to ask for less data or find better server.
When you are alone on the map and not doing anything, then the server only needs to send about 1000 bytes a second. When you are in a firefight, the server can end up wanting to send 10,000 bytes a second.
So if you set your rate above the sv_maxrate you can expect choke when things get busy and you are asking for more data than the server will let you have. There is no point having a rate above sv_maxrate.

Loss: you too slow - you need a better computer, or send less data, or have lower fps_max and graphics settings. May vary map to map.

Packet: A discrete piece of data for network transmission. Size of packet varies depending on how much is going on. Thus the need for an upper limit for bytes/sec (rate and cl_rate).

Ping: Time in milliseconds for your connection to reach the server. Broadband might be 40 to 100, dial up around 200, LAN 0 to 40. Busy servers with overloaded connections will make ping worse (higher).


Errors

cl_FlushEntityPacket - This error can be caused by having your cl_cmdrate and cl_updaterate set too high for the current rate. Your ping will go crazy and CS will hardly update at all causing weird problems. Try lowering the cl_updaterate and cl_cmdrate to 50, or 40. You might also try increasing the rate if you have a fast enough connection (as you increase the rate watch your loss, once your rate is too high you will get loss - lower the rate till you get no loss). With a frame rate of 60 and cl_cmdrate of 40 is still very playable. Down to 30 and you will start to notice a delay between you instruction and the result, ie when buying weapons for instance. The optimal cl_cmdrate and cl_updaterate would match the frame rate (what you set fps_max and fps_modem too).


choke - You'll probably experience some choke when things get busy, small amounts for a small time under 10 is ok. If it is consistently going too high and effecting play, or it is present when there is nothing much happening then your cl_cmdrate and cl_updaterate are too high. Experiment and bring them down by 5, see how you like it and see how the choke goes. You'll notice your ping goes down as you lower the cl_updaterate and cl_cmdrate because you are taking the load off your connection, which is not necessarily a good thing if you don't get updated quickly enough!

To Improving choke and decrease the loss

1. Change your rate setting to be similar or equal to what the servers is, if possible. This enables you to have as much bandwidth as the server can provide.

2. Lower your cl_updaterate so you are requesting less game packets per second. Try reducing it to 20 and then keep increasing till you start to get choke, now decrease a bit and leave it.

IMPORTANT

If you do this for every server and save it in a cfg file ex: for server kkkkSTRIKE after finding out the optimum configs to reduce loss and choke save the settings in kkkkSTRIKE.cfg and place it in cstrike folder so that when ever you join the server you don't have to type all the cvars for kkkkSTRIKE you just execute kkkkSTRIKE.cfg . Go to console and type "exec kkkkSTRIKE.cfg" without quotes. You can do this for servers in which you play regularly and as soon as you join a particular server you just execute that servers cfg file.

0 comments:

Post a Comment