If it's anything like I sex, I doubt you should be posting. And I
doubt I should be reading your posts.

Thankyou, I'll be here all night. Tip your waitress.

---------
Tyler "[TASF]Overkill" Schwend
"Semper facere bonum, an a amare odium, vita mors."
---
Server operator of [LCGA]Telefragged:
Counter-Strike: telefragged.lynchburg.edu:27015
http://schwend-t.web.lynchburg.edu

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of
> [EMAIL PROTECTED]
> Sent: Monday, June 16, 2003 12:32 PM
> To: [EMAIL PROTECTED]
> Subject: AW: [hlds_linux] Tuneup your hl server...
>
>
> good things can't be posted often enough - its like
> having sex... ;)
>
> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Im
> Auftrag von Kevin J.
> Anderson
> Gesendet: Montag, 16. Juni 2003 17:48
> An: [EMAIL PROTECTED]
> Betreff: RE: [hlds_linux] Tuneup your hl server...
>
>
> good info, but old news.   ; )
>
> ->-----Original Message-----
> ->From: [EMAIL PROTECTED]
> ->[mailto:[EMAIL PROTECTED] Behalf Of
> ->[EMAIL PROTECTED]
> ->Sent: Monday, June 16, 2003 11:41 AM
> ->To: [EMAIL PROTECTED]
> ->Subject: [hlds_linux] Tuneup your hl server...
> ->
> ->
> ->Hi,
> ->i just found this document and i think EVERY admin
> should know about
> ->it. i followed this tutorial - and my servers ping
> decreased about
> ->10ms - gameplay is the best i ever played on any
> server - no lags and
> ->very very smooth gameplay... i also tested the
> kernel patch thing -
> ->but with the patched kernel the hltv proxy
> (3.1.1.1c1) did no more
> ->start ;) anyway i switched back to hl 3.1.1.0...
> ->
> ->here is the article:
> ->
> ->Zibbo explains HL server and latencies
> ->Date: S�ndag, maj 25 @ 14:29:30
> ->Topic Gaming
> ->
> ->
> ->
> ->
> ->There seems to be a lot of confusion about latency
> issues in a HL
> ->server. What exactly those pingboost options do, and
> when and why to
> ->use them. I'm the author of the original UDP Soft
> pingbooster, so I
> ->know a thing or two about this issue. I'm sure I
> will be repeating a
> ->lot of info for many of you, but I decided to write
> it all down once
> ->and for all. All of the recommendations I give here
> are of course just
>
> ->my opinions, but I like to think myself as being
> well informed about
> ->these things. First, what is wrong with a normal way
> a Half-Life
> ->server does things.
> ->
> ->HL server normally tries to work like this:
> ->
> ->sleep for 1ms
> ->while (it's not yet time for the next frame)
> ->sleep for 1ms
> ->receive and handle all incoming packets
> ->send updates to clients if updaterate and rate
> settings allow it
> ->repeat forever
> ->
> ->So basically a HL server always sleeps at least 1ms
> between every
> ->frame, and more if enough time has not passed (determined by
> ->sys_ticrate) since starting of the previous frame.
> This is supposed to
>
> ->keep a server frame rate exactly at sys_ticrate. The
> problem with this
>
> ->approach is the fact that you can't sleep for a 1ms
> in a normal Linux
> ->system. Trying to sleep for any amount of time takes
> at least 10ms or
> ->more. This is due to a scheduling frequency of the
> Linux kernel, which
>
> ->is normally 100Hz (for a slightly longer explanation
> check out the
> ->manual page of the nanosleep).
> ->
> ->So the way a HL server actually works, looks
> something like this:
> ->
> ->sleep for 10-20ms
> ->while (it's not yet time for the next frame)
> ->sleep for 10-20ms
> ->receive and handle all incoming packets
> ->send updates to clients if updaterate and rate
> settings allow it
> ->repeat forever
> ->
> ->This causes some serious latency, because a hl
> server is sleeping,
> ->while incoming packets from clients are stacking up
> and waiting to be
> ->handled. With this system, it's basically impossible
> to get more than
> ->50fps out of a HL server, no matter how fast
> hardware you have running
>
> ->it.
> ->
> ->Now, what my pingbooster software, and all those
> -pingboost options
> ->do, is try to change the way the server behaves
> between frames, when
> ->it normally tries to do that "1ms sleep loop".
> ->
> ->I thought that if the server has some work to be
> done (incoming
> ->packets from clients), it should immediately start
> doing that work,
> ->and not sleep. So in my pingbooster I replaced the
> sleep call the HL
> ->server was using with a select call, which listens
> the network
> ->connection, and waits until there is incoming
> packets. I also set
> ->sys_ticrate to some crazy number like 10000, so a HL
> server would
> ->always think that it's time for the next frame. I also set
> ->sv_maxupdaterate to 100 from 60, because I like
> getting fresh updates
> ->for every frame in my client :)
> ->
> ->So a HL server loop was changed to:
> ->
> ->wait until there is incoming packets from clients
> ->receive and handle all incoming packets
> ->send updates to clients if updaterate and rate
> settings allow it
> ->repeat forever
> ->
> ->This turned out to be very effective in reducing
> internal latencies in
>
> ->a HL server. And replacing the sleep call with
> waiting for client
> ->packets is also exactly what -pingboost 3 option
> does. So if anyone is
>
> ->still using my pingbooster, you can get the same
> performance by using
> ->-pingboost 3, and setting sys_ticrate to some
> extremely high number
> ->(like 10000), and sv_maxupdaterate to 100. With that
> kind of settings,
>
> ->your server never waits when it has some work to do.
> So if you get a
> ->99% cpu usage, it just means there is something to
> do all the time,
> ->and the server is as responsive as it can be with
> your hardware.
> ->
> ->I haven't checked lately what pingboost 1 and 2
> options do, but at
> ->least a few months ago they just used different
> system calls to try to
>
> ->sleep that 1ms (and failing IIRC), and I wouldn't
> recommend using
> ->those options. Correct me if I'm wrong.
> ->
> ->There is also a way to "fix" Linux to work better
> with a default HL
> ->server configuration. You can increase the
> scheduling frequency of the
>
> ->Linux kernel by editing a file in the Linux kernel
> source, and
> ->recompiling it. The file is
> include/asm-i386/param.h, and you have to
> ->change the line "#define HZ 100" to "#define HZ
> 1000". I've been told
> ->that this is actually a default in 2.5 series of
> kernels. This should
> ->cause a HL server to behave more or less exactly as
> it was originally
> ->designed. However, I personally happen to disagree
> with that design,
> ->and recommend using -pingboost 3 option regardless
> :) At least with
> ->"one server/cpu" systems.
> ->
> ->When you want to run a quality server (and when I
> say a quality
> ->server, I don't mean a kind of crap that 99% of the
> hl servers out
> ->there are), number one priority for you should be
> getting it running
> ->at over 100fps consistently. No one cares if it runs
> 400fps, when
> ->there is no activity, and everyone is camping. It
> has to stay over
> ->100fps when all shit hits the fan. When it really
> matters. Client
> ->input should be handled as quickly as possible, and
> the only way to do
>
> ->that is having a high frame rate on the server.
> ->
> ->Almost all of the cpu time HL server uses is caused
> by handling of
> ->incoming packets, and generating updates for
> clients. So a lot depends
>
> ->on what kind of settings your clients are using.
> ->
> ->If all your players are just average newbies with default
> ->cl_updaterate 20 and cl_cmdrate 30, you can get away
> with a fairly
> ->large number of maxclients on a relatively slow
> hardware. And they are
>
> ->not likely to recognize a good server if it bit them
> in the ass anyway
> ->:) On the other hand, if you have mostly more
> experienced players with
>
> ->fat pipes, and using settings like cl_updaterate 101
> and cl_cmdrate
> ->101, you have to have a significantly more powerful
> server to have it
> ->running at 100fps.
> ->
> ->Tips for increasing your server performance:
> ->1. Use -pingboost 3 +sys_ticrate 10000
> +sv_maxupdaterate 100 2. If you
>
> ->have more than 1 server/cpu, drop all except 1. 3.
> Decrease maxclients
> ->4. Decrease amount of metamod mods, or remove
> metamod completely. They
> ->truly use up incredible amounts of cpu if you
> consider how little
> ->processing power all the features in those mods
> should require.
> Someone
> ->should really look into this..
> ->5. Decrease sv_maxupdaterate.
> ->
> ->For reference on what kind of a hardware you might
> need, I've been
> ->testing with a 1ghz amd processor, and without
> metamod I can run a 14
> ->player server (with clients with fast connections)
> without any
> ->significant slowdown. With a metamod+some small mods
> that number goes
> ->down to about 10.
> ->
> ->
> ->Almost all of the information I have about the
> internal workings of a
> ->HL server, I got from using a very simple debugging
> utility called
> ->strace, and I recommend anyone with any interest in
> learning more
> ->about what makes these programs tick, to check it out.
> ->
> ->For example, performance differences between 3.1.1.0
> and 3.1.1.1
> ->versions are clearly visible by comparing strace
> outputs of different
> ->versions. It seems that in 3.1.1.1 version,
> generating an update for a
>
> ->client can take up to 3 times longer than it does in
> 3.1.1.0 version,
> ->and that's what causing it to perform so badly.
> ->
> ->Also, I would recommend Valve to test using
> sched_yield() call instead
>
> ->of usleep(), for purposes of releasing a cpu for
> other applications.
> ->
> ->- Zibbo
> ->
> ->
> ->
> ->This article comes from clanding.org | Home of clan [DING]
> ->http://www.clanding.org/
> ->
> ->The URL for this story is:
> ->http://www.clanding.org/modules.php?op=modload&name=N
ews&file=article&
->si
->d=6
->
->_______________________________________________
->To unsubscribe, edit your list preferences, or view the list
archives,

->please visit:
->http://list.valvesoftware.com/mailman/listinfo/hlds_linux
->

_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to