UDN
Search public documentation:

UT3Servers
日本語訳
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

Server Administration for Unreal Tournament 3

Document Summary: Definitive guide to server administration for the third generation Unreal Tournament game.

Document Changelog: Created by Richard Nalezynski?.

Introduction

Running a dedicated Unreal Tournament server can be a fun and rewarding experience; and for some, it is a full-time job. Run servers helps to keep the Unreal community alive!

This document is intended to give interested server admins the information they need to successfully run their own server.

For more information, see the official Epic forums for Unreal Tournament 3: http://forums.epicgames.com/forumdisplay.php?f=20.

Running a Dedicated Server

For PC Servers

UT3 server <map name?options?etc> <-login> <-password>

server required to start up in dedicated server mode. The first argument after this must be the map name.

map name enter the name of the map you'd like to launch on the server (for instance: "UT3Demo server DM-Heatray -login -password" will launch a dedicated server on DM-Heatray with default settings)

-login= You must indicate a valid GameSpy? login to start a dedicated server from the commandline. You can create these in-game under "Create Profile" on the title screen. These options must be the last in the command line, after any ?options.

-password= The matching password to the login must also be indicated. You can create these in-game under "Create Profile" on the title screen. These options must be the last in the command line, after any ?options.

?numplay=x The number of AI bots you'd like in the game. These bots will quit as human players join the game, and replace them when they quit.

?maxplayers=x The number of human or AI players you want in your game. This is the number that is reflected on the server browser.

?timelimit=x Determines the amount of time that must elapse before the server rotates to the next map. A victory by either team before this time limit is reached will trigger a rotation as well.

?goalscore=x Determines the number of 'scores' required to trigger a server rotation. In CTF this is flag captures. In DM/TDM the number of kills per individual or team.

?botskill=x The skill level of the AI bots. Ranges from 0-7 with 7 being the most difficult.

?minnetplayers=x The minimum number of human players required for a match to start.

?game=UTGame.UTTeamGame Forces a DM map to be a TDM match.

?forcerespawn=x Forces fragged players to instantly respawn. 0 for off, 1 for on.

?vsbots=x Forces all humans to one team and all bots to the other. Additionally it determines whether the bots will outnumber the humans. 1.0 indicates an equal number of AI bots to humans, 1.5 indicates the bots will outnumber the humans by 50%, and 2.0 indicates the bots will outnumber the humans by 100%.

?bUsesStats=x Determines whether the stats acquired on the server will be reported to the leaderboards. True for yes, False for no.

Example:

ut3 server DM-Deck?numplay=8?maxplayers=8?timelimit=20?goalscore=40?botskill=3 -login=FakeUser -password=FakePassword

This configuration would start a DM-Heatray free-for-all with 8 players. There would be 8 bots until players joined at a middle difficulty level. It would show up in the server browser as FakeUser.

For PS3 Servers

With the release of the recent PS3 patch (released today), we have a PC dedicated server for for PS3 clients. This is only for PS3 clients, this does not support PC vs PS3 play (mostly because of the differences in the gamerate).

Instructions:

First, install the dedicated server (the default installation directory is the same as the PC dedicated server, so you will want to change the directory if you have the PC dedicated server installed)

Since this server runs in the PS3 GameSpy? namespace, you will need to create a PS3 namespace GameSpy? account. It can be the same username as your PC GameSpy? account, but they will be separate accounts. To do that, run the CreateAccount?.bat file:

CreateAccount.bat MyUserName MyPassword MyEmailAddr

From a commandline, run the following:

utgame server <map?option?option> -seekfreeloading -login=MyUserName -password=MyEmailAddr

Of course, be sure to set the the map, options, and GameSpy? info as normal. Note that it's utgame.exe, not ut3.exe, and you need the -seekfreeloading option.

The server will now show up (as MyUserName?) in the PS3 server browser.

NOTE: Package downloading will not work, so this is really just for straight-up shipped maps, mutators, etc. There will probably be too many incompatibilities between maps/mods cooked for PS3 vs PC, and the PS3 would need to have installed the mod by hand, but if you try it put a password on the server so we there aren't too many PS3 clients connecting to problematic issues. Adding mods to a PC DS for PS3 is not a supported operation.

Admin Commands

These commands allow the server operator to manage the server remotely. Once logged into the server, the admin will be able to kick and ban trouble players.

?AdminPassword=<password>: Append to the end of the command line argument to start the server.

Example:

ut3 server DM-Deck?numplay=8?maxplayers=8?timelimit=20?goalsc ore=40?botskill=3?AdminPassword=FakeAdminPW -login=FakeUser -password=FakePassword

When a player is logged into the server, they can access Admin commands by bringing down the Console by pressing the ~ (tilde) key and typing:

AdminLogin <password>

Example:

AdminLogin FakeAdminPW

To logout of Admin mode bring down the console and type:

AdminLogout <password>

Example:

AdminLogout FakeAdminPW

To kick a player while Admin on server type:

Adminkick <playername>

Example:

Adminkick AnnoyingPlayer

To kick and ban a player while Admin on server type:

Adminkickban <playername>

Example:

Adminkickban OffensivePlayer

Removing a restriction on a banned player can be done by modifying the utgame.ini file for the server. This is stored by default in the following location:

C:\Documents and Settings\<Windows User Name>\My Documents\My Games\Unreal Tournament 3 Demo\UTGame\Config.

To change the map the server is playing while Admin type:

Adminchangemap <mapname>

Example:

Adminchangemap DM-Deck

Note that the goal and time limits will persist from the arguments used in the commandline when starting the server. This can lead to problems where a reasonable VCTF score limit of 3 will translate to a frag limit of 3 when when switching gametypes this way. Leaving those limits blank when starting the server will however use the defaults for the gametype. This allows some flexibility in switching gametypes using this command.

Web Admin

A separate web admin application has been created - separate from the core game patch to permit faster iteration and updates to this critical feature.

You can download the latest web admin patch here: http://www.epicgames.com/download/WebAdminPatch.zip

NOTE: Be sure that the latest patch is installed!

Follow these steps to install: 1. Extract the contents of the WebAdminPatch?.zip archive into the root folder of your UT3 server installation. Be sure to preserve the folder structure contained within the archive file.

2. Start your server. This will create a new configuration file in your /UTGame/Config/ folder: UTWeb.ini

3. Shut down your server.

4. Open /UTGame/Config/UTWeb.ini in a text editor.

5. Make the following changes to the file, setting the webserver port to whatever you desire (default is 80):

    [UWeb.WebServer]
    ListenPort=80
    bEnabled=true

6. Save this file, restart your UT3 server. This will create a new configuration file in your /UTGame/Config/ folder: UTWebAdmin?.ini

7. Shut down your server.

8. Open /UTGame/Config/UTWebAdmin.ini in a text editor.

9 Make the following optionsal changes to the file:

    [WebAdmin.WebAdmin]
    bHttpAuth=true

    [WebAdmin.BasicWebAdminAuth]
    RequireUsername=Admin

You don't have to set bHttpAuth to true. When you leave it to false you get a nice log in form and the ability to remember authentication information (for 1 month). With bHttpAuth set to true the web admin will use "basic" http authentication (like the previous versions of the webadmin).

The RequireUsername? setting is also optional, when it's left blank any username is accepted. This way multiple admins can log in on the server using different names. The log in name is also used as nickname during chat.

10. Save the file, restart your UT3 server.

11. Test Web Admin functionality by opening a web browser and pointing it to your server IP address. If you changed the default port then specify the port in the URL.

12. Login using the following info: - username: Admin - password: [YourServerAdminPassword]

Benchmarking

Demo

Unlike the full game, the demo does not contain demo recording functionality. But not all hope is lost for benchmarking as most maps in Unreal Tournament 3 have a flyby that can be used to benchmark GPU performance of static geometry. This means there are no weapon FX and AI overhead, but at least it's something

Below is the commandline that we use for this purpose:

MAPNAME?causeevent=FlyThrough?quickstart=1?nocusto mchars=1?numplay=0 -seconds=300 -unattended -novsync -fixedseed -CaptureFPSChartInfo -nomoviestartup

You may want to remove the "-CaptureFPSChartInfo" if you want to use an external capture application. By default data is written to the Stats folder in your My Documents folder.

Additionally, you will want to modify UTEngine.ini and set bSmoothFrameRate from TRUE to FALSE to disable frame-rate smoothing/limiting, as follows:

[Engine.GameEngine]
bSmoothFrameRate=TRUE

Another form of benchmarking is to run botmatches as a spectator, though the variance between runs is fairly high, so this is mostly good for broader comparisons and trending. Having said that, it does fully test your system the way that playing against bots would and also stresses the GPU via weapon effects, player models and such.

The commandline that we use for this purpose is

MAPNAME?numplay=12?timelimit=5?automatedperftestin g=1 -unattended -novsync -fixedseed -CaptureFPSChartInfo -nomoviestartup

The results of the benchmarking will be put in the following location in the form of a HTML page per level, with newer runs at the top:

My Documents\My Games\Unreal Tournament 3 Demo\UTGame\Stats