Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Unreal Tournament 2004

From PCGamingWiki, the wiki about fixing PC games
Revision as of 18:02, 15 June 2021 by Dandelion Sprout (talk | contribs) (Upgrading links to HTTPS with AutoWikiBrowser in Bot mode, replaced: http://www.moddb.com → https://www.moddb.com (10), http://satsun.org/ → https://satsun.org/)
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
Windows 64-bit 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
Reception
Metacritic 93
Taxonomy
Series Unreal
Unreal Tournament 2004 on HowLongToBeat
Unreal Tournament 2004 on IGDB
Unreal Tournament 2004 guide on StrategyWiki
Unreal Tournament 2004 on MobyGames
Unreal Tournament 2004 on 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 Cancelled

Warnings

The macOS (OS X) version of this game does not work on macOS Catalina (version 10.15) or later due to the removal of support for 32-bit-only apps.
GameSpy online services have been shut down (see Network for solutions).

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

Availability

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
GOG.com
DRM-free
Editor's Choice Edition. Serial keys for multiplayer available by request to GOG support team.[1]
Windows
Steam
Icon overlay.png
Editor's Choice Edition.
Windows
GamersGate (unavailable)
CD key
Editor's Choice Edition.
Windows
Not available for sale in Germany due to German censorship laws.

DLC and expansion packs

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

Essential improvements

Patches

For Windows, the latest version is v3369
For OS X and Linux, the latest version is v3369.2
For dedicated servers, the latest version is v3369.3. A never-officially-released version 3373 exists somewhere out there as well, but is unavailable publicly.
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

Epic Games has released additional game content for free.

Official

Bonus Packs
The Mega Pack is included in the latest OS X patch
  • UT2004 Mega Pack (Windows) - Contains latest official patch (3369), all of the Editor's Choice Pack's bonus content, as well as 9 new maps (included in Community Bonus Pack 2).
  • UT2004 Mega Pack (Linux) - Same as the Windows version, but for Linux (32 and 64-bit versions).
  • UT2004 XP Levels - Two new official Onslaught maps, ONS-Ascendancy and ONS-Aridoom.
Bonus Maps

Unofficial

Community Bonus Pack
Ultimate Community Map Pack

Models and Mutators

Performance improvements

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 64-bit version of the game, which will display the whole graphical featureset of the game combined with better performance. You have to rename the d3d8.dll to whatever the default d3d dll is called.
  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"[2]
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)

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

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

System Location
Windows <path-to-game>\System\*.ini[Note 1]
macOS (OS X) ~/Library/Application Support/Unreal Tournament 2004/System/*.ini
Linux $HOME/.ut2004/*.ini
Steam Play (Linux) <Steam-folder>/steamapps/compatdata/13230/pfx/[Note 2]
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

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

Save game cloud syncing

System Native Notes
GOG Galaxy
Steam Cloud

Video settings

In-game video settings.
In-game video settings.

Template:Video settings

Widescreen resolution

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 Mac\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)

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.

In addition, widescreen FOV and HUD fixes are available here: https://steamcommunity.com/sharedfiles/filedetails/?id=661109411

Windowed

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 Mac\Linux).
  4. Change StartupFullscreen= to the setting you want.
  5. Change WindowedViewportX= and WindowedViewportY= to the windowed resolution you want.

Anisotropic filtering (AF)

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

In-game control settings.
In-game control settings.
In-game key map settings.
In-game key map settings.

Template:Input settings

Audio settings

In-game audio settings.
In-game audio settings.

Template:Audio settings

DefOpenAL32.dll works as DirectSound3D driver which can be used with DSOAL to restore EAX. Set boost=-12 in alsoft.ini to match hardware reverb levels.

Use OpenAL Soft

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[3]
  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 32-bit binary from the bin folder into the System subfolder of the game, and rename to OpenAL32.dll

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

[general]
hrtf = true

5. In game be sure to uncheck the option System Driver (which, albeit it's name, doesn't use the windows system driver [4]) and then have Audio Mode set to H/W 3D Sound + EAX

Linux[3]
  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
Korean
Spanish
only available on the steam or retail version of the game. Not on GoG.

VR support

3D modes State Notes
vorpX
G3D
User created game profile, (openGL and D3D using DGVoodoo2 v.2.6) see vorpx forum profile introduction.

Network

Multiplayer types

Type Native Players Notes
LAN play
32
Online play
32 GameSpy services have been shut down;[5] see GameSpy for workarounds.

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

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

Windows

Low sound volume

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

This fix only works for users with a Creative SoundBlaster Audigy card or better.
Disable "System Driver" in Audio settings[6]
  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 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

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[7]
  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[7]

See Enable the OpenGL renderer for instructions.

Windowed Mode[7]

MSI Afterburner OSD does not show

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

Segmentation Fault On Startup (after game was working previously)

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

Issues unresolved

x64 .exe deficiencies

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

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

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

Intermittent system freeze when starting the game on Windows 7

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

API

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
ExecutablePPC 32-bit 64-bit Notes
Windows
The 64-bit version must be downloaded separately. See Patches.
macOS (OS X)
Support for Intel processors was added in v3369.2.
Linux
Both versions are included on the retail versions of the game.

Middleware

Middleware Notes
Physics Karma
Audio Miles Sound System, ISACT[8], 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

Modify the UT2004.ini file[9]
  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

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

Steam

Enable Steam Play to view CD Key.

  1. Steam > Settings > Steam Play
  2. Steam Play Settings: Enable Steam Play for supported titles
  3. Advanced: Enable Steam Play for all titles > OK
  4. Switch "Detail View" mode in Steam library.
  5. Click "CD Key" to view license code of the game.
GOG / Retail

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

Steam
  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
  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

Alternatively you can go for an easy route and use this script to install the native version of the game. Be sure to run it through terminal. It automatically prepares necessary stuff, getting the cd key automatically and include SDLCL for fixing most of the issues that were present in original SDL 1.2.

Required Libraries

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

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

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

Single-player

Multi-player

System requirements

Windows
Minimum Recommended
Operating system (OS) 98SE
Processor (CPU) AMD Athlon 1.0 GHz
Pentium III 1.0 GHz
System memory (RAM) 128 MB
Hard disk drive (HDD) 4 GB
Video card (GPU) 32 MB of VRAM
DirectX 9.0b compatible
macOS (OS X)
Minimum Recommended
Operating system (OS) 10.5.2
Processor (CPU) Dual Core 2.0 GHz or AMD Athlon 64 X2 Dual Core 5400+
System memory (RAM) 2 GB
Hard disk drive (HDD) 8 GB
Video card (GPU) Nvidia GeForce 8600 GTS
512 MB of VRAM

Notes

  1. 1.0 1.1 When running this game without elevated privileges (Run as administrator option), write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% might be redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later (more details).
  2. 2.0 2.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