Maximizing your server's rates
Steam wrote an article
about maximizing server rates, but it's for both HLDS and Source servers. This post tells you about rates specific to HLDS servers.
There are basically five rates your server has:
sys_ticrate controls how many frames per second the server renders.
sys_ticrate is set in the server.cfg file.
is the default, but a server can be run with as many as 1000 fps.
A higher sys_ticrate will use more resources, so if you're running a really crappy machine, don't try to run 1000 fps.
There is almost no reason to ever have a sys_ticrate 1000. My server happens to run at that because my server hosting company doesn't know what sys_ticrate is, but don't shill out big bucks to get a 1000fps server. There is really no way you wouldn't do perfectly fine with sys_ticrate 500
, and going over that is just a waste of money. If you're hosting the server yourself, by all means, boost it up there, but don't pay for something that won't make any difference.
This is the maximum number of bytes per second that a player can request from the server. This is set in the server.cfg file.
If you set it low, it will tend to help players who have crappy internet connections to still get pretty good gameplay. It does this by restricting the amount of bandwidth people can use. Thus, people with even the best internet connections can't use a lot of bandwidth and steal it from the people with the bad internet connections. A person with a good internet connection will experience worse gameplay, but the people with worse connections won't have all their bandwidth stole by the good internet connection people. It tends to equalize the gameplay when you have people with lots of very different internet connections who want to play your server.
If you some how had unlimited bandwidth, then that wouldn't matter at all. The people with good internet connections could use as much as they wanted, and the people with worse connections could still transfer all the stuff they
possibly can. On the other hand, if you have very limited bandwidth (perhaps you're running the server off a home machine), then you will want to make sure that all the bandwidth isn't being used by a couple of players by setting the rate low.
If you set the rates high, people with good internet connections will have a much better gaming experience, with less lag and better hit registry. If you're running a server where most people who connect have pretty much the same internet connections and are basically the same distance away, and good, lag-free performance is essential (for example, a scrim server located in a central location), then you want to set the rate higher.
I find that sv_maxrate 6500
is a great low rate for my home machine.
My scrim server has sv_maxrate 30000
A pub server would do plenty well with sv_maxrate 15000
This is the minimum number of bytes per second that the player can request. This is set in the server.cfg file.
Set this number really high if you want to keep people with really poor connections from playing on the server.
On all my servers, I have sv_minrate 2000
. You can also set sv_minrate 0
if you don't really care at all what the internet connection is like.
If you want to keep people with bad internet connections from joining, set it really high.
This is the number of times per second the server will update. This too is set in the server.cfg file.
I find that 30 is a really good rate, and 15 works really well on my servers that running off my mediocre home machine.
Another important factor in a server is ping boosting. Ping boosting is set in the command line of a Linux-based HLDS server. To pingboost a Windows server, you need to download some sort of plugin.
Ping boosting can increase player ping in your server by as much as 20ms. Pingboost increases the CPU load, which decreases server latency.
You can ping boost your server by adding the command line entry -pingboost 1
, -pingboost 2
, or -pingboost 3
-pingboost 1 and 2 will both decrease player by about 10ms, but they use a different method. pingboost 3 will decrease player ping by up to 20ms, but it will increase the CPU load a lot.
If you have a good internet connection but a crappy computer, I recommend not using pingboost as it may overload your computer when people are already getting pretty good pings in your server. If you have a good computer and a crappy internet, pingboosting your server might help player performance in your server. If you have a crappy computer and a crappy internet, you could try to improve player pings with pingboosting, but be really careful to pay attention to other aspects of gameplay - be sure you haven't overloaded your system and sacrificed other performance necessities just to try to pingboost.