UnrealSmall.gif (411 bytes)
Unreal Technology

Resources
Announcements
Downloads
Community

Unreal Tournament
Home Page
Known Issues and Bugs
Performance Tweaks
Running UT  Servers

Console Commands
AI

Licensing
Partners
Features
Licensing FAQ
Company Info

Level Design
UnrealEd Quick Notes
Overview of Zones

Programming
Mod Development
UnrealScript Reference
UnrealScript Black Magic
Networking Architecture
Server Querying
Objects in C++
Engine Redistribution
Localization
True-type Fonts

Other Content Creation
Package Files
Package Commandlet
Audio
Textures
Fire & Water
Music
Mesh LOD Tech
Mesh 3ds2unr Tool
Skeletal Animation

Unreal 1
Unreal 1 Server Tips
Unreal URL's
Master Servers
Console Commands
AI





unrealcomposite.jpg (19818 bytes)

Unreal Tournament Console Commands

Jack Porter
Epic Games, Inc.
http://www.epicgames.com/
Based on the Unreal 1 console commands document.

Audience: Advanced Users, Server Administrators, Programmers.
Last Updated: 10/19/07

Introduction

This is a list of console commands and command line options, most of which are valid for the current version of the UT demo.  The upcoming version of the demo will add a few of the new ones.  The cheat codes will be changed for the full version of UT.

UnrealTournament.exe Command Line Parameters

-changevideo Bring up the video card selection menu
-conflicts Show objects of different classes whose names conflict.
-log Runs with the log window initially visible.
-noddraw Disables DirectDraw support.
-nodsound Disables DirectSound support.
-nogc Disables garbage collection.
-nohard Disables 3d hardware support.
-nok6 Disable AMD K6-3D support.
-nolog Don't show log window.
-nokni Disables KNI (Pentium III) support
-nommx Disables MMX support.
-nosound Disables sound.
-nowarn Disables warning message boxes on the screen.
-profile When C++ is compiled with DO_SLOW_GUARD=1, generates an UnrealScript function profile using the timings in the most recently played level only.
-safe Runs Unreal in "safe mode", avoiding loading any device drivers which could crash if there are hardware/driver problems.
-server Runs as a dedicated server.  See ucc server
-silent Run silently, with no log window, and no display of error messages. Critical errors just cause the engine to exit silently.
INI=inifilename Specify the .ini file to use for configuration. Normally UnrealTournament.ini.
USERINI=userinifilename Specify the .ini file to use for user-specific configuration.   Normally User.ini
LOG=logfilename Uses the specified log file instead of UnrealTournament.log. Useful when running multiple copies on the same machine.
MULTIHOME=12.34.56.78 Sets the "home" ip address (in numerical format) which Unreal Tournament will bind to, for a machine with multiple IP addresses.
PORT=num Sets the UDP port number for the Internet server.
READINI=inifilename Sets the .ini file for reading only (not for writing); overrides the INI= option.

Ucc.exe Command Line Parameters

UCC.exe is the command line UnrealTournament launcher.  It launches a number of "commandlets".   ucc help will give you a list of available commandlets. 

Ucc make

-h Rebuilds all .u files from their source .uc files and generate a C++ header for each package.
-nobind Don't treat UnrealScript/C++ binding errors as critical, for rebuilding scripts and avoiding the chicken-and-egg binding problem.
-strict Treat all script warnings as critical errors; useful for tracking down the call stack when debugging scripts.

Ucc server

Usage: ucc server URL  [parameters]
Most of the parameters valid for unrealtournament.exe are valid for ucc server.
The URL parameter is usually just a map name, but can include a number of options:

  • ?alladmin  - give all players administration access
  • ?game= -specify the game class
  • ?mutator= - specify a list of mutator classes (comma separated)

UnrealScript Console Commands

General console commands

MENUCMD <menu> <menuitem> Perform an UnrealTournament menu item.  For example, MENUCMD 1 0 brings up the Unreal Tournament server browser
SAY <message string> Broadcast a message to other players in the game.
SETNAME <newname> Change your name (works in network play too).
SUICIDE Commit Suicide
TEAMSAY <message string> Broadcast a message to your teammates.

Practice session console commands/cheats.  Most of these will change.

ADDBOTS <number> Adds more bots to the game.
ALLAMMO Gives you all the ammo for your current weapons.
FLY Fly around (instead of walking). See WALK.
GHOST Fly around and go through walls (see WALK).
GOD Makes you invincible.
KILLALL <class name> Kills all actors of a certain class, for example "KILLALL WARHEADLAUNCHER".
KILLPAWNS Kills all bots
PLAYERSONLY Pauses all non-player actors in the game. Cool for debugging scripts, taking screenshots.
SLOMO <number> Sets the game speed, 1.0 is normal.
SUMMON <class name> Spawns an actor of the specified class (for example, SUMMON BOTPACK.WARHEADLAUNCHER) in front of the player.
VIEWCLASS <class name> Cycle through actors of this class, viewing from their locaton.  eg VIEWCLASS BOT
WALK Walk around normally (see FLY, GHOST).

Admin console commands.  Some of the above practice session cheats are available in network play when you're logged in as an administrator.

ADMIN <command> Perform a console command on the server's console
ADMIN SERVERTRAVEL <new level URL> Causes the server to switch to a new level.
ADMIN SET UWeb.Webserver bEnabled True Enable the remote admin webserver (requires a level change to take effect)
ADMIN SET UWeb.Webserver bEnabled False Disable the remote admin webserver (requires a level change to take effect)
ADMINLOGIN password Login as an administrator
ADMINLOGOUT Drop administrator access
KICK <playername> Kick a player
KICKBAN <playername> Kick a player and ban his/her IP.  You'll need to edit your ini file or use the WWW remote admin to unban their IP

C++ Console Commands

These only work on the local machine.

BRIGHTNESS Cycle through 10 screen brightness values.
CANCEL Cancels an "open" command in progress that is trying to connect to a network server.
CDTRACK num Play the specified CD track.
CPUSPEED=# Identify your CPU speed, useful for machines which don't autodetect their speed properly. For example, CPUSPEED=266.
DEMOPLAY <filename>
[?noframecap]
[?timebased]
[?3rdperson]
Play a recorded demo.  noframecap plays the demo back as fast as possible. This option is assumed if timedemo 1 is enabled.  timebased gives a smoother playback if the playback machine is significantly slower than the recording machine.  3rdperson lets you fly around a first person demo as a spectator.  eg demoplay mydemo?3rdperson?timebased
DEMOREC <filename> Record a demo to <filename>
DISCONNECT Disconnect from the current server
ENDFULLSCREEN Go back to playing in a window.
EXEC filename Execute the console commands in the filename, default is in the System directory.
EXIT Exit the game..
FLUSH Flush all caches. Regenerates all lighting, 3d hardware textures, etc.   Can be useful to clear texture corruption due to 3D hardware driver bugs
FOV angle Set the field of view, for example "FOV 90" for 90 degrees.
GETCOLORDEPTHS Get a list of color depths supported by your 3D hardware
GETCURRENTCOLORDEPTH Get the current color depth (16 or 32)
GETCURRENTRES Get the current resolution
GETRES Get a list of available resolutions
HIDEACTORS Hide actors during game play.
JUMPTO x y z In UnrealEd, move the viewport to a certain X,Y,Z location, useful in conjunction with tester reports generated with the REPORT command.
MUSICORDER num Change to a certain track in the song (0=ambient, 1=action, 2=suspense).
NETSPEED number Change your desired network data rate.  Use 2600 for modem, 5000 for ISDN, 20000 for Cable/ADSL/LAN
OPEN url Opens a local map (eg "dm-turbine.unr") or an Internet server (eg "200.0.1.16" or "unreal.epicgames.com").
s_occfactor A3D 2.0 occlusion factor
s_maxnodedist A3D 2.0 maximum node distance
s_reflect 0 or 1 A3D 2.0 reflections
s_occlude 0 or 1 A3D 2.0 occlusions
s_wavetracing 0 or 1 A3D 2.0 Wavetracing
s_refgain A3D 2.0 reflection gain
s_refdelay A3D 2.0 reflection delay
s_maxpoly A3D 2.0 maximum number of polygons
s_maxreflectpoly A3D 2.0 maximum number of reflection polygons
s_polysmall A3D 2.0 smallest polygon size
s_polylarge A3D 2.0 large polygon size
s_a3dsources A3D 2.0 Sources
SETRES WxHxD Set the resolution and color depth.  eg SetRes 800x600x32
SERVERTRAVEL url Change levels from the UnrealTournament Server console window.
STOPDEMO Stop recording or playing back a demo.
PREFERENCES Displays the Advanced Options window.
RECONNECT Reconnect to the current/previous server
SHOT Take a screenshot and save it in the System directory with a consecutive name like Shot0001.bmp.
TOGGLEFULLSCREEN Toggles fullscreen mode on and off.
TYPE Types text on the console.

Also see the Mesh LOD document for Mesh LOD console commands.

Statistics

STAT ACTOR Shows various statistics.
STAT CACHE
STAT CLIP
STAT FILTER
STAT FPS Show frame time in milliseconds
STAT GAME
STAT GLOBAL Shows useful performance timings in milliseconds
STAT HARDWARE
STAT ILLUM
STAT LIGHT
STAT MESH
STAT NET Show network performance statistics including ping, packet loss, bytes/second
STAT POLYC
STAT POLYV
STAT REJECT
STAT OCCLUSION
STAT SOFT
STAT SPAN
STAT ZONE

Debugging

DEBUG CRASH Test crashing the game by appError.
DEBUG EATMEM Test allocating memory until it fills up.
DEBUG GPF Test a general protection fault.
DEBUG RECURSE Test crash by infinite recursion.
DUMPCACHE Display the contents of the memory cache GCache.
DUMPNATIVES Display a list of unused native function ids.
EDITACTOR CLASS=classname During game play, edits the properties of the nearest actor belonging to that class. Cool for debugging.
GET <classname> <variable> Gets the default value for a variable in a class
MARK Mark all objects that are in memory (for garbage collection debugging in conjunction with MARKCHECK).
MARKCHECK Display a list of all unmarked objects that are in memory (for garbage collection debugging in conjunction with MARK).
MEM List memory usage; only works when Unreal is compiled with the memory-tracking option (it's usually not).
MEMSTAT Show Windows overall memory statistics.
OBJ CLASSES Prints a list of all loaded classes.
OBJ DEPENDENCIES PACKAGE=pkgname EXCLUDE1=otherpackage EXCLUDE2=otherpackage... Show package dependencies
OBJ GARBAGE Collect and purge garbage ("garbage" means objects which are no longer in use).
OBJ HASH Show object hashing statistics.
OBJ LINKERS Show a list of active linkers (each linker is responsible for loading objects from a package file).
OBJ LIST CLASS=objectclass INSIDE=insideclass List all objects belonging to the class and residing inside the specified object.  If the class isn't specified, lists ALL objects.  If the inside object isn't specified, shows all objects.  Gives a summary of memory usage.  This is very useful during game play for figuring out how much memory is being used.  In UnrealEd, this statistic isn't useful because a huge amount of extra stuff is loaded which might not be used by your map.
OBJ REFS CLASS=objectclass NAME=objectname Show a list of objects which reference the object you specify.  When trimming memory usage, this is useful for figuring out why some object is being loaded.
REPORT Copies a report of the current gameplay situation to the clipboard.  You can then paste the resulting text into an email program, Notepad, etc. Extremely useful for beta testers, because it dumps the player's X,Y,Z location, the difficulty level, etc.
RMODE Set the rendering mode. 0-9.
SET <class> <variable> <value> Sets the specified property of the specified class with the specified value
SHOWACTORS Shows actors during gameplay.
SOCKETS In network play, shows a list of network sockets (UNetConnection's) in use.
URL urlname In network play, parses a URL and displays its components.

Unreal Tournament Key Bindings

In the Unreal Tournament key bindings (type PREFERENCES to bring up Advanced Options / Advanced / Raw Key Bindings), you can associate console commands and other special input commands with key presses and releases.  In the text box next to a key name, you can type in one or more console commands, separated by the "|" character.  For example, to bind the "S" key to the "Jump" alias, type this:

    Jump

That causes the "Jump" alias to be executed when th user presses the "S" key.  For another example, if you want to bind a chat message to a key, use this:

    Say "Come get some!"

In addition, you can bind multiple actions to a keypress like this, to make the "S" key both jump and say a message.

    Jump | Say "Come get some!"

You can also bind an action to the release of a key by using the OnRelease keyword. For example, you can make the "S" key fire when it's released:

    OnRelease Fire

Or you can make the key jump when pressed, and fire when released:

    Jump | OnRelease Fire

Keys can be bound to any of the following kinds of things:

  • Any console command in the above lists.
  • Any key alias (explained below).
  • Any special input command.

"Special input command" refers to console commands which only make sense in conjunction with the press or release of a key, or the movement of the mouse or joystick along an axis. The special input commands are:

  • BUTTON <UnrealScript boolean variable name>, for example "BUTTON bFire": Maps a button to an UnrealScript variable stored in the Pawn class or any subclass.   This tells the input system to automatically set the variable to True when the key is held down, and False when it's not pressed.  For example, the Pawn script looks at bFire to tell whether the fire button is being held.  The setting of bFire is not some hardcoded behavior of the engine, rather it is propagated into UnrealScript code by the input system, as a result of binding a key to "BUTTON bFire".
  • TOGGLE <UnrealScript boolean variable name>, for example "TOGGLE bLook": Like the BUTTON command, but simply tells the input system to toggle the boolean variable's value when the key is pressed.
  • AXIS <UnrealScript floating point variable name> <SPEED=some number>, for example "Axis aStrafe Speed=-300.0". Maps an analog input axis movement to an UnrealScript variable, scaling it by some factor.  The current axis keys listed in the Advanced Options menu are: MouseX, MouseY, MouseW (Intellimouse wheel), JoyX, JoyY, JoyZ, JoyR (joystick rudder), JoyU, JoyV (joystick alternate axis for example the Panther XL trackball). Supported PlayerPawn axes are aBaseX, aBaseY (base movements which are translated to rotating, strafing, looking, and forward movement based on context), aMouseX, aMouseY, aForward, aTurn, aStrafe, aUp (not used), aLookUp, aExtra0-aExtra4 (not used). To see how the game code processes movement, see the PlayerPawn class's PlayerInput and PlayerTick functions.

In addition to the Advance Options menu, you can also bind keys from the console using the following command:

	SET INPUT <keyname> <binding>

For example:

	SET INPUT X Fire
	SET INPUT Enter Fire

Unreal Tournament Key Aliases

Key aliases are listed in Advanced Options / Advanced / Input Aliases.  Aliases provide a convenient way to map one word (for example, "Jump") to a complex series of console commands that carry out a particular action.  For example, the "Fire" alias is defined as: "Fire | Button bFire".  This has the effect of calling the UnrealScript "PlayerPawn.Fire" function (aliases are not recursive), and then causing the input button bJump to be set to True as long as the key is held.