Yes I totally ripped this off some random forum and it totally makes sense
Below is copied and pasted from a thread in the admin forum when we first started our TF2 server. If you have a newer PC, these changes can make a significant difference in the quality of your TF2 experience, both on our server and other servers. Feel free to use this info to optimize your connection and game settings, and feel free to post questions or other helpful tweaks in this thread. I'll update the OP with revisions and additions as necessary.
Thanks to BHack for researching this and writing it up. I made these changes myself last night on my new PC and was amazed at how much smoother the online gameplay was. (The stock settings are apparently rate = 10000, and update rate = 20). While these changes didn't do much on my old, framerate-limited PC, on the new PC they resulted in a huge improvement.
Quick Summary of the -F- Server's Optimal Settings for the Lazy and/or Technoistically-Challenged:
Type "rate 25000" into the console Note, servers with alltalk like 07 WILL need a higher rate, so try 66000 instead.
Type "cl_updaterate 66" into the console
Type "cl_cmdrate 66" into the console
Verify your settings/choke by typing "net_graph 3" into the console. Turn the graph off with "net_graph 0".
** Make sure you're optimizing these settings on a full server.
For those of you that have played quake wars, you have experienced the weird dichotomy between your PC's frame rate in the game, and the frame rate of all of the multiplayer entities in the game. It seemed as if the animations of other players, the movement of enemy vehicles, etc wasn't moving nearly as smoothly as your computer was rendering the game world itself. This is because quake wars was locked to 30 mhz, or 30 ticks. 1 tick = 1 update of the game world, per second. 30 ticks means your computer gets updated by the game server 30 times a second.
This is all pretty important stuff, because the faster your computer is updated by the game server, the smoother EVERYTHING in the multiplayer world appears. Don't confuse this with your frame rate, your computer can be rendering the polygons as fast as it wants, but if the server is only telling it whats happening 30 times a second, you aren't going to see CHANGES in whats happening around you nearly as fast as your PC could possibly render them. As you'll see though, your PC's FPS and the servers tick rate are dependent on each other.
Unlike Quake Wars, TF2 is not locked at any specific tick rate, the server sets a max and the rest is determined by the hardware of the client/server and network.
So, telling your game to request updates more often, gives you an advantage over someone who hasn't optimized their settings, you'll see that rocket get fired by the soldier SLIGHTLY before they would. This also makes hitting those asshole bouncy scouts easier, as their current position is updated more often on your PC.
You are completely limited by your PC's frame rate. You can't receive updates from the server faster than your computer can render them. For all intents and purposes 1 frame per second = 1 tick. The game's state is only updated ON YOUR PERSONAL COMPUTER once per frame.
As has always been the case in FPS games, frame rate is life. If you want to be competitive, meaning not at a disadvantage ON OUR SERVER, your game cannot fall below 66 frames per second. When it does, you get choke, and the guy sniping you from across the map who is running 100 frames per second, is now getting updated on your position faster than you are getting updated on his position - he has an advantage. If you were on a 100 tick server, falling below 100 frames per second could mean you were at a disadvantage.
You need to sacrifice graphical quality to keep your average frame rate as high as possible. Remember, your frame rate plumments on a 24 player server with shit blowing up left and right, don't set your graphics settings based off of running around by yourself in the game.
Tailoring your settings
The first thing you need to do is type "rate 25000" into the console. You are all on broadband, I've set the server to allow up to 25000 - there is no reason to set this to anything different.
Now type "net_graph 3" into the console. This gives you a cool looking graph replete with connection and frame rate information at the lower right of your screen. This is necessary for optimizing your settings. When you are done doing so, turn it off with "net_graph 0".
In this graph are 3 important things: Your FPS, Choke, and Loss.
FPS is self explanatory. Loss is packet loss; this is out of your control but tells you the quality of your connection to the server. If you see anything more than 0, your connection is dropping packets. Dropped packets are bad. Don't play on shitty server or those in far away places, this will increase your chance of packet loss. Feel sorry for Lyra and Bom, they probably have to deal with lost packets.
Choke: this is the money shot. Choke is what happens when your PC can't accept updates from the server as fast as you are telling it to. Often this is because your frame rate fell below what you set your updaterate to. When this happens your PC is literally FALLING BEHIND the game world. A line forms and the server stops sending you information until you've processed the updates that it has already sent, that are waiting in line to be displayed by your PC. Choke is very bad. It is what causes you to be alive, happily running around, then gibbed and dead on the floor without seeing what happened in between. Any amount of choke puts you at a disadvantage, as you are effectively playing the game in the past, or at least missing out on key frames of information, and just witnessing the end result.
What to set
Only bother trying to optimize your settings when our server is completely full and lots of shit is going down. You want worst case scenario here.
"cl_updaterate 66" is the max you can go on our server. That setting controls how many updates your computer is asking for every second. If you try to set it higher on our server, it will just automatically force it to 66. Other servers can allow more/less.
The idea is set to set it as high as possible until you start getting choke, then backing it down a little bit. If you have a fast PC (or set your graphics settings so the game looks like a bag of smashed assholes) and never drop below 66 FPS, then start by setting cl_updaterate to 66, and see how that goes. If you still are getting choke, paypal Bom money so he can provision a better server, in the meantime though you'll still need to back off your udpaterate setting. Keep backing off until you almost never see choke going higher than 1 or 2, even with multiple players on your screen firing and doing crazy shit. Disregard any choke you see at the very beginning of a round however, as that is when a shit ton of data is flying around the server and does not represent typical play.
After you find a nice cl_updaterate setting - set "cl_cmdrate" to the same thing. Just do this.
Thats it, you are good to go (until you play on another server, but much of it is based off of your frame rate anyway, so it'll work better for all servers). There are other settings you can tweak, but most of them are unimportant since they can confer unfair advantages to players so I've locked them down server side.