Counter Strike Source Config Guide


Installation Instructions

You can download and install my custom configration file by following the instructions below.

  • Right Click and select "Save Link As" on this link below. Remember where you save the file.
    autoexec.cfg ~ 1k
  • Using windows explorer go to this folder (This may be a bit different):
    c:\Program Files\Valve\Steam\SteamApps\{USERNAME}\counter-strike source\cstrike\cfg\
    Where {USERNAME} is your Steam Login ID.
  • Copy the autoexec.cfg file you downloaded previously into the folder mentioned in step 2.
  • Restart Counter Strike Source for changes to take effect. (Alternatively you can type "exec autoexec" in console)

Removal Instructions

Don't like my settings and want to remove them. Heres some instructions on how to do that.

  • Using windows explorer go to this folder (This may be a bit different):
    c:\Program Files\Valve\Steam\SteamApps\{USERNAME}\counter-strike source\cstrike\cfg\
    Where {USERNAME} is your Steam Login ID.
  • Delete/Move/Rename the autoexec.cfg file in this folder.
  • Restart Counter Strike Source for changes to take effect. (Alternatively you can type "exec autoexec" in console)

Protecting Your Settings

It is possible for a server to modify your settings that are saved in config.cfg. By making this file read-only you can stop servers from changing your settings.

WARNING: Once this file is made read-only you will not be able to save changes to your settings unless you enable writing of the file again.

  • First make sure you have your desired settings set within Counter Strike Source. (Options Pane)
  • Using windows explorer go to this folder (this may be a bit different):
    c:\Program Files\Valve\Steam\SteamApps\{USERNAME}\counter-strike source\cstrike\cfg\
    Where {USERNAME} is your Steam Login ID.
  • Right Click on "config.cfg" and select "Properties".
  • Under the "General" tab you will see "Attributes" and then a checkbox labeled "Read-Only". Check this box.
  • Click "OK".

Unprotecting Your Settings

At some point you may wish to change you Counter Strike Settings. This will show you how to make your config.cfg file writable again. (Note: Make sure to make the file read-only again once you are done)

  • Using windows explorer go to this folder (this may be a bit different):
    c:\Program Files\Valve\Steam\SteamApps\{USERNAME}\counter-strike source\cstrike\cfg\
    Where {USERNAME} is your Steam Login ID.
  • Right Click on "config.cfg" and select "Properties".
  • Under the "General" tab you will see "Attributes" and then a checkbox labeled "Read-Only". Un-Check this box.
  • Click "OK".

Further Tweaking

Below are some settings that can be used for further tweaking. Everyones connection to a server and the configuration of that server is different. I give the recommended setting for each value as well as the minimum and maximum values. Start with the recomended value and then try modifying the value to see the result. This process is mostly trial and error, though I do give some pointers for certain settings on when and why to change them.

cl_cmdrate

This is the maximum number of packets that are sent to the server per second. For most high-speed connections this should be set to the maximum. For dial-up users or people with very bad internet connections you can try to set this lower.

Minimum Value: 10
Maximum Value: 100
Recommended Value: 100
To Tweak: See Advanced Tweaking Section

cl_interp

This sets how far ahead in time (seconds) your computer will try guess where a player is moving too. Kind of a buffer for lag. This should be set to your latency divide by 1000.

Recommended Value: 0.01
To Tweak: latency/1000

cl_updaterate

The desired, not actual, number of packets per second you wish to receive from server.

Recommended Value: 100
To Tweak: See Advanced Tweaking Section

cl_interpolate

A very over simplified explanation of Interpolation is that it makes (some) moving objects in game from being to choppy by estimating where the object is between two packets from the server.

Recommended Value: 1

rate

The maximum transfer rate from the server to your client.

Recommended Value: 25000
To Tweak: See Advanced Tweaking Section

cl_lagcomp_errorcheck

This enables/disables player position error checking.

Recommended Value: 1

cl_lagcompensation

This enables/disables server side lag compensation of weapon firing events.

Recommended Value: 1

cl_ragdoll_physics_enable

This enables/disables character deaths. Disabling also makes the character disappear once they are killed, greatly increasing your frame rate.

Recommended Value: 0

cl_ejectbrass

This enables/disables bullet casings from flying out of your gun when you shoot. Increasing rame rate.

Recommended Value: 0

fps_max

Places a cap on your frame rates; makes for smoother consistent movements.

Recommended Value: 100
To Tweak: Set to Your Average Frame Rate

Advanced Tweaking

cl_cmdrate, cl_updaterate and rate

This takes a bit of trial and error, below are some starting numbers and a couple steps to help you along.

  • What to set these to depends on the tick rate of the server you are playing on.
    For cl_cmdrate and cl_updaterate start with one of these values:

    For 100 tick use values of 100.
    For 66 tick use values of 66.
    For 33 tick use values of 33.

    For rate start with one of these values:

    Dialup: 100
    Slow DSL: 15000
    Fast DSL: 25000
  • Give these values a try with Net Graph 2 shown. If you notice any breaks in the graph then try lowering your rates. Also check Net Graph 3, if your choke is constally going above 4 or 5 try dropping your rates a tiny bit. If your choke is very high (60+) return to step 1 and recheck the servers tick rate and your internet connection speeds. If after you do your choke does not drop below 60 then you may wish to choose a new server (or a new ISP) because the one you are on is having some issues.

Understanding Net Graph

To do any serious tweaking or trouble shooting with CSS a good understanding of the various net graphs go a long way.

First some basics, how to turn on and off net graph. To turn on Net Graph type in the console "net_graph" followed by 1, 2 or 3 (ie. net_graph 2). To turn off Net Graph type "net_graph 0" in console.

Net Graph 1 - net_graph 1 Net Graph 1 Example
  • Current rendered frames per second
  • Size in bytes of the last incoming packet
  • Size in bytes of the last outgoing packet
  • Your average latency
  • The average incoming bandwidth
  • The average outgoing bandwidth
  • Received packets per second
  • Sent packets per second
  • Current value of cl_updaterate
  • Current value of cl_cmdrate
Net Graph 2 - net_graph 2
Net Graph 2 Example

Net Graph 2 Colors

Incoming packets are represented by the graph moving from right to left across the top. The height of each line reflects the size of a packet. The colors represent packets containing different data. If a gap appears in the graph, then a packet was lost or arrived out of order. It may be possible to tweak some settings to stop the packet lost.

Net Graph 3 - net_graph 3
Net Graph 3
  • Current rendered frames per second
  • Size in bytes of the last incoming packet
  • Size in bytes of the last outgoing packet
  • Your average latency
  • The average incoming bandwidth
  • The average outgoing bandwidth
  • Received packets per second
  • Sent packets per second
  • Percent of packets loss due to you network and internet connection
  • Percent of packet loss due to the server

Useful Scripts for Tweaking

To use these scripts just copy and paste them into the bottom of the autoexec.cfg file.

Net Graph Rotation Script

Sometimes it becomes a pain having to go into console every time you want to switch between the different Net Graphs. This script allows you to assign a key to the Net Graph and cycle through the different Net Graphs. I have this binded to the 'z' key, how to change this to a different key can be found in the script.

Rate Rotation Script

Because different servers use different tick rates your tweaking might work well on one server but not so well on another. This script allows you to setup 4 different sets of rates and cycle through them during the game. I have this binded to the 'x' key, how to change this to a different key can be found in the script.