SRCDS Steam group

Stablizing Server FPS
I recently ran the FPS meter in order to check some issues which i have been having with my server. When i ran the tool i was shocked by its output and wanted to know if any one could assist me. I was looking into Kernel optimization and noticed that they were all geared towards servers with 1000fps while i am looking for one meant for a pub with 250fps. I included below some system information as well as the output from the fps meter. Any help as to how to stabilize the servers fps would be greatly appreciated.

[Image: graphphp.png]

Server specs
OS: Debian 5.0rX 64-bit
CPU: Athlon 64 X2 4200
Ram: 2GB DDR2
HD: 160GB

Start Command (removed ip and port)
screen -A -m -d -S gungameserver taskset -c 0 ./srcds_run -console -game cstrike -tickrate 100 +maxplayers 23 +map fy_xbox +ip <ip> -port <port> -pingboost 3 +exec server.cfg -autoupdate

Server.cfg (removed sensitive data)
hostname <name>
rcon_password <password>
sv_unlag 1
sv_rcon_banpenalty 5
sv_rcon_maxfailures 10
sv_rcon_minfailures 5
sv_rcon_minfailuretime 30
host_framerate 0
sv_maxunlag .5
mp_logmessages 0
mp_timelimit 60
mp_autokick 0
mp_autoteambalance 1
mp_c4timer 30
mp_flashlight 1
mp_footsteps 1
mp_forcechasecam 0
mp_freezetime 3
mp_friendlyfire 1
mp_hostagepenalty 200
mp_limitteams 1
mp_tkpunish 0
sv_restartround 1
sv_maxspeed 320
sv_proxies 1
allow_spectators 90
mp_startmoney 1337
mp_chattime 3
sv_allowupload 1
sv_voiceenable 1
sv_alltalk 1
sv_voicequality 5
sv_voicecodec vaudio_speex
pausable 0
deccalfrequency 60
mp_falldamage 0
sv_aim 0
sv_cheats 0
sv_consistency 0
sv_maxrate 50000
sv_minrate 7500
sv_minupdaterate 20
sv_maxupdaterate 100
sv_mincmdrate 20
sv_maxcmdrate 100
mp_spawnprotectiontime 0
sv_lan 0
sv_region 0
sv_log 1
log on
sv_logfile 1
sv_logbans 1
mp_logdetail 1
net_maxfilesize 128
exec banned_user.cfg
exec banned_ip.cfg
sv_allowdownload 1
sv_downloadurl "<url>"

The server is also running a handful of mods:
Steam Bans
and a few others.
its not sooo easy to get 500 fps very stable, i think 1000 its easier ^^
You can try this

But keep the fps of your choice. Also disable sourcetv or whaterver its called if you have it enabled. My server is stable and i have only folowed that wiki above.
Well, I am using this gameserver provider: (local company) as we need low pings (South America, Argentina to be exact) and look at the shitty service we get, they don't even know hwo to maintain well made servers:,view;32323.html

It's terribad, and we can't do nothing about it. Sad
@ silent
Don't worry so much about statistics. Those FPS spikes do look horrible, but they look 1000x worse than they really are.

Keep in mind that the game server and the clients do interpolation. One of those drops is about 0.01 seconds interpolated over 0.1 seconds, which means nothing. Don't mind it.

I have had,view;29521.html , but nowdays I have,view;28705;month;;beta.html . There is no difference although some people try to tell you there is. The huge drops are by SourceTV.

I'm also working on a better fps measurement project. It'll measure a server 1000 times per second and it takes about 1 second to finish. Statistically it's better than doing 1 week measurement with I'll post some more detailed f'd up shit when somebody answers something stupid to some thread.

@ lucas
GSPs generally want to run as many servers on a physical server as possible. That's why extra FPS which you're not ready to pay for is not what they aim for.
(12-01-2009, 08:37 AM)css Wrote:  Keep in mind that the game server and the clients do interpolation. One of those drops is about 0.01 seconds interpolated over 0.1 seconds, which means nothing. Don't mind it.

interpolation relies on lag compensation, which relies on stable fps ;-)

you have 2% drops below 100 fps. on a tick 100 server those will be directly notable by all players in battle, because their hits don't get recognized. for a public server this might be ok, as it basically means that 2% of the hits *might* be affected.

currently my public server doesn't run as smooth as it was used to some time ago (I don't have the time to fix it...):,view;1;week;;beta.html
I can actually feel the difference.

Btw: I've done already those better measurements of the fps and compared it to the fps meter (err.... its pre-predecessor actually. before it got public. 2 years ago or so). of course you get more quickly an accurate result. but if you make a long-time measurement over a week you get like 10000 measurements. that's enough precision... (with the other method you get the same precision in 10 seconds, but simply doesn't get better if you have even more data)

long story, short answer: your 2% drops could actually be also 1% or 3%. but you definitively have some of those drops, they can be noted by your players, but on a public probably nobody will complain. more constant fps can be achieved by the same means as achieving constant 1000 fps but keeping your fps_max at 300 or so. but unless you are really low on resources on your root you can also try rising fps_max to 500 or even 1000. there is no need for a public server to be limited at it's fps ;-) (and it doesn't take that much more resources)

edit: but really don't take the QI too serious. It works for high-quality servers, but in the mid-range it tends to under-rate the servers. Your server is probably not really "bad" ;-) (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
After running the test again with the new configured kernel from your tutorial and i have to say it was definitely a great boost on stability. I linked below the new output. Thank you for all the help and for the tutorial Smile

[Image: graph1php.png]
have a try with fps_max 600.
(12-01-2009, 06:40 PM)BehaartesEtwas Wrote:  currently my public server doesn't run as smooth as it was used to some time ago (I don't have the time to fix it...):,view;1;week;;beta.html
I can actually feel the difference.

FPS is so old nowadays. I'm measuring my ping jitter with MTR all the time nowadays. I know there's more traffic in my ISP network at day, so I prefer to play at night. At night the jitter is lower. I usually get jitter around 0.5 ms, but at night it's 0.3 ms. It's noticeable.

For example look at my ping stats at this time. How can I play when the command packets are taking either 38.6 ms or 40.1 ms (=1.5 ms difference!) to reach the server. DAMN! Imagine when one of those drops happens when I'm AWPing.
10 packets transmitted, 10 received, 0% packet loss, time 9043ms
rtt min/avg/max/mdev = 38.618/39.490/40.096/0.399 ms

I've actually thought of using traffic shaping to boost my UDP packets going through the networks intreface with more priority. It may happen that the packets are not send out uniformly. I can feel it. I thought FPS was tough to handle, but now I've got to contact my ISP.
or try fps_max 0

about the ping we usually can't do much. traffic shaping doesn't help much if your server is hosted at a GSP (all users want low latency there) or if your ISP just ignores it. I don't think many ISPs will help you here... At least I don't note any difference when setting the TOS of the packets to low latency... (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Ping actually means A LOT more than server FPS. It's also possible very accurately measure ping and ping drops. I use MTR to measure ping. I know there is difference because as you can see in my previous post, ping can change A LOT.

For example ping change of 30ms -> 31ms means that the game server has to estimate a lot more. Imagine what happens when you shoot and the ping changes and the commands actually don't reach the server in time. Nothing happens => No reg. CS:S is actually playable only in LAN networks. I don't play PCW or CW over 'net anymore because of the apparent ping drops / ping lag. Only in LAN tours.
you don't get any argument from me here, you are absolutely correct. but in fact, a change in the fps means a change in the ping. even simply constant low fps mean constant changes in ping. if a server runs at constant 100 fps this will add an arbitrary ping between 0 and 10 ms, different for each game packet. you can actually see this if you use the rcon status command. it shows the average ping, that will rise by ~5ms if fps_max changed from 1000 to 100.

and btw: this is all off topic. the TO asked specifically for more stable FPS, not for a stable ping... (Linux Kernel HOWTO!)
Do not ask technical questions via PM!
Does anyone know if Ubuntu requires a kernel upgrade to optimize FPS?
i think every system needs that.
Change in FPS doesn't affect ping. Don't trust what the game says. Use MTR like I do. It's the fact, in-game stats isn't.

You are wrong. This is with the default Debian 5.0.1 kernel version 2.6.26-2-amd64:,view;29859.html

Forum Jump:

Users browsing this thread: 1 Guest(s)