Linux Dedicated UT/UT2003 Servers
miguel.durao at netcabo.pt
miguel.durao at netcabo.pt
Wed Sep 18 11:12:51 EDT 2002
Hello, I'm a Linux and UT fan, posting here for the first time.
First of all, Congratulations on the port, at least, someone did something for the community of Linux/UT fans. :)
Now, for my problem:
As you all should know, a dedicated server in linux behaves different from a dedicated server in windows, and the main difference is the so famous NetServerMaxTickrate.
Talking about UT, basically, TR=35 in Linux was more or less equal to TR=20 in Windows.
In UT2003, no matter what we do, the TR is always dropping below 10 and when it's good it's around 15 (NetServerMaxTR=30). I see this in the parameter of stat net Packets/IN.
Packets/IN decrease -> Stat Net (F6) ping increases!
The machine is a P4 at 1.6ghz with 512MB ram with kernel 2.4.18 (distro rh7.3). Barely no services up, only the UT2003 server.
In the foruns of UTPURE and in the INA foruns i saw this:
>I solved the problem for my old UT server with increasing the kernel tickrate in linux
>(HZ value) since there was probably a problem with threads not waking up in time.
>Perhaps it fixes the problems with ut2k3 too (since the netcode doesn't seem to be all
>that different from ut :P)
>
>The default tickrate for linux kernels is usually 100Hz and thus it can take up to 10ms
>for a timer to wake up. I set the value to 1000Hz which solved most problems.
>
>I'm sure it all depends on what kernel version and distrubution you're using. So don't
>blame me for any problems with old scsi drivers etc...
>
>I'd love to see a real fix from Epic though.
And more technical, here:
> now the /usr/src/linux/include/asm-i386/param.h looks like this:
>
> #ifndef _ASMi386_PARAM_H
> #define _ASMi386_PARAM_H
>
> #ifndef HZ
> #define HZ 1000 /* was 100 */
> #endif
>
> #define EXEC_PAGESIZE 4096
>
> #ifndef NGROUPS
> #define NGROUPS 32
> #endif
>
> #ifndef NOGROUP
> #define NOGROUP (-1)
> #endif
>
> #define MAXHOSTNAMELEN 64 /* max length of hostname */
>
> #ifdef __KERNEL__
> # define CLOCKS_PER_SEC 1000 /* frequency at which times() counts _was 100_ */
> #endif
>
> then it's just make clean;make dep; make bzImage; make modules usw...
> I have no idea if it crashes harddrives or reformat religions etc..
Do you guys think these might result? Any other OS side Tips? Or even UT/UT2003 server side tips?
TIA
Miguel Durão (aka: [PUKE]~Rambo)
PS: you may see my server here unreal://ut.pukeclan.com:27300 and if you need more information, just tell me! Once again, many thanks!
More information about the ut2003
mailing list