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:
- modern resolutions such as 2560x1440
- proper widescreen support
- anti-aliasing
- anisotropic filtering
- frame-cap of VSync
- 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.
- Install to C:\ut2004.
- Install patch ut2004-winpatch3369.exe (get here: https://unrealarchive.org/patches-updates/unreal-tournament-2004/patches/patch-7-3369/index.html).
- Copy 64-bit client t2004-win64-3369.zip contents into install directory.
- Copy contents of foxWSFix-v2.2.0.7z into install directory (get here: https://github.com/alexstrout/foxWSFix-UT2k4).
- Launch game from 64-bit .exe. run game in DX9 mode.
- 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:
- ut2004-win64.ini
- 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
- To show FPS in game, type "~" to bring up the console, -> then type "stat fps".
- 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: