Configuring Unreal Tournament 2004 for modern Windows

I recently had the pleasure of setting up Unreal Tournament 2004 on my Windows 11 system. It took quite a few steps to get everything set up right, so I thought I'd share what I've done here so anyone else can benefit from it.

Table of Contents

Issues with the vanilla install

The main quirks I found when installing on a modern system were a lack of options for the following through in-game options menus:

  1. modern resolutions such as 2560x1440
  2. proper widescreen support
  3. anti-aliasing
  4. anisotropic filtering
  5. frame-cap of VSync
  6. ability to connect to online servers

The following readme should fix up all of those concerns plus address a few additional things such as low FPS cap during online matches.

Installation

Note I installed from my original discs. Remember those? I'm not sure what updates or inclusions have been made to the digital distribution versions of the game.

  1. Install to C:\ut2004.
  2. Install patch ut2004-winpatch3369.exe (get here: https://unrealarchive.org/patches-updates/unreal-tournament-2004/patches/patch-7-3369/index.html).
  3. Copy 64-bit client t2004-win64-3369.zip contents into install directory.
  4. Copy contents of foxWSFix-v2.2.0.7z into install directory (get here: https://github.com/alexstrout/foxWSFix-UT2k4).
  5. Launch game from 64-bit .exe. run game in DX9 mode.
  6. Exit.

.ini file configuration

Note, these settings are based on my 2560x1440 165Hz monitor, so YMMV, adjust to suit your config.

There's 2 config file located in install directory "system" we need to work with:

  1. ut2004-win64.ini
  2. UT2004.ini

ut2004-win64.ini

Firstly, in ut2004-win64.ini, make sure of the following entries for resolution:

[WinDrv.WindowsClient]
WindowedViewportX=1920
WindowedViewportY=1080
FullscreenViewportX=2560
FullscreenViewportY=1440

Multiplayer framerate settings - explained in detail here: https://www.utzone.de/forum/showthread.php?t=4326

[Engine.LevelInfo]
MaxClientFrameRate=150.000000

[IpDrv.TcpNetDriver]
KeepAliveTime=0.005

VSync and frame rate limit to keep the FPS in check. AF setting also. These entries will work for other renderers as well:

[D3D9Drv.D3D9RenderDevice]
UseVSync=True
LevelOfAnisotropy=16
DesiredRefreshRate=165

This needs to be added entirely so a firewall error doesn't appear:

[FireWall]
IgnoreSP2=1

To reduce unnecessarily high GPU usage (explanation here: https://www.pcgamingwiki.com/wiki/Unreal_Tournament_2004):

[D3D9Drv.D3D9RenderDevice]
ReduceMouseLag=False

User.ini

Secondly, in User.ini, make sure of the following entry for high FPS in multiplayer:

[Engine.Player]
ConfiguredInternetSpeed=10001

This is so you can just type "H" in multiplayer mode and FPS will shoot to 144:

H=netspeed 10001

This is for the widescreen fix mod. Find the following line under [Engine.PlayerController] and [XGame.xPlayer] (if it's not under either heading, add it):

InputClass=Class'Engine.PlayerInput'

and change to:

;InputClass=Class'Engine.PlayerInput'
InputClass=Class'foxWSFix.foxPlayerInput'

Anti-aliasing

This can't be done in-game or through the .ini configuration files. You'll simply need to force this through your graphics drivers.

Tips

  1. To show FPS in game, type "~" to bring up the console, -> then type "stat fps".
  2. To show network stats, press "F6".

BTW, I installed the game in a VM first and then copied the install directory out to a separate drive on my host machine. If you're doing that, you just need to export the registry entries from [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Unreal Technology\Installed Apps\UT2004] from the client machine and import them to the host and adjust the "Folder" value as necessary.

So after all that, you should end up with a game that looks something like the following: