Unreal Tournament 2004

From PCGamingWiki, the wiki about fixing PC games
This page may require cleanup to meet basic quality standards. You can help by modifying the article. The discussion page may contain useful suggestions.
Unreal Tournament 2004
Unreal Tournament 2004 cover
Developers
Epic Games
Digital Extremes
Psyonix
macOS (OS X) Ryan C. Gordon
Linux Ryan C. Gordon
Publishers
Atari
Engines
Unreal Engine 2.5
Release dates
Windows March 16, 2004
macOS (OS X) March 16, 2004
Linux March 16, 2004
Unreal Tournament 2004 guide at StrategyWiki
Unreal Tournament 2004 at Wikipedia
Unreal
Unreal 1998
Unreal Tournament 1999
Unreal Tournament 2003 2002
Unreal II: The Awakening 2003
Unreal Tournament 2004 2004
Unreal Tournament 3 2007
Unreal Tournament 4 TBA

Key points

Game manual is located in <path-to-game>/manual

General information

Official Epic Games Forum
Liandri Archives - A dedicated Unreal wiki site that collects information about all the games in the series.
Unreal Wiki - A wiki on how to use Unreal Editor, UnrealScript and other technical aspects of Unreal Engine.
Unreal Admin Wiki - A wiki on how to manage Unreal multiplayer servers.
GOG.com Community Discussions for game series
GOG.com Support Page
Steam Community Discussions

Contents

Availability[edit]

Source DRM Notes Keys OS
Retail
Disc check (requires the CD/DVD in the drive to play)
6 to 7 CDs or 1 DVD. SecuROM 5 DRM.
Disc check removed in latest patches.
Windows
macOS (OS X)
Linux
GamersGate
DRM details are not known
Editor's Choice Edition.
Windows
GOG.com
DRM-free
Editor's Choice Edition.
Windows
Steam
Icon overlay.png
Editor's Choice Edition.
Windows

Downloadable content (DLC) and expansions

Name Notes
Streamline Bonus Map: AS-Confexia Available for free. See Bonus Maps.
Windows
macOS (OS X)
Linux
Epic Bonus Map: DM-Forbidden Available for free. See Bonus Maps.
Windows
macOS (OS X)
Linux
Epic Bonus Map: ONS-Icarus Available for free. See Bonus Maps.
Windows
macOS (OS X)
Linux
Digital Extremes Bonus Map: CTF-DE-LavaGiant2 Available for free. See Bonus Maps.
Windows
macOS (OS X)
Linux
XP Levels Available for free. See Bonus Packs.
Windows
macOS (OS X)
Linux
ECE Bonus Pack Available for free. Already included in Unreal Tournament 2004: Editor's Choice Edition and the Mega Pack.
Windows
macOS (OS X)
Linux
Mega Pack Available for free. Already included in the latest patch for OS X. See Bonus Packs.
Windows
macOS (OS X)
Linux

Demos[edit]

Essential improvements[edit]

Patches[edit]

For Windows, the latest version is v3369
For OS X and Linux, the latest version is v3369.2
Install the patch specific to your platform before installing the 64-bit Windows binaries or the Editor's Choice Edition (ECE) Bonus Pack

Bonus Content[edit]

Epic Games has released additional game content for free.

Official[edit]

Bonus Packs[edit]
The Mega Pack is included in the latest OS X patch
Bonus Maps[edit]

Unofficial[edit]

Community Bonus Pack[edit]
Ultimate Community Map Pack[edit]

Performance improvements[edit]

D3D8 to D3D9 wrapper
The 64-bit build of the game comes with an experimental D3D9 renderer, which offers better performance with modern hardware, but has issues such as broken graphical effects. Therefore, it is recommended to use the following unofficial D3D8 to D3D9 wrapper with the 32-bit version of the game, which will display the whole graphical featureset of the game combined with better performance.
  1. Download latest version of d3d8.dll from https://github.com/crosire/d3d8to9/releases
  2. Extract to <path-to-game>\System\ directory.
Disable "Reduce mouse lag"[1]
The game comes with an option to "reduce mouse lag" checked by default, however this option actually functions like a waitstate for the GPU and was put in place to help with input lag in the sub-30 FPS range, which was not uncommon for systems of the time of the game's release. On modern systems this option often cuts FPS in half without any benefits, so it is recommended to disable it. This may also solve some reported Windows 10-specific issues.
  1. Open <path-to-game>\System\ut2004.ini
  2. Find ReduceMouseLag and change each occurrence to ReduceMouseLag=False.
  3. Save and close the file.

SDL Compatibility Layer (Linux)[edit]

libsdl2-dev package is required for Ubuntu/Debian based distro (For other distros you need sdl2 package itself) for compiling. Be sure that the main library is also installed.

As the Linux version of the game uses SDL 1.2, you can use SDLCL to let the game use features present in SDL2.

Compile and install SDLCL
  1. Clone or download the ZIP file of the master branch and unpack it
  2. In the unpacked directory open up the terminal using the file manager's "Open In Terminal" option and type in make
  3. Once the compiling has been finished move or replace (be sure to make a backup) the existing libSDL-1.2.so.0 file inside System folder.

Game data[edit]

In-game general settings.
In-game general settings.
In-game player settings.
In-game player settings.
In-game HUD settings.
In-game HUD settings.

Configuration file(s) location[edit]

System Location
Windows <path-to-game>\System\*.ini
macOS (OS X) ~/Library/Application Support/Unreal Tournament 2004/System/*.ini
Linux $HOME/.ut2004/*.ini
Linux (Proton) <Steam-folder>/steamapps/compatdata/13230/pfx/[Note 1]
UT2004.ini contains general settings.
ut2004-win64.ini contains general settings for the 64-bit executable on Windows.
User.ini contains FOV and other settings.
It's unknown whether this game follows the XDG Base Directory Specification on Linux. Please fill in this information.

Save game data location[edit]

System Location
Windows <path-to-game>\Saves
macOS (OS X) ~/Library/Application Support/Unreal Tournament 2004/Saves
Linux
Linux (Proton) <Steam-folder>/steamapps/compatdata/13230/pfx/[Note 1]

Save game cloud syncing[edit]

System Native Notes
GOG Galaxy
Steam Cloud

Video settings[edit]

In-game video settings.
In-game video settings.
Graphics option Option WSGF Notes
Widescreen resolution
See Widescreen resolution.
Multi-monitor
(could not test, needs updating)
Ultra-widescreen
4K Ultra HD
Field of view (FOV)
See Field of view (FOV).
Windowed
Toggle in settings; see Windowed.
Borderless fullscreen windowed
See Windowed, then set borderless with Borderless Windowed or similar.
Anisotropic filtering (AF)
See Anisotropic filtering (AF).
Anti-aliasing (AA)
No in-game setting, AA can be forced by driver.
Vertical sync (Vsync)
See Vertical sync (Vsync).
60 FPS and 120+ FPS
In online play, the game by default is capped at 90 FPS or so, resulting in severe choppiness. Use "netspeed 15000" (no quotation marks) in console to fix this.

Widescreen resolution[edit]

Widescreen resolutions such as 1920x1080 are natively supported by the game but must be set manually.
Edit configuration file[citation needed]
  1. Go to the configuration file(s) location.
  2. Edit UT2004.ini.
  3. Go to the client section ([WinDrv.WindowsClient] for Windows, [SDLDrv.SDLClient] for Linux).
  4. Change FullscreenViewportX= and FullscreenViewportY=YYY to the resolution you want.
Console[citation needed]
  1. Start the game and once on the main menu open the console by pressing ~.
  2. Type setres widthXheight (e.g. setres 1920x1080).
  3. Press Enter.

Notes

This only has to be done once.

Field of view (FOV)[edit]

In-game FOV setting maxes out at 100°. Use the
fov xxx

command in console to set higher FOV values, which are saved permanently, unlike UT2003. Alternatively, this can also be set in the .ini:

Set FOV higher than 100°[citation needed]
  1. Go to the configuration file(s) location.
  2. Open User.ini.
  3. Change DesiredFOV=, DefaultFOV= and FOVAngle= to the FOV you want.

Windowed[edit]

Windowed mode can be toggled in-game; do the following to set the default starting mode.
Edit configuration file[citation needed]
  1. Go to the configuration file(s) location.
  2. Edit UT2004.ini.
  3. Go to the client section ([WinDrv.WindowsClient] for Windows, [SDLDrv.SDLClient] for Linux).
  4. Change StartupFullscreen= to the setting you want.
  5. Change WindowedViewportX= and WindowedViewportY= to the windowed resolution you want.

Anisotropic filtering (AF)[edit]

Edit configuration file[citation needed]
  1. Go to the configuration file(s) location.
  2. Edit UT2004.ini.
  3. Go to the renderer you are using ([D3DDrv.D3DRenderDevice] for Direct3D, [OpenGLDrv.OpenGLRenderDevice] for OpenGL).
  4. Change LevelOfAnisotropy= to the value you want (2, 4, or 8), or set to 1 to disable.

Vertical sync (Vsync)[edit]

Edit configuration file[citation needed]
  1. Go to the configuration file(s) location.
  2. Edit UT2004.ini.
  3. Go to the renderer you are using ([D3DDrv.D3DRenderDevice] for Direct3D, [OpenGLDrv.OpenGLRenderDevice] for OpenGL).
  4. Change UseVSync= to the setting you want.
The OpenGL renderer has the property listed twice. Make sure to change both.

Input settings[edit]

In-game control settings.
In-game control settings.
In-game key map settings.
In-game key map settings.
Keyboard and mouse Native Notes
Remapping
Mouse acceleration
Can be both disabled and adjusted in Settings -> Input.
Mouse sensitivity
Mouse sensitivity is affected by the field of view. Therefore it is recommended to use mouse-sensitivity.com to calculate the sensitivity based on the desired field of view.
Mouse input in menus
Mouse Y-axis inversion
Settings -> Input -> Invert Mouse
Controller
Controller support
Settings -> Input -> Use Joystick. May require axis mapping via User.ini.
Full controller support
Support only DirectInput. Use XInput Plus for Xbox 360 controllers. Menu navigation is only mouse driven.
Controller remapping
Needs to be mapped via User.ini.
Controller sensitivity
Needs to be set via User.ini.
Controller Y-axis inversion
Needs to be set via User.ini.
Additional information
Button prompts
Controller hotplugging
Haptic feedback
Simultaneous controller+KB/M

Audio settings[edit]

In-game audio settings.
In-game audio settings.
Audio options Native Notes
Separate volume controls
Surround sound
Up to 7.0 output[2]
Subtitles
Closed captions
Mute on focus lost
EAX support
EAX 3.0 included;[3] EAX 5.0 with 3rd party X-Fi patch from Creative.[4] (through OpenAL)[5] This patch changes the game's audio significantly by adding dynamic music and other features, which can supposedly be toggled off.[6] OpenAL Soft can be used in place without requiring the sound card, see Use OpenAL Soft

Use OpenAL Soft[edit]

Be sure to have sound quality at 44100 Hz or 48000 Hz for 3D sound to be enabled.
Optional: The file alsoftrc.sample in source code contains all the options that can be configured, if you wish, copy the entire content and paste it into alsoftrc.ini (In Linux's case it's .alsoftrc) and configure it to your own pleasure, be sure to remove the comment (# symbol).
Sound card is not required if using this guide.
Windows[7]
  1. Download both Windows binary and the source code from the main page.
  2. Extract the source code archive and move the hrtf folder into %appdata%\openal directory (If openal folder doesn't exist, create one)
  3. Extract the Windows binary file and from bin folder move the DLL files into the following directories as OpenAL32.dll
C:\Windows\SysWOW64\ from Win32 folder 
C:\Windows\system32 from Win64 folder (If you're on 32 bit system, then from Win32)

4. Create a text file in %appdata% directory named alsoftrc.ini and then add:

[general]
hrtf = true

5. In game be sure to check in System Driver and then have Audio Mode set to H/W 3D Sound + EAX

Linux[7]
  1. Download the OpenAL Soft Linux Pack and extract it
  2. Move the hrtf folder from main source code folder into .local/share/openal/ located in your Home directory (Most file managers useCtrl+H combination to show hidden files/directories)
  3. Depending on your system move libopenal.so into the System folder as openal.so
  4. Use the OpenAL Soft Configurator and set HRTF to Force On or create a text file in your Home folder, name it .alsoftrc and then add:
[general]
hrtf = true

Localizations

Language UI Audio Sub Notes
English
French
German
The German version is censored, but selecting English as language and installing the latest patch restores the gore.
Italian
Spanish
Korean

Network[edit]

Multiplayer types

Type Native Players Notes
LAN play
32
Online play
32

Connection types

Type Native Notes
Matchmaking
Peer-to-peer
Dedicated
Self-hosting
Direct IP
Open the console (~) and enter open followed by the IP and port.

Ports

Protocol Port(s) and/or port range(s)
TCP 7777-7788, 27900, 42292
UDP 7777-7788, 27900, 42292
Universal Plug and Play (UPnP) support status is unknown.

Issues fixed[edit]

TweakGuides has created a comprehensive guide for fixing issues in this game.

Windows[edit]

Low sound volume[edit]

Disable communications activity sound reduction[citation needed]
  1. Open the Start screen/Start menu, type mmsys.cpl and press Enter.
  2. Go to the Communications tab.
  3. Choose Do nothing.
  4. Click OK to save your changes.

No EAX audio on Vista and higher[edit]

This fix only works for users with a Creative SoundBlaster Audigy card or better.
Disable "System Driver" in Audio settings[8]
  1. From the main menu, go to Settings > Audio.
  2. Ensure Audio Mode is set to H/W 3D + EAX.
  3. Uncheck System Driver.
  4. Apply the changes.

Troublesome Firewall Authorization in Windows XP SP2 and later[edit]

Edit the <path-to-game>\System\UT2004.ini file (or <path-to-game>\System\ut2004-win64.ini if you're using x64 binaries) and add the following lines at the end of the file:

[FireWall]
IgnoreSP2=1

D3DERR_DEVICELOST error under Windows 10[edit]

The 32-bit version's default renderer can fail to start due to 'losing' your graphics card.
Install the 64-bit version of the game[9]
  1. Patch the game to the latest version.
  2. Download and install the 64-bit version of the game.
  3. Run <path-to-game>\System\ut2004-win64.exe
Use a different renderer[9]

See Enable the OpenGL renderer for instructions.

Windowed Mode[9]

MSI Afterburner OSD does not show[edit]

MSI Afterburner OSD does not show[citation needed]

Open RivaTuner (the tool that comes together with MSI Afterburner), add the game file UT2004.exe, and activate or deactivate Custom Direct3D support depending on the global setting.

Linux[edit]

Segmentation Fault On Startup (after game was working previously)[edit]

This happens due to the corruption of the .ut2004 folder. Remove it and run the game.

Issues unresolved[edit]

x64 .exe deficiencies[edit]

On the 64-bit build of this game, hardware audio support appears to have been stripped out entirely, namely the "H/W 3D Audio" and "H/W 3D Audio + EAX" options. Forcing them via .ini ("Use3DSound=True", "UseEAX=True") has no effect either, leaving the 64-bit version with far inferior sound quality and 3D positioning.

Moreover, the 64-bit version defaults to a D3D9 renderer, which is exclusive to this version, but has been left in an experimental state by Epic and is functionally incomplete. Graphical issues include the Double Damage pickup shader, missing shadow volumes (e.g. DM-Morpheus3, DM-Gael), missing water puddles and possibly more. However, the D3D9 renderer does appear to perform faster on modern hardware compared to D3D8.
As a D3D8 to D3D9 wrapper is available now, it is recommended to use this in place of the stock D3D9 renderer.

EAX issues[edit]

On Audigy hardware, several maps have broken sound with the "H/W 3D Audio + EAX" option under 32-bit; for instance, on DM-Goliath near sounds appear far away and vice-versa.

Link Gun crash[edit]

Killing another player with Link Gun altfire can hardfreeze the game in rare instances.

Intermittent system freeze when starting the game on Windows 7[edit]

Though the cause of the system freeze has not been strictly identified, following methods have been reported to stop them:

  • Make the game always start windowed, then switch to fullscreen with Alt+ Enter after reaching main menu.
  • Run UT2004 in Compatibility Mode (Windows XP Service Pack 3).

Other information[edit]

API[edit]

Technical specs Supported Notes
Direct3D 8, 9 Experimental Direct3D 9 support was added via Patch v3204. It was later removed in subsequent patches. Direct3D 8 was replaced by Direct3D 9 in x86-64 version.
OpenGL 1 Cannot be selected via in-game options on Windows x86 version. See Enable the OpenGL renderer. x86-64 Windows version provides native support via in-game options. Default API on OS X and Linux.
Software renderer
Software rasterizer was removed in x86-64 version.
Shader Model support 1.1, 2
64-bit executable
Included with OS X and Linux. For Windows, it must be downloaded separately. See Patches.

Middleware[edit]

Middleware Notes
Physics Karma
Audio Miles Sound System, OpenAL, Speex Linux version might need OSS wrapper for audio to work (Alsa OSS [aoss], Pulse Audio OSS wrapper [padsp] or osspd OSS daemon)

Enable the OpenGL renderer[edit]

Modify the UT2004.ini file[10]
  1. Go to <path-to-game>\System
  2. Open UT2004.ini.
  3. Add ; to the beginning of RenderDevice=D3DDrv.D3DRenderDevice (For software mode, modify RenderDevice=PixoDrv.PixoRenderDevice instead).
  4. Remove ; at the beginning of RenderDevice=OpenGLDrv.OpenGLRenderDevice
  5. Save the file and launch the game.

Install Native Linux version[edit]

Libstdc++5 must be installed is required

The latest Linux patch for the game contains the main files of the game to make it work properly, however it lacks some of the libraries and you may need to add a cd key.

CD Key Location[edit]

The CD Keys are located in Windows registry and since Wine can simulate it, you can run with the command wine regedit or just simply regedit for your default Wineprefix.

Depending on the prefix, the location of it may be different:

On 32-bit prefix: HKEY_LOCAL_MACHINE\SOFTWARE\Unreal Technology\Installed Apps\UT2004
On 64-bit prefix: HKEY_LOCAL_MACHINE\SOFTWARE\WOW64\Unreal Technology\Installed Apps\UT2004

Installation[edit]

Steam[edit]
  1. In your Steam library make sure that you can view all the games you own regardless of the system and install Unreal Tournament 2004, once finished just run it.
  2. Go to the Steamapps directory and copy all the files into your desired directory.
  3. In the System folder create an empty file called cdkey, open it in a text editor and paste in the cd key you've found.
  4. Apply the Linux patch
GOG[edit]
  1. Download the installer. unpack it using innoextract and then run it.
  2. Copy all the content from the apps folder into your desired location.
  3. In the System folder create an empty file called cdkey, open it in a text editor and paste in the cd key you've found.
  4. Apply the Linux patch

Required Libraries[edit]

After applying the patch, all you need are 2 things to add:

  • SDL 1 - For the interface
  • OpenAL - For audio

The former can be easily added by creating a symlink inside the System directory with this command:

ln -s /usr/lib/libSDL-1.2.so <main game path>/System/libSDL-1.2.so

Make sure that you have sdl package installed. In case of OpenAL though, you have 3 options to choose from:

a) Precompiled OpenAL from your system

b) Use the latest precompiled version from the PCGamingWiki database

c) Compiling OpenAL Soft library.

Option A may be more simple to do as it's aleady installed, but if you are on a Fixed release Linux distro it may be behind the features.

Option A[edit]

If you've installed OpenAL from your repository all you need to do is just make a symlink of libopenal.so file from /usr/lib into your System folder as openal.so

ln -s /usr/lib/libopenal.so <main-game-directory>/System/openal.so
Option B[edit]

Unpack the archive and depending on the system, move or copy the libopenal.so file from libraries folder into the System folder as openal.so.

Option C[edit]
CMake is required
  1. Go to the main page and download the source code, either the archive or through Git.
  2. Open the downloaded folder (extract it 1st if you've downloaded the Tar-Bz archive).
  3. Create a directory called release and open it from Terminal (Any file manager has an option to open the current directory in Terminal)
  4. In terminal type in cmake .. and once everything is done without any errors, type in make. Be sure to use -j# argument to speed the compiling process up (Replace # with number of cores your CPU has)
  5. If everything is done, rename the created libopenal.so, as openal.so and then move it to the System folder.

(Optional) You can enable the 3D audio afterwards. See Use OpenAL Soft

After that, you can now play the game by running one of the following binary files:

  • ut2004-bin - If you're on 32 bit system
  • ut2004-bin-linux-amd64 - If you're on 64 bit system.

There is no Linux version of the Unreal Editor. However, there is a native version of the UCC. To run that, run ucc-bin (or ucc-bin-linux-amd64 for 64-bit) in the System/ folder.

Mods[edit]

Single-player[edit]

Multi-player[edit]

System requirements[edit]

Windows
Minimum Recommended
Operating system (OS) 98SE ME, 2000, XP
Processor (CPU) AMD Athlon 1.0 GHz
Pentium III 1.0 GHz
Intel Pentium or AMD 1.2 GHz or greater
System memory (RAM) 128 MB 256 MB
Hard disk drive (HDD) 4 GB 8 GB
Video card (GPU) 32 MB of VRAM
DirectX 9.0b compatible
64 MB of VRAM
DirectX 9.0b compatible
macOS (OS X)
Minimum Recommended
Operating system (OS) 10.5.2 10.6.4
Processor (CPU) Dual Core 2.0 GHz or AMD Athlon 64 X2 Dual Core 5400+ Quad core Intel or AMD Phenom 9850 Quad-Core
System memory (RAM) 2 GB 4 GB
Hard disk drive (HDD) 8 GB
Video card (GPU) Nvidia GeForce 8600 GTS
512 MB of VRAM
Nvidia GeForce GTX 285

Notes

  1. 1.0 1.1 File/folder structure within this directory reflects the path(s) listed for Windows and/or Steam game data (use Wine regedit to access Windows registry paths). Games with Steam Cloud support may store data in ~/.steam/steam/userdata/<user-id>/13230/ in addition to or instead of this directory. The app ID (13230) may differ in some cases. Treat backslashes as forward slashes. See the glossary page for details.

References