Welcome to Thinking Man. Great People. Great Games.

Go Back   Thinking Man Servers > Public > |Think| Tech forums

Notices

|Think| Tech forums Anything about hardware, software, or interacting with your beloved PC!

Reply
 
Thread Tools Display Modes
Old 04-20-2009, 07:44 PM   #1
Wilson
Senior Member
Think Community Allegiant
Points: 12,320, Level: 72 Points: 12,320, Level: 72 Points: 12,320, Level: 72
Activity: 100.0% Activity: 100.0% Activity: 100.0%
Last Achievements
Award-Showcase
 
Join Date: Nov 2005
Posts: 2,614
Tournaments Joined: 0
Tournaments Won: 0
Rep Power: 7
Wilson is on a distinguished road
Default Guide to fixing lag

How to fix your lag in CS:S

--------------------------------------------------------------------------------

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:

1.
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)
2.
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.



net_graph 3 on CSS

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:

1. FPS- How many frames per second your graphics card is doing
2. Ping- Round trip time from your computer to the server and back
3. Data - How many TCP/IP packets youre sending (you dont need to know this)
4. kilobits per second- how much actual data youre sending in and out (not needed)
5. 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)
6. Loss - explained above
7. 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

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

2. 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!)
3. 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.

4. 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)

5. 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)

6. 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.

this is quoted from http://www.fishtankclan.com/e107_plu...php?content.44

Last edited by Wilson; 08-22-2010 at 10:07 AM.
Wilson is offline   Reply With Quote
Old 07-04-2010, 05:54 PM   #2
Ricochet Saw
Junior Member
Points: 29, Level: 1 Points: 29, Level: 1 Points: 29, Level: 1
Activity: 66.7% Activity: 66.7% Activity: 66.7%
 
Join Date: Jul 2010
Posts: 2
Tournaments Joined: 0
Tournaments Won: 0
Rep Power: 0
Ricochet Saw is on a distinguished road
Default

good, but you may also want to point out that the game will report choke if your cl_cmdrate and cl_updaterate are higher than you highest achieveable fps, most of the time though, both these settings should be set to whatever the ticrate of the server is. however, since the OBE update (ornage box engine) this doesnt matter as the ticrate of all servers is locked at 66 tic (there is some serverside tweaking but for the sake of competition i wouldnt recommend it). one good thing to do about this is disable vsync and open console and use max_fps 67 (there is an oddity with the math, so it wont report as 66 unless you use 67, ie i use 101 for a max framerate of 100) the only real reason for disabling vsync is to allow a higher framerate max, which in turn will reduce vertical shearing (aka tearing)

also, cl_interpratio may also want to be set to 1 instead of 2 depending on your internet connections. also i wouldnt reccomend useing cl_interp 0 as dynamic systems are usually easier but less precise, ie cl_interp .025 - .01 are the best usual range.
Ricochet Saw is offline   Reply With Quote
Reply

  Thinking Man Servers > Public > |Think| Tech forums

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Guide to unlocking your extra pipelines! (Pics as well) [SIA]Zargonog |Think| Tech forums 7 06-11-2006 12:54 AM


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright ?2005 - 2010, Thinking Man Servers
All times are GMT -8. The time now is 01:53 AM.