Unreal Tournament 3 Server Installation Guide

Unreal Tournament 3 Server Installation Guide

This [non-profit] document, which is neither affiliated with Epic Games, nor supported by them, is a guide only. It aims to be as accurate as possible, to help UT3 gamers/ Developers get the most out of UT3. Due to regional variances, the gathering & processing of information and other factors, some information may be inaccurate/ outdated.

Use at your own risk. Anyone, whether directly or indirectly, involved in this document should be excluded from the accountability or responsibility of any issues caused to your game &/or equipment from using this guide.

Some of this information can be adapted for other Unreal & Unreal Engine Based games

Before we get started

  • You do not need your UT3 DVD for this.
  • Download the UT3 dedicated server patch or use the pack provided (links at end)
  • Pack should contain UTOrbFix, Gamespy fix, ExploitFix, webadmin
  • Read the tutorial links provided to gain a better understanding of the UT3 server.
  • The installation of a UT3 server is not guaranteed.
  • Always install as admin
  • This guide does not cover Linux
  • learn the commands and what they do (see common command lines)
  • For more information, see check the links or official Epic forums

Installing the server

  • Install the dedicated Server
  • Restart PC
  • Open Ports for PC (See Ports)
  • Open Ports for GameSpy (see gamespy notes)
  • Copy the folder to the directory OR
  • Update the game like you would normally with the latest patch is installed
  • (run server log in to test )

 

Main Ports (Also see more port info for additional ports)

UDP

  • 6500 (Query)
  • 6515 (Dplay UDP)
  • 7777 (Port for UT3 – default is 7777, you can change in server setup)
  • 13000 (Port for UT3)
  • 13139 (Custom UDP Pings)
  • 27900 (Master Server UDP Heartbeat)

TCP

  • 3783 (Voice)
  • 6667 (IRC)
  • 28900 (Master Server List Request)
  • 29900 (GP Connection Manager)
  • 29901 (GP Search Manager)

 

Config Changes

  • Change the lines in red to your information
  • Add any lines that are missing

UTEngine

[OnlineSubsystemGameSpy.OnlineSubsystemGameSpy]

bHasGameSpyAccount=True

EncryptedProductKey=NotForShip

QueryPort=6500

MaxRemoteTalkers=16

bIsUsingSpeechRecognition=True

MaxLocalTalkers=1

StunServerAddress=stunserver.org

StunServerAddress=stun.xten.com

StunServerAddress=99.99.999.999:7777.com

 

UTWebAdmin

 

[WebAdmin.BasicWebAdminAuth]

RequireUsername=Admin

 

[WebAdmin.WebAdmin]

bHttpAuth=True

 

UTWeb

[UWeb.WebServer]

ListenPort=1234

bEnabled=True

 

My example:

99.99.999.99:7777.com

http://192.168.2.2/ServerAdmin/current

StunServerAddress=stunserver.org

StunServerAddress=stun.xten.com

StunServerAddress=99.99.999.99:7777.com

 

  • One command line is bugged and requires settings to be made in the UTGame.ini
  • ?BotSkill=5
  • Please do not include this in your command lines
  • Skill range = 0-7 and can be set in your UTGame.ini
  • GameDifficulty=5

 

Server Instructions

  • Rename the Directory below to your directory
  • Rename the IP ADDRESS below to your directory
  • Copy all of it into a notepad document and save it as a “.bat” file. (batch file)
  • This must be all on one line and will be explained later, first get it working

:one

C:

cd\UT3\Unreal Tournament 3\Binaries

UT3.exe Server  VCTF-Necropolis?maxplayers=24?MinNetPlayers=0?NumPublicConnections=24?NumPrivateConnections=0?NumOpenPublicConnections=24?NumOpenPrivateConnections=0?bShouldAdvertise=True?bIsLanMatch=False?bUsesStats=True?bAllowJoinInProgress=True?bAllowInvites=True?bUsesPresence=True?bAllowJoinViaPresence=True?bUsesArbitration=False?bIsDedicated=True?bIsListPlay=True?AverageSkillRating=2987.000000?EngineVersion=3810?MinNetVersion=3467?ServerIP=999.99.999.999?BotSkill=5?Difficulty=5?Numplay=10?game=UTGameContent.UTVehicleCTFGame_Content -multihome=999.99.999.999 -Login=xxxx -Password=xxxx -Port=7777 -QueryPort=6500 -nohomedir -unattended -log=server.log

 

UT3 Server Admin Commands:

  • AdminLogin – Logs you in as an admin
  • AdminLogout – Logs you out of admin mode
  • AdminRestartMap – Restarts the current map
  • AdminChangeMap – Loads a different map (gametype will change too, depending on map)
  • Admin addbots <#> – Adds number of bots
  • Admin killbots – Removes all bots
  • AdminPlayerList – Shows PlayerID of players
  • Adminkick – Kicks player from current game
  • Adminkickban – Kicks player from current game and bans player from reconnecting (bans are stored in .ini file for later editing)
  • AdminForceVoiceMute – Blocks a player from sending voip to others
  • AdminForceVoiceUnMute – Allows a player to resume sending voip to others
  • AdminForceTextMute – Blocks a player from sending text to others
  • AdminForceTextUnMute – Allows a player to resume sending text to others
  • AdminPublishMapList – Overrides the server’s map list for the current game type with the one on the client that used the command

 

Server Administration for Unreal Tournament 3

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

Running a PC Dedicated Server

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:
  • 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

 

How to connect to servers: Example; Server IP is 199.99.99.99

  • Load Game

Press F10 & Type:

  • open 99.999.999.999:8377?password=w4rfaCe
  • (only for admin login)
  • Note: 99.999.999.999 needs to be changed to you IP, the 8377 is the port that can be open
  • Command Line to Start a UT3 server

Note:

o     Copy the following text to a notepad file, edit as needed & save as a “.bat” file.

  • [Host UT3] Start > Run > CMD
  • -h 92.9.135.43 -a 127.0.0.1 –v
  • 99.99.999.99:7777.com
  • http://192.111.9.9/ServerAdmin/current
  • StunServerAddress=stunserver.org [can be removed]
  • StunServerAddress=stun.xten.com [can be removed]
  • StunServerAddress=99.99.999:7777.com [replace with yours]

Example:

User: adminforut3server

Pass: passwordforut3server

Query Protocol

The server uses the GameSpy query Protocol ( v4 ) which can be queried with qstat e.g.

qstat -R -gs4 <ip>:<port>

Common Variables

  • MaxPlayers=<number> Maximum number of players on the server (overrides ini setting)
  • MinNetPlayers=<number> Minimum number of players before a match starts (real players not bots)
  • bShouldAdvertise=[True|False] Show the server in the server browser (default: true)
  • bIsLanMatch=[True|False] Is this a LAN only game? (default: false)
  • bIsDedicated=[True|False] Changes dedicated server flag (default: false, even if started as dedicated)
  • GamePassword=<password> Sets a game password
  • AdminPassword=<password> Sets an admin password
  • Port=<port> Sets the server game port (default: 7777; can also be changed via the INI file)
  • QueryPort=<port> Sets the server query port (default: 6500)
  • GoalScore=<number> Sets the max frags / max caps before the server will change maps.
  • bUsesStats=[True|False] Report stats or not?
  • TimeLimit=<number> Sets the timelimit in minutes for each map.

Most of these can be set in the server’s INI file, so there’s no need to clutter up the command line.

 

*Added few more since i got the GAMETRACKER TO WORK

FIRST OF ALL i removed DMZ and openned these ports and it workded INSTANTLY:

UDP Any -> 6667
UDP Any -> 8777
UDP Any -> 9777
UDP  Any -> 8000 <—Webadmin
UDP  Any -> 6500 <—GAMETRACKER
UDP Any -> 13000
UDP Any -> 42292
UDP Any -> 27900
UDP Any -> 7777-7788
UDP Any -> 27000-28000
UDP Any -> 29900-29901
TCP Any -> 27000-28000
TCP Any -> 29900-29901
TCP Any -> 7777-7788
TCP Any -> 27900
TCP Any -> 42292
TCP Any -> 13000
TCP  Any -> 8000 <—Webadmin
TCP  Any -> 6500 <—GAMETRACKER
TCP Any -> 9777
TCP Any -> 8777
TCP Any -> 6667

 

 Multiple Servers on One Machine

Each server process needs to run under a different gamespy account (can be created in the game). Important things to note are:

  • The -nohomedir command forces the servers to use the install directory instead of My Documents…
  • The -configsubdir=<serverfoldername> will create a folder under ..\UTGame\config\ so each server instance can have it’s own ini files
  • -login=<login> and -password=<password> as these must be unique
  • The servers port is changed with -Port=<port> in the URL, or via the setting in UTEngine.ini
  • The servers query port is changed with -QueryPort=<port>
  • You must specify -unattended as without it you will get prompted to confirm the upgrade of the server’s configuration files. This option needs to be last in the command line.

Note: -configsubdir= does not work unless -nohomedir is specified.


Enable Mapvote

Edit the …\UTGame\Config\UTGame.ini. Under the [UTGame.UTGame] section, be sure to have this:

  • bAllowMapVoting=True
  • VoteDuration=45
  • GameSpecificMapCycles=(GameClassName=”UTDeathmatch”,Maps=(“DM-Arsenal”,”DM-Biohazard”,”DM-CarbonFire”,”DM-Deck”,”DM-Defiance”,”DM-Deimos”,”DM-Diesel”,”DM-Fearless”,”DM-Gateway”,”DM-HeatRay”,”DM-RisingSun”,”DM-Sanctuary”,”DM-Sentinel”,”DM-ShangriLa”))
  • GameSpecificMapCycles=(GameClassName=”UTTeamGame”,Maps=(“DM-Arsenal”,”DM-Biohazard”,”DM-CarbonFire”,”DM-Deck”,”DM-Defiance”,”DM-Deimos”,”DM-Diesel”,”DM-Fearless”,”DM-Gateway”,”DM-HeatRay”,”DM-RisingSun”,”DM-Sanctuary”,”DM-Sentinel”,”DM-ShangriLa”))
  • GameSpecificMapCycles=(GameClassName=”UTCTFGame_Content”,Maps=(“CTF-Coret”,”CTF-Hydrosis”,”CTF-Reflection”,”CTF-Vertebrae”,”CTF-OmicronDawn”,”CTF-Strident”))
  • GameSpecificMapCycles=(GameClassName=”UTVehicleCTFGame_Content”,Maps=(“VCTF-Containment”,”VCTF-Corruption”,”VCTF-Kargo”,”VCTF-Necropolis”,”VCTF-Sandstorm”,”VCTF-Suspense”))
  • GameSpecificMapCycles=(GameClassName=”UTOnslaughtGame_Content”,Maps=(“WAR-Avalanche”,”WAR-Downtown”,”WAR-Dusk”,”WAR-FloodGate”,”WAR-Islander”,”WAR-Islander_Necris”,”WAR-MarketDistrict”,”WAR-OnyxCoast”,”WAR-Powersurge”,”WAR-Serenity”,”WAR-Serenity_Necris”,”WAR-SinkHole”,”WAR-TankCrossing”,”WAR-Torlan”,”WAR-Torlan_Leviathan”,”WAR-Torlan_Necris”))
  • GameSpecificMapCycles=(GameClassName=”UTDuelGame”,Maps=(“DM-Arsenal”,”DM-Biohazard”,”DM-CarbonFire”,”DM-Deck”,”DM-Defiance”,”DM-Deimos”,”DM-Diesel”,”DM-Fearless”,”DM-Gateway”,”DM-HeatRay”,”DM-RisingSun”,”DM-Sanctuary”,”DM-Sentinel”,”DM-ShangriLa”))

 

Game Types & Mutators

This is a list of the valid gametypes:

Name GameType
Deathmatch UTGame.UTDeathmatch
Capture the Flag UTGameContent.UTCTFGame_Content
Warfare UTGameContent.UTOnslaughtGame_Content
Vehicle Capture the Flag UTGameContent.UTVehicleCTFGame_Content
Team Deathmatch UTGame.UTTeamGame
Duel UTGame.UTDuelGame

For mutators you need to set the variable of each mutator:-

  1. Mutator=<MutatorIdentifier>

Here is a list of Mutators shipped with the Retail Version:

Name MutatorIdentifier
Instagib UTGame.UTMutator_Instagib
BigHead UTGame.UTMutator_BigHead
Low Gravity UTGame.UTMutator_LowGrav
Super Berserk UTGame.UTMutator_SuperBerserk
Friendly Fire UTGame.UTMutator_FriendlyFire
No Translocator UTGame.UTMutator_NoTranslocator
Speed Freak UTGame.UTMutator_SpeedFreak
Handicap UTGame.UTMutator_Handicap
No Powerups UTGame.UTMutator_NoPowerups
Slomo UTGame.UTMutator_Slomo
Weapon Replacement UTGame.UTMutator_WeaponReplacement
Weapon Respawn UTGame.UTMutator_WeaponsRespawn

 

Useful Server Tutorial Links

Credits:Document Changelog: Created by Richard Nalezynski?.

 

 

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s