By request of many, I've written an article covering optimal computer setup, game configuration, basic movement mechanics, and active servers. I recommend that everyone with UT2003 or UT2004 read this, as it provides fixes to many game issues and encourages proper gameplay practices. Due to formatting limitations on phpBB, I recommend the original article be used; due to the uncertainties inherent in the uptime of external websites, a copy is provided below.

UT2004 Optimization and Training

I 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 (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):
  • [Engine.LevelInfo] MaxClientFrameRate=200
  • [Engine.DemoRecDriver] NetServerMaxTickRate=75 (this will produce 100 FPS playback)
  • [Engine.DemoRecDriver] LanServerMaxTickRate=75
In User.ini, change the following (if a key does not exist, create it):
  • [Engine.PlayerInput] MouseSamplingTime=0.001 (while this value works, ideally use the native polling rate of your mouse)
  • [Engine.Player] ConfiguredInternetSpeed=15000
  • [Engine.Player] ConfiguredLanSpeed=15000

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

If you can think of a better way to insert a table, let me know.

Noob-Friendly Servers

Non-Noob-Friendly Servers
Speaking from personal experience, I've searched for posts and clicked the links only to find a 404. Had someone posted that information instead of linking it, I would have been able to benefit from it. You kind of even reference this in your article, hosting a mirror of the End User Runtimes. So, if you could mirror your article in your post, that'd be pretty rad.

Just being 100% honest here. That information is perfect for a post so we're (as in fellow admins in our staff channel) aren't sure why it wasn't included in the post. So we'd appreciate it if you took some time to do that, and you're more than welcome to include a link to the article on your site still.
It's due in part to having a centralized location where I can manage the content (it can, and will change), and also due to phpBB formatting limitations. I'll edit the original post, but the webpage will be preferred for the information source.
Thanks for updating the OP with the article itself. We get the want to keep things centralized, but we also don't like having a new topic with a couple of lines of text and a link away from Cemetech. The 'Quality over Quantity' mantra that we prefer, and I'm sure you've seen brought up many, many times over the years Smile

I should get around to screenshotting the process of turning Direct Play back on in Windows one of these days, to allow for some older games to become playable in the newer OS versions.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum