UT2004 Optimization and Training

By request of many, I (:psk:notipa) am writing this article to help people configure their UT2003 and/or UT2004 installations consistently and properly, while also providing resources to practice and refine their skills. This article is quite dense, so take it one section at a time.

System Changes


In order to have a gaming-friendly computer setup, I recommend using a mouse with a polling rate of at least 500 Hz, 5 mouse buttons, and 30G acceleration. Using low-quality mice can clip fast inputs, leading to non-linearity. The sensor used should be as linear as possible. I use a Corsair Sabre RGB 10K; while it has 10000 DPI input natively, the sensor is a bit jittery there. It doesn't clip my inputs, and is quite linear. I recommend the Logitech Proteus Spectrum, which features a fabulous 12000 DPI sensor. Always use your sensor's native DPI whenever possible; the native DPI may not always be the highest DPI your drivers will let you use. The mousepad should be clean; a good washing procedure I use is to add a dash of Oxi-Clean to a sink full of warm water, scrubbing the mousepad with a soft brush (I use a toothbrush, but it's not very efficient for my current mousepad), thoroughly rinsing the mousepad, and air-drying either indoors or out overnight. An optical mouse will work better on a cloth mousepad than a laser mouse; a laser mouse should use a finer-grained surface such as a plastic/glass/aluminum mousepad, as the high-contrast illumination the laser provides is not well-suited for the fibrous environment of a cloth mousepad.


Disable mouse acceleration in the Windows Mouse Control Panel. Make sure you are using the highest refresh rate your monitor supports at native resolution, and ensure UT is configured to do the same (see below). For Windows 10 users, if the game crashes when going fullscreen, install the DirectX End-User Runtimes (local mirror). Windows 10, by default, does not come with support for DirectX 8 and 9; the runtimes will allow the game to run in DirectX.

INI and Game Changes

INI Changes

In UT2003.ini / UT2004.ini, change the following (if a key does not exist, create it): In User.ini, change the following (if a key does not exist, create it): By default, UT2003 and UT2004 limit the framerate to either 85 or 90 FPS, depending on whether HPET is enabled. Raising the active netspeed (ConfiguredInternetSpeed or ConfiguredLanSpeed, depending on whether the active game is an Internet server) will increase the framerate to [Engine.LevelInfo] MaxClientFrameRate. As UT2003 and UT2004 are single-threaded, the packet transmissions are synchronous with frame rendering, so using a framerate higher than about 240 is not recommended. As a consequence of these being synchronous, the tickrate (basically, the internal game server's refresh rate) of the DemoRecDriver influences the playback framerate of recorded demos at a 3:4 ratio, e.g. a DemoRecDriver tickrate of 45 will play at 60 FPS. MaxClientFrameRate should be between 130 and 220, and not a multiple of your monitor's refresh rate (which is, ideally, the highest your monitor can go at native resolution and is configured in ut2003.ini/ut2004.ini (active RenderDevice class, such as [D3DDrv.D3DRenderDevice]) DesiredRefreshRate).

I also recommend adding a keybind to set netspeed (and for UT2003 users, FOV) with set input somekey netspeed 15000|fov 106, replacing somekey with the name of the key you want the bind applied to, and the fov number with your preferred FOV. UT2004 users don't need the "|fov 106" part.

Mouse Sensitivity

In Unreal Engine 2/2.5, mouse sensitivity varies with (and only with) DPI and FOV. To get a precise distance for 360 degree turn (which will be the measurement I am referring to when I list a distance), i recommend using the website mouse-sensitivity.com. You can calculate your current distance there, and also find the sensitivity value that gives a particular 360 distance. Always use your mouse sensor's native DPI when possible to preserve linearity. I believe the default mouse sensitivity values in UT2004 are intended for a 400 DPI mouse, which was standard in 2004 but not today. Thus, whatever your current sensitivity is, it's too high. I recommend trying 20cm sensitivity, which at 106 FOV is 552.4/DPI. I also recommend using [Engine.PlayerInput] MouseXMultiplier and MouseYMultiplier to set sensitivities and leaving in-game sensitivity at 1; this also allows for different X and Y sensitivities to be set, if not supported by the drivers.

Field of View

Unreal Engine 2 is a Vert- engine, meaning that the horizontal FOV is (approximately) constant and the vertical FOV is constrained when aspect ratio varies. Unfortunately, as the standard for monitor aspect ratio has changed from 4:3 to 16:9 (or even 21:9), this causes the default field of view to become increasingly narrow as aspect ratio widens. I use the number 106 frequently, as this is the 16:9 equivalent of a 90 degree FOV at 4:3. The adjusted field of view can be calculated by the formula NewFOV=2*arctan(tan(OldFOV/2)*(NewAspect/OldAspect)), where Aspect is a floating-point representation of the aspect ratio (e.g. 4:3 is 4/3 ~ 1.33333...). For convenience, the 90 degree equivalents at 16:9 and 21:9 are 106 and 121, respectively. While I use integers here for brevity, the engine will accept a single-precision float.

Proper Movement

Avoid QuadJumping whenever possible; this builds bad habits. Instead, travel either by running (which is quieter) or by dodge-jumping. To get the most distance out of a dodge-jump, hold a movement key and perform the dodge double-tap on a different movement key. This will travel a bit further and faster than a straight double-tap. Translocating is very noisy, but can travel safe areas faster than dodge-jumping. Don't use it in combat unless you're a coward or trying to telefrag the opponent. When in combat, do not continuously jump around; landing positions are predictable and usually ends in eating flak/bio. Use movement to aim, don't stand in one place and move the mouse around. Perform fine adjustments in aim by making a short walking movement in that direction. Additionally, moving while aiming prevents someone from making an easy headshot on you.

To practice movement, play Trials maps; Trials is a variation of Assault where the player must navigate through difficult maneuvers to reach each checkpoint. Some maps are relatively easy, while others are absurdly difficult. SuperSmashTrials and many of its variants are good starter maps.

UT2004 Servers

New players and infrequent players tend to get a bit worked-up when playing for an extended period of time; to increase stamina, my best suggestion is to play against humans regularly. The adrenaline will eventually go away, allowing more time to think and smoother movements.

Noob-Friendly Servers

Address Name Mode Region Perceived Popularity Perceived Difficulty Supports Bots? Cemetech DM/TDM/TAM/VCTF USA NE Low Low Yes rcfreak0's Server DM/TDM/TAM/VCTF/Trials USA S Low Low-Moderate Yes BosaikFrag Public TAM/VCTF USA SW Low Moderate Yes BosaikFrag Alternate TAM/VCTF/Trials USA SW Low Low Yes Slice of Life Freon USA C Very High Low No KHz Resurrection TAM USA SW Low Moderate No TeamRectifier TAM EU Very High Moderate No Like-A TAM TAM EU High Moderate No Downer1 Trials EU Moderate Moderate No

Non-Noob-Friendly Servers

Address Name Mode Region Perceived Popularity Perceived Difficulty Supports Bots? ComboWhore Atlanta TAM USA SE Moderate Very High No ComboWhore Chicago TAM USA C High Very High No IKS TAM/iDM EU Low High No =sKm= Freon/iBR USA SW Low High Yes? PWC Gaming Trials Trials USA NE Moderate Very High No Downer2 Trials EU High Very High No proTheory LA Duel USA SW Moderate Very High No proTheory Dallas Duel USA S Moderate Very High No proTheory Chicago Duel/TDM USA S Moderate Very High No proTheory Atlanta Duel USA SE Low Very High No proTheory New York Duel USA NE High Very High No Boredom&Rage Duel USA NE Moderate High No The Dump Duel USA NE Low Very High No Mokum-X Duel EU High Very High No

Valid HTML 4.01 Transitional