Audience: UT Server Administrators
Last Updated: 08/31/00
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 UT.
The UT 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 UT 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.
In the UT 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 UT. 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.
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 UT 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:
Change the "bEnabled=False" line to read "bEnabled=True".
Should you need to change the port number the internal UT 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 UT 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 UT 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.
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.
ucc server dm-Turbine?game=Botpack.DeathMatchPlus ini=server1.ini log=server1.log
ucc server ctf-coret?game=Botpack.CTFGame multihome=184.108.40.206 ini=server2.ini log=server2.log
ucc server dom-Sesmar?game=Botpack.Domination multihome=220.127.116.11 ini=server3.ini log=server3.log
It's a good idea to make a small batch file which restarts the server should it crash:
ucc server dm-Turbine?game=Botpack.DeathMatchPlus ini=server1.ini log=server1.log
copy server1.log server1crash.log
Should you get a server crash, please mail the logfile to firstname.lastname@example.org.
Each copy of the UT 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. UT'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=18.104.22.168 ini=server1.ini log=server1.log
start ucc server dom-Sesmar?game=Botpack.Domination multihome=22.214.171.124 ini=server2.ini log=server2.log
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 UT server from a web browser running on the server machine, Use a URL such as the following:
Or if your copy of UT's Webserver is running on a custom port number (with the ListenPort option)
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 admin is divided into two parts:
You'll want to change the following Defaults | Server options the first time you configure your server.
"Creeping Ping" bug with Win2000
Some server admins have reported that after a while all of the players get increasingly
lagged out when the UT 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:
The workaround is to only run the remote admin webserver when you actually want to administer your
server. Disable the remote admin webserver by removing the line which says
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
> 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.