Introduction for Running Unreal Tournament 1999 GOTY Servers
This
document outlines the steps needed to configure an Unreal Tournament
server from inside the game, and from the command line. It also
explains how to use the WWW-based remote administration features built
into Unreal Tournament 1999.
Configuring and Launching a Dedicated Server from Inside the Game
Enabling Web-based Remote UT
The
Unreal Tournament 1999 server has an internal webserver which is used
to remotely administer the game, but it is disabled by default. This is
accessible under Options Menu, in Advanced Options. Expand the tree to find Networking | WebServer | bEnabled. Set bEnabled to True. You may also like to change the ListenPort value to something other than 80, if your server machine is already running another webserver such as IIS on port 80
Also in Advanced Options, under Networking | Web-based Remote Administration, you can find the username and password required to access the remote administration through your web browser.
WARNING:
Web-based remote administration of Unreal Tournament 1999 servers
running on Windows 2000 may experience problems (periods of extremely
high pings) due to a problem with the Win2000 TCP/IP stack. See the
section on Remote Administration below.
Launching the Server
In the Unreal Tournament 1999 menus, choose Multiplayer | Start New Internet Game. Choose the gametype and map you want to run. Press the Map List
button to configure the maps which will be cycled on your server. Use
drag-and-drop to add or remove a map from the map list cycle. Press the
Mutators button to enable any mutators you want to run on your server. Make sure Auto Change Levels is checked, or the server will run the same map over and over again. Go to the Rules and Settings tabs to ensure the game rules and settings are configured the way you want them.
If you want Bots on your server, go to the Bots tab and set the Minimum Total Players
to a number greater than 0. If you choose 6, bots will come into the
server when there are less than 6 human players connected. When a human
connects, a bot will leave. In team games, be sure to check the Balance Teams checkbox so that the bots change teams to keep the number of players on each team balanced.
Under the Server tab, be sure to give your server a Server Name, and to check the Advertise Server
checkbox. This advertises your server to the master server, so players
can find your server even if they're not on your local LAN. Check the ngWorldStats Logging checkbox to have your server participate in ngWorldStats for Unreal Tournament 1999. The Optimize for LAN checkbox should only be set if your server is intended for a LAN play only. DO NOT
check this checkbox if you intend to have people on the Internet
connect to you, or they might find internet play isn't as good as it
could be.
Finally, press the Dedicated
button to launch the dedicated server. Once your server is configured,
you can later launch it from the command line - it will retain all the
settings you've configured for it.
Launching a Dedicated Server from the Command Line Enabling Web-based Remote Administration
Before
you launch a dedicated server from the command line for the first time,
you first need to edit your
C:\UnrealTournament\System\UnrealTournament.ini file to enable
WWW-based remote administration. The Unreal Tournament 1999 server has
an internal webserver which is used to remotely administer the game,
but it is disabled by default.
Open C:\UnrealTournament\System\UnrealTournament.ini with NotePad and find the following section:
[UWeb.WebServer]
Applications[0]=UTServerAdmin.UTServerAdmin
ApplicationPaths[0]=/ServerAdmin
bEnabled=False
Change the "bEnabled=False" line to read "bEnabled=True".
Should
you need to change the port number the internal Unreal Tournament 1999
webserver runs on (eg if your server is already running another
webserver such as IIS on port 80), add a new entry under
[UWeb.WebServer] which says "ListenPort=8888", to run
the Unreal Tournament 1999 webserver on the custom port number. Note
that if you run multiple servers on the same machine (and bound to the
same IP address), each webserver needs to be running on its own port
number. More on this shortly.
Just below the
[UWeb.WebServer] section is the [UTServerAdmin.UTServerAdmin] section.
You need to change the username and password required to remotely
admnister your Unreal Tournament 1999 server. If you leave your
username and password set at the default values of admin and admin respectively, someone is sure to take control of your server and do evil things to your players.
Launching the Server from the Command Line
The syntax for running a server from a command line is as follows:
C:\UnrealTournament\System> ucc.exe server mapname.unr?game=GameType [port=portnum] [multihome=ipaddress] [ini=inifilename] [log=logfilename]
port - the optional base port number the server uses.
ini - the name of the ini file the server uses. This defaults to unrealtournament.ini
log - the name of the logfile the server generates. The default is ucc.log
multihome - the IP address the server should bind to, where the server has multiple local IP addresses.
GameType - one of Botpack.DeathMatchPlus, Botpack.Domination, Botpack.CTFGame.
Some examples:
ucc server dm-Turbine?game=Botpack.DeathMatchPlus ini=server1.ini log=server1.log
ucc server ctf-coret?game=Botpack.CTFGame multihome=204.12.54.28 ini=server2.ini log=server2.log
ucc server dom-Sesmar?game=Botpack.Domination multihome=204.12.54.29 ini=server3.ini log=server3.log
It's a good idea to make a small batch file which restarts the server should it crash:
:top
c:
cd \unrealtournament
\system
ucc server dm-Turbine?game=Botpack.DeathMatchPlus ini=server1.ini log=server1.log
copy server1.log server1crash.log
goto top
Should you get a server crash, please mail the logfile to utbugs405@epicgames.com.
Multiple Servers Per Machine
Each copy of the Unreal Tournament 1999 dedicated server can serve one and only one level at a time.
However,
you can run multiple level servers on one machine. Each copy of the
server should have its own unique copy of the unrealtournament.ini
file, with its own configuration. This is specified with the ini
command line option. If you want to enable remote administration on
multiple servers on the same machine, and you're not using multihome to specify a unique IP address to bind to, you'll need to give each webserver a unique ListenPort number.
You
should give each server a unique base UDP port number. Unreal
Tournament 1999's default port number is 7777. To specify a port, use
the port command-line option as shown above. Be sure
to space the port numbers 10 apart as each server requires a number of
UDP ports. eg:
ucc server ctf-coret?game=Botpack.CTFGame ini=server1.ini log=server1.log port=7770
ucc server dom-Sesmar?game=Botpack.Domination ini=server2.ini log=server2.log port=7780
Some
Windows NT servers have more than one IP address defined (under
Advanced in the TCP/IP control panel). If this is the case, you can run
multiple servers on the same machine without configuring different port
numbers. Specify the IP address for the server to listen on using the multihome option. This batch file starts two servers, each binding to a different IP address.
start ucc server ctf-coret?game=Botpack.CTFGame multihome=204.12.54.28 ini=server1.ini log=server1.log
start ucc server dom-Sesmar?game=Botpack.Domination multihome=204.12.54.29 ini=server2.ini log=server2.log
Remote Administration
Once
the server is up and running, and the remote administration is enabled,
you can access your Unreal Tournament server with any Web Browser.
Internet Explorer 4 or 5 is recommended, but it should work fine with
Netscape 4 also. To access your Unreal Tournament 1999 server from a
web browser running on the server machine, Use a URL such as the
following:
http://127.0.0.1/ServerAdmin
Or if your copy of Unreal Tournament 1999's Webserver is running on a custom port number (with the ListenPort option)
http://127.0.0.1:8888/ServerAdmin
Of
course, substitute 127.0.0.1 for the IP of your server to administer it
from a web browser on another computer. Your web browser will then
prompt you for a username and password. The remote administration is
divided into two parts:
- Current
- Administer the current game in progress - view the player list,
kick/ban players, add bots, change the current map, access the server
console and chat to players.
- Defaults - Change the map list, rules and settings for each game type, configure server-level options, and administer the IP ban list.
You'll want to change the following Defaults | Server options the first time you configure your server.
- Server Name - the name of your server
- Advertise Server - check this on to advertise your server to the master server
- ngWorldStats Logging - tcheck this on to have your server participate in ngWorldStats for Unreal Tournament 1999.
"Creeping Ping" bug with Win2000"
Some server admins have reported that after a while all of the players get increasingly
lagged out when the Unreal Tournament 1999 server is running on Windows 2000. This seems to happen only
when the remote administration webserver is running. We believe it may be related
to this Win2K issue:
http://support.microsoft.com/support/kb/articles/Q258/1/00.ASP?LN=EN-US&SD=tech&FR=0
The workaround is to only run the remote admin webserver when you actually want to administer your
server. Disable the remote administration webserver by removing the line which says
ServerActors=UWeb.Webserver
in your server's INI file. To activate the webserver, join your server as an admin and
type the following command:
admin summon uweb.webserver
When you've finished administering your server, you can disable the webserver with the command
admin killall webserver
Performance For Unreal Tournament 1999 GOTY Servers
- Make
sure to match the maximum number of users for your server to the
bandwidth you have available. The amount of bandwidth required for each
user is determined by the MaxClientRate, which is set
by default to 20000 bytes/sec. If your upstream bandwidth is limited
(for example a cable modem), you should reduce this value. Make sure
that the number of players your server allows (MaxPlayers) multiplied by MaxClientRate is less than your available bandwidth (in the case of cable modems or xDSL, your upstream bandwidth).
The MaxClientRate variable can be changed by editing your UnrealTournament.ini file in your UnrealTournament\System directory. MaxClientRate is in the [IpDrv.TcpNetDriver] section.
When you have your MaxPlayers or MaxClientRate
set too high for your upstream bandwidth, you typically see everyone's
ping get progressively higher, above 1000 and beyond. This occurs
because your server is generating too much outgoing data for your
internet connection to handle, and the data begins to back up.
> What should the MaxClientRate be set to, to allow good ping on an ADSL Server? And how many players would work well too?
It
really depends on your ADSL provider. You need to work out what your
maximum upstream bandwidth is in Bytes per second. One way to do this
would be to ICQ a large file to a friend who is on DSL or cable, and
look at what the transfer rate is, or if you know what it is in bits
per second, divide by 8. ie 256kbps upstream bandwidth is around 32000
bytes per second.
Once you have that number,
work out what maxclientrate you want to give everyone. 2600 is the bare
minimum and it'll give modem-like netplay for everyone. 5000 is fine
for modem and ISDN users but the play won't be quite as good as it
could be for ADSL or cable users. 20000 is the largest you should ever
go. The number of players you can support is the upstream bandwidth in
bytes per second divided by the MaxClientRate you chose. So with 32000
bytes per second of available bandwidth, you could support:
32000 / 2600 = 12 players at modem quality play
32000 / 5000 = 6 players at ISDN quality play
32000 / 10000 = 3 players at better-than-ISDN quality play
32000 / 20000 = 1 player at LAN quality play.
I'd go for the 6 players at 5000 if all I had as 256kbps upstream
bandwidth, because 5000 doesn't play too bad at all, and it's a good
compromise.
- We
recommend disabling local NGStats for internet servers. Processing the
NGStats logs takes some time between levels, which may result in remote
clients getting disconnected. You can find this setting in the
options->preferences menu, under the game tab.
- Admininstrators
can control downloading of packages from their server by editing the
[IpDrv.TcpNetDriver] section of unrealtournament.ini:
[IpDrv.TcpNetDriver]
AllowDownloads=True
MaxDownloadSize=0
AllowDownloads disables all autodownloads.
MaxDownloadSize=0 means allow autodownload of any sized file. Otherwise
the value is in BYTES. We recommend that rather than disabling all
downloads, you set the MaxDownload size to an appropriate value. For
example, MaxDownloadSize=100000 will allow mutators and other small
packages to be downloaded, but will not allow large files such as maps
to be downloaded. Turning off all downloads may make it hard for
clients to get on your server if you are using a lot of custom maps,
mutators or other custom packages.
|