Jump to content
Mr. Green Gaming

Source engine rates


Recommended Posts

A few things first, this tutorial is not made by me; I am posting this here to help out some members ( Mr Darkness) with his lag problems so I might as well paste it here so it's easier to find. It was originally made by Majin_DiggZ at Fpsbanana (I've justed formatted it so it doesn't appear funny, and corrected grammar & spelling errors)

View the original page here: Original

Feel free to ask me about anything here since I already knew most of this.

The Netgraph

This one is tough to understand, so really requires your full attention

Ever have you been accused of shit rates? or of such? or are you simply curious about the inner workings of Internet Source games?

All I know about the subject is covered here... Enjoy, if you can...

The Bare Bones

The Internet works like so:

* it sends and receives little packets of information...

* The measure of this is packets per second.. or PPS as I like to call it.

* Its the same for Internet games.. and programs alike, they all work on the packet system.. the more packets per second the better quality the connection.. and hence the more bandwidth is used up


1. You click to open your web browser...

2. Your computer sends a packet to your ISP (Internet Service Provider)

3. Requesting the information from a certain URL (Uniform Resource Locator), or for the not so computer literate, a Website

4. Your ISP then kindly sends another packet(s) telling you Restricted access, or that you have entered the site.

5. More packets are sent, if entry is successful, these contain parts of images text etc.

Now thats the simple part... You understand that and its gonna be a hell of a lot easier to comprehend the rest...

Before I get onto the main body of this I need to outline and summarize a few common terms from the internet:


- The amount of time it takes in milliseconds (ms) for the server to get packets to and from you. This can depend on where you are in the world, and where the server is, the further away you are from the server the more time it wil take for you to send data, its simple logic, also by the quality of the connection and the overall speed of the connection.. High ping is BAD, anything above 70 is pretty poor for gaming, make sure you pick local servers and have a good BROADBAND.


- The little bits of data that get sent to a from your computer, they contain many wondrous thing WOOOOO

Download Rate

- The rate at which you can recieve data from servers etc.

Upload Rate

- The rate at which you can send data up your connection, and to wherever the hell you want it


- The rate at which you can upload and download data, also know to be the amount of speed alloted to you by a server.

Now lets move onto the GAMES, YES! WE LIKE GAMES

For example the beloved Counter Strike or Counter Strike Source, works in the exact same way to the internet. Ill give you a real virtual example... (So much for not contradicting myself)


1. You shoot at a player

2. Your computer sends a packet to the Host (Game Server) telling it that you have shot...

3. The server is constantly monitoring the players position velocity and other variables, it calculates whether the shot is a hit or miss, etc..

4. The server springs into action, and sends you a packet with this info, your computer then translates it into visual effects via your Graphics card, isnt that clever...

5. This is constatly done, over and over again every second, to adapt to changes in the environment by players, eg. bullet holes, blood, moving of props.. etc. All maintained by a packet exchange

The Tough Stuff

Now here comes my climax, you now should understand roughly how Source internet games work underneath.

The process I just described to you in the above example, is Commonly know as Hit registration. or Reg for short.. you may have heard some players blabbing about it

Now the process in which the server decides whether your shot hit or not can be affected by many things.

Variables such as:

* Quality of connection

* Rate of Download and Upload allowed

* Recoil

* Position

* Run/Walk

* Interpolation*

* Range of Weapon

and LOADS MORE but they are not relevant to this Tutorial/Guide

*=Wooo complicated, will explain in depth later

Theres one little detail you need to understand, with all games in this period

You play in the PAST, in order to play in the present, you would need tech that would basically allow the travel of data at the speed of light.. (Fibre optics) *Cough* but then of course that costs MONEY, which spending of is a well scrutanised thing in this world. And of course there are downsides to fibre optics, but thats not relevant.

All you need to know is that you play in the PAST

Now what you need to do to excel at games, especially internet ones, is to be as close to the Present as possible..

This is achieved by:

* Having Excellent hardware, good Graphics card, CPU etc. But most importantly, a good internet connection and ISP (Fast)

* Tweaking certain values in source so that the server puts you closer to the Present, this is complicated and links in with Interpolatation I mentioned earlier, but once you understand, you will find it easy

Now, having good hardware is a matter of money, however, Source tweaks are the most cost effective and efficient way, of making sure you OWN!

I will now outline and explain each tweak in depth (Bolster yourself's people):

Source Cvars & Variables

The easiest and most simple to tweak, commands are as follows:

Rate - This controls the number of bytes per second you can receive, the higher the better, but don't set too high or too low, as your connection will Choke, and thats bad.

Recommended rates for following connections.


- No comment


- Good God... I hope no one has to use this, but "Rate 2500" is about right for 56k


- Meh, its OK but not brilliant, "Rate 10000"


- Meh, "Rate 15000"


- Gettin warmer. "Rate 20000"


- Cost effective and ideal. Rate "20000 - 25000"


- Great! "Rate 20000 - 30000"

4mb and above

- PERFECT "Rate 30000"


- Depends on quality of LAN, but really anything from "Rate 30000" and above is good

Really the official guide defines in theory that your rate should be proportionally equal to you download rate

for example 4 meg would be "Rate 40000" but really its a load of BS in reality, connections and servers choke at that setting. so I wouldn't advise setting it like that.

cl_cmdrate - This is very similar to rate, apart from it controls the number of packets you send to the server per second, this is linked to your FPS (Frames Per Second) and should be set around your average frame rate to prevent wastage of bandwidth, or you can set it at 100 to make sure you are not restricted regardless of fps changes, although the tickrate of the server restricts this anyway.. theres lots of crap to consider when looking at this

cl_cmdrate 100

Recommend by me...

cl_updaterate - This is similar to cl_cmdrate, apart from the fact that restricts the number of packets you receive from the server, tickrate also affects this, I also recommend, max

cl_updaterate 100

Tickrate - This is a MAJOR MAJOR factor on any server, if the tickrate is 33, dont play there, its a poor quality server, poor quality server = poor quality game play, the max tickrate at the moment is 100, tickrate controls the number of packets the server can recieve and send per second to each client, the higher the tickrate, the better the reg and game play, it restricts the values of cl_updaterate and cmdrate regardless of their client side value

cl_interpolate - Now heres the big daddy... this is the heart of all reg.

Interpolate is the most debated over, most theorized, most modified cvar in the entire of Source, its like divine intervention in the cyber world.

This value states whether or not the client has allow him/her self to be subject to interp, another value, which is the number of seconds the server counts back, when you shoot at someone, for example the default, cl_interp 0.1 would make the server count back 0.1 sec back to where the person(s) hitboxe(s) are, where they were 0.1 sec ago, compared to the time frame your in now, this emphasises the PAST aspect of games, it then calculates where the hitboxes were, and whether your shot has hit or missed. Pretty simple *Goes Histerical*

To put it plain and simple, it is how far away the hitboxes are from the actual model you can see.

If you set interpolate to 0, you get perfectly aligned hitboxes with the model of the player, that you see, BUT its gives the game an annoying choppiness, as you are trying to play too close to the present. Some people overlook this problem and still play with it.

I prefer interpolate 1, to keep the game nice and cl_interp 0.01 so that the server counts back 0.01 sec instead of 0.1, bringing my shots closer to the present.

cl_smooth - Now I'm still not sure about this one, correct me if im wrong but it smooths out any of the servers hitbox prediction errors, and should be on at all times (It increases reg)

cl_smooth 1

cl_lagcompensation - self explanatory..

cl_lag_comp_errorcheck - Checks to see if the lagcompensation engine is working properly, if not it compensates for error, it increases reg, hence it needs to be on.

Link to comment

That might just be because of your distance from the server, but you shouldn't get any really noticeable effects from ping until it hits the 200's

Choke however is most probably your problem here, I'll try and find out what can be done about that.

Edit: Try setting your rates to the following:

cl_cmdrate 101

cl_updaterate 101

Rate 25000

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...