Running a dedicated server
The basic format of running server start command line is:-
UT3.exe Server <map>?<variable1>=<value1>?<variable2>=<value2>.... -login=<login> -password=<password> -unattended
Examples of this would be:-
UT3.exe Server DM-ShangriLa?game=UTGame.UTDuelGame -login=<login> -password=<password> -unattended UT3.exe Server VCTF-Suspense -login=<login> -password=<password> -unattended
NOTE: To launch multiple servers on a machine you must use the ut3.exe binary, not the ut3.com binary. The result of using the .com was, among others, the inability to stop a single instance without killing all the running instances.
Game Types & Mutators
This is a list of the valid gametypes:
|Capture the Flag||UTGameContent.UTCTFGame_Content|
|Vehicle Capture the Flag||UTGameContent.UTVehicleCTFGame_Content|
For mutators you need to set the variable of each mutator:-
Here is a list of Mutators shipped with the Retail Version:
if you want to run more than one mutator separate them with commas:
- 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.
Running Behind a Router/Firewall
1. Setup port forwarding for three ports (all UDP only): 13000, 7777 and 6500 (or whatever port/queryport your server is running on; 7777/6500 are the defaults).
ATM all servers need a unique login, as in no two servers can use the same login. Doing so will mean that one of those servers will not show in the list. This login has to be created via the client "Create Profile". You can create multiple profiles under the same email address but you must use the same password for each if you do so.
The server uses the GameSpy query Protocol ( v4 ) which can be queried with qstat e.g.
qstat -R -gs4 <ip>:<port>
- If you want the map you must currently request server rules with -R as the server doesnt currently return the map in the basic query.
For more details about the query protocol (including the PHP code to do web-based querying and details on the query variables) check out the UT3_query_protocol page.
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.
Server names can be specified in the server's INI file, as of patch 1.1.
The ServerDescription field isn't in plain ascii or text as you and I know it. Instead its in UCS2 aka UTF-16 which is then serialized as numeric strings. It is possible to generate the server description code here: [Cruz's UT3 Server Description Generator]
Edit the ...\UTGame\Config\UTGame.ini. Under the [UTGame.UTGame] section, be sure to have this:
You ment to be able to admin the game using rcon but when we tried it although adminlogin worked none of the subsiquent commands did.
First off login with: AdminLogin <password>
The you can use the following command:
- AdminLogin <password> - Logs you in as an admin
- AdminLogout - Logs you out of admin mode
- AdminRestartMap - Restarts the current map
- AdminChangeMap <MapName> - 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 <playername> - Kicks player from current game
- Adminkickban <playername> - Kicks player from current game and bans player from reconnecting (bans are stored in .ini file for later editing)
- AdminForceVoiceMute <playername> - Blocks a player from sending voip to others
- AdminForceVoiceUnMute <playername> - Allows a player to resume sending voip to others
- AdminForceTextMute <playername> - Blocks a player from sending text to others
- AdminForceTextUnMute <playername> - 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
When your done you can logout with: AdminLogout
Current Issues / Bugs
- The default generated UTGame.ini only contains the last maplist in DefaultGame.ini
- Without -unattended the server will prompt to upgrade the servers config files, particularly if you run more than one server as the same user on a machine
- Running servers under Windows requires the latest Direct3D support installed via the DirectX runtime.
- Each server requires a unique login
- The MessageOfTheDay seperator | doesnt work currently
- Port scanning a server or connecting to a full server can make it show more than the max players connected.
- CPU usage at idle is high
- Generation of the default UTGame.ini is broken for multiple <var1>=<val1> <var1>=<val2>
- Rcon admin commands don't appear to work ATM
- Linux Demo Server crashes when IP is entered in HLSW
- Linux Demo Server requires SSE2 which requires a Pentium 4 class CPU or better. For AMD CPUs this translates to "Athlon64 or better".