***************************************************
* this information goes back to days of win 2000 server and win98 *
* internet changes in connections but the game is old and remains *
* the same for connection even today year 2013. *
***************************************************
------------
TICKRATE?------------
First of all. Higher tick rate does not improve ping.
Very common misconception. What it ACTUALLY does, is
to reduce the time between each time the server handles
incoming data, and sends out new data.
Tickrate is actually COMPLEX! It is the
"Frames Per Second"the server is running at. A tickrate of 20 means that the
server is doing 20 frames of action per second. To make it
more crazy, lets just say, that the server proesses data 20
times a second. (Player movement, player firing, player deaths,
player bitching, player lagging, and the other more unimportant
things 20 times a second). So; 1 Tick = 1 Frame. The server
tickrate is the "framerate" at which the server is running on.
A tickrate of 20, gives 50ms between each update on server.
==================================================
------
PING!------
Now because of the complexity of the net, this doesn't mean it
uses 30ms to reach the server, and 30ms to travel back.
But lets assume that this is actually the true. The data DOES
use 30ms to travel from your computer to the server, and 30ms
to reach your computer again. Let's put in some more numbers.
The tickrate! We know that it's 50ms between each tick on server.
So let's take worst case. The packet of data we send, uses 30ms
to reach server. The server has just completed a tick before the
data arrived, so the data has to wait for 50ms.
Ok, data has waited
50ms and been processed, and now leaves the server for the client
to use. This takes another 30ms. So to add it up, the packet used
30+50+30 = 110ms to travel from client to server, be processed
on server, and return to client.
Another thing that affects result is your own framerate.
Your computer will not handle data while it's busy telling
the video card what to show you. A framerate of 100fps means
that it's another 1000ms/100 = 10ms between each time it can
handle data.
try this to see what I am saying:
---------------------------------
The
DOS ping usually only sends a small packet, of like 32
bytes.
Quote:
If only UT sent that 32 byte
. The more data, the higher
the ping gets. Go ahead and try it yourself.
=============================================================
=>
ping 193.213.112.70 -n 32Pinging ut.online.no [193.213.112.70] with 32 bytes of data:
Reply from 193.213.112.70: bytes=32 time=35ms TTL=116
Reply from 193.213.112.70: bytes=32 time=34ms TTL=116
Reply from 193.213.112.70: bytes=32 time=34ms TTL=116
Reply from 193.213.112.70: bytes=32 time=34ms TTL=116
=============================================================
///////////////////////////////////////////////////////////////////////////////
/ TIME= nnn in ms {milliseconds} will vary depending upon your /
/ connection type. /
/ /
/ TTL {Time To Live} will remain the same. /
/ /
/ The ms millisecond time is the culprit. /
/ it suddenly didn't look too good anymore right? /
/ But then again, Mileage may vary depending on your connection . /
////////////////////////////////////////////////////////////////////////////
-----------
NETSPEED!-----------
The netspeed decides how much data you want to send to the server
each second. A netspeed of 5000 will try to send 5000 bytes of
data each second. And yes, for the smart ones out there that
already guessed it, netspeed of 10000 will send 10000 bytes per
second. Also, it tells the server how much data you want to receive
each second. The servers seem to not allow going under 2000,
clients have a minimum of 500.
Some interesting aspect with the
netspeed, is that it limits
your framerate. Your maximum expected framerate online with
netspeed 5000 is 5000/64 = 78fps. You should not get more, you
will often get less. So why /64 you ask? Well, it's kinda simple.
Each time your computer does an update, it sends about 64 bytes
of data. So epic thought, let's do netspeed/64 and limit framerate
that way the client does not exceed netspeed bytes sent per second.
--------------------------------------
-
I GOTTA SET NETSPEED TO 20000 -
--------------------------------------
I found a nice trick myself. I put my netspeed to refreshrate*64
(and then + some for a nicer rounder number). I got 85hz refresh,
*64 = 5440, so I set netspeed to 5500. This gives a nice flickerfree
experience when I play online. To be honest, I had been
experimenting with netspeeds for a while until I found 5500 to be
most pleasant. I didn't know about this *64 thing at the time. Weird
coincidence or facts, you try yourself.
*Now I've said all about netspeed and effects on
client to
server.
Let's take it the other way. What happens if the server wants to
tell me too much. It can only tell me 5500 bytes per second. The
solution is quite simple. The server stops telling you stuff it
feels is not important.
This has been carefully balanced
by Epic to give a great online gaming experience.
Most important stuff like other players & bots have priority to be sent
first. Then comes less important things, like projectiles & effects. So
if the server has too much to tell you, it will put it off until it sees
you have enough bandwidth to receive it. Thus, you get the infamous
"rockets out of thin air"-syndrome. If it has to wait sending stuff
too long, you might not ever receive it. The result of this is you
going dead from invisible stuff, this is often referred to as "WTF??!"
by the players affected.
*****************************************************************************
--------------------------
SERVER ADMINS, read this. --------------------------
You got an option in your .ini file under [
IpDrv.TcpNetDriver]
called
MaxClientRate. The default value of this is usually 20000,
which means,
the client can at maximum get 20000 bytes *FROM* server
per second.
By reducing this value, you can actually optimize the
server bandwidth.If you are planning on running a 10 player server say
on a 512/512kbit sdsl line, you will have 128kbyte up/down, so
setting MaxClientRate to 128000/10 = 12800 means
you will reduce
the chance of having packetloss. This setting will also limit the
client upload rate, forcing him to keep a netspeed between 2000
and MaxClientRate.
**Increasing or Lowering the tickrate has documented effect on the
gameplay.
Also, I'd like to point out the following.
Higher tickrate = higher CPU usage! So setting your blazing server 32
player max superserver to tickrate 100 is rather a bad idea. With higher
tickrates, the bandwidth requirements go up as well. I'd recommend keeping
tickrates at their default if you want more than 10 players on the server.
Get Win32/64 based server, or ... sigh, up the tickrate slightly. Just for
a final note... older WinNT4 SP6 based servers are the ones I like best.
They provide stable gameplay. Win2k based servers give occational
pingspikes, server services and constant checks. Never tried Mac Based
servers. sorrry
*****************************************************************************
==========================================
=
A FINAL NOTE TO LEAVE PEOPLE AT REST!! =
==========================================
So what does this mean? Actually it's quite simple, The WEAPONS fire more
or less bullets depending on the tickrate of the server.
A tickrate of 20
will give you ~10 bullets/second, while increasing to 25 could theoretically
give you 12.5 bullets/second. a 25% increase in damage.
35 tickrate gives about 11 bullets/second. Remember though, this is entirely
theoretical.
The tickrate is not perfect on the server, it will vary a bit.
But it's interesting enough as
Quote:
Different tickrates can be used to
manipulate the power of the WEAPONS
. This is one of the reasons I think
tickrate should stay at a default of 20. Simply to avoid WEAPONS from being
overpowered.
==================================================
=
A typical server setup for gaming I used some time back =
==================================================
[IpDrv.TcpNetDriver]
AllowDownloads=True
ConnectionTimeout=20.0
InitialConnectTimeout=200.0
AckTimeout=1.0
KeepAliveTime=0.2
MaxClientRate=15000
MaxInternetClientRate=10000
SimLatency=0
RelevantTimeout=5.0
SpawnPrioritySeconds=1.0
ServerTravelPause=4.0
NetServerMaxTickRate=50
LanServerMaxTickRate=35
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload
AllowPlayerPortUnreach=False
LogPortUnreach=False
MaxConnPerIPPerMinute=5
LogMaxConnPerIPPerMin=False
3. Fixed netspeed 10000 with ADSL 1.5MBit
4. Tick 50 netspeed 10000
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Hope this helps with players understanding therre setups in
thier own ut2004.ini file.
Happy fraggin and let's get even speed to all.
Regards;
"
JW"