Unreal Tournament version 469 Release Notes
Version 469 is completely network compatible with all previous public releases of UT (down to 432).
The UTPG and OldUnreal teams worked hard to maintain binary compatibility with older native mods.
Most of these mods will continue to work in version 469. However, some mods may need some trivial updates.
If you are a native mod author, and you are having trouble updating your mod for version 469, then please reach out to us at the OldUnreal forums.
Note: This patch disables older versions of ACE. Server admins should upgrade ACE to version 1.1e or later to check 469 clients.
- Fixed an issue that caused UnrealEd to crash if the EditPackages list did not contain packages with meshes in them.
- Fixed an issue that caused UnrealEd to crash when opening large UnrealScript files.
- Fixed an issue that caused UnrealEd to crash when opening packages with array variables in them.
- Fixed an issue that caused UnrealEd to crash during shutdown. This issue likely only affected Windows 10 users.
- Fixed an issue that caused UnrealEd to crash when reloading a map after rebuilding several packages.
- Fixed an issue that caused certain commandlets to crash because the garbage collector decided to destroy them while they were still running.
- Fixed an issue that caused the ucc batchexport commandlet to crash when exporting textures from a package containing scripted textures.
- Fixed an issue that caused the game to crash when running the “GET” consolecommand to read an array property.
- Fixed an issue that caused the game to occasionally crash on shutdown.
- Fixed an issue that caused the game to crash when calling certain canvas functions with an invalid font or texture argument.
- Fixed an issue that caused the game to crash if the player deleted the [Engine.GameEngine] group from the UT.ini file.
- Fixed an issue that caused the game to crash when resetting properties to their default values in the preferences window.
- Fixed an issue that caused the game to crash when attempting to call an unrealscript function that has the same name as a global variable within the same class.
- Fixed dozens of issues that caused the game to crash when exporting properties in textual format (e.g., through GetPropertyText).
- Fixed various issues that caused the game to crash after destroying objects containing dynamic arrays.
- Fixed various issues that caused the game to crash when rendering scenes with lots of actors/dynamic sprites in them.
- Fixed aluigi’s unrealfp Remote Server DoS bug.
- Fixed an issue that caused the server to crash in AActor::execPlayerCanSeeMe in games with bots in them.
- Fixed an UnrealEd issue that caused vertices/brushes to become invisible while zooming in in vertex edit mode.
- Fixed an UnrealEd issue that caused brush clips to snap to the nearest grid location when clicking a vertex.
- Fixed an UnrealEd issue where Actors could not be placed/deleted/edited if an Actor with the same name already existed elsewhere in the class hierarchy.
- Fixed an UnrealEd issue where the 3D viewports used incorrect lightmaps after rebuilding lighting/bsps.
- Fixed an issue that caused UnrealEd to show all textures in the game when selecting a font group in the Texture Browser.
- Fixed an issue where the MD5 checking code would not generate the correct GUID for UnrealI.u, resulting in the player being kicked for a corrupted file.
- Fixed an issue where certain sounds would play at double the intended volume while recording a demo.
- Fixed an issue where the game would hang for a long time (and sometimes even crash) when opening a maplist with lots of maps.
- Restored “SSHOT” as a valid consolecommand to create screenshots.
- Fixed an issue where screenshots would not get rendered correctly if you had your vertical screen resolution set to an odd number of pixels.
- Restored the ability to kick players and bots from local games.
- Fixed an issue where the game would only show part of the player model in the player setup menu.
- Fixed an issue where the game would speed up when rendering more than 200 frames per second.
- Fixed several issues that caused network connections to be terminated unexpectedly on Linux and Mac.
- Fixed an issue where the game would shut down when a non-fatal rendering anomaly occurred.
- Fixed an issue where the mouse would get stuck in the middle of the game window on Linux and Mac.
- Fixed an issue where bots considered human players invisible even after their invisibility pickup had expired.
- Fixed an issue where the in-game windowing system would sometimes show a wait cursor instead of a west-east window resizing cursor.
- Fixed an issue where you could not select property values containing spaces in the preferences menu.
- Fixed an issue where the enforcer instantly transitioned between fire and alt-fire animations.
Unreal Editor enhancements
- UnrealEd, Setup, and UT are now high-DPI aware on Windows. This eliminates the bluriness a lot of people with big monitors were seeing. It also improves input precision in the game and the editor.
- UnrealEd’s viewport window allows you to select any of your renderdevices now (not just SoftDrv and D3DDrv).
- UnrealEd’s button bar and texture browser now have mouse wheel support.
- UnrealEd’s 2D Shape Editor now properly calculates the vertex positions while dragging at zoom levels other than 100 pct.
- UnrealEd now supports mouse wheel scrolling in the 2D viewports.
- Fixed several arbitrary code execution vulnerabilities.
- The Windows version of the game now has several security enhancements including (but not limited to) Data Execution Prevention (can be disabled with the -nodep command line parameter), SafeSEH, and ASLR support.
- Screenshots now get stored in the “System/Screenshots” folder. UT will automatically create this folder if it does not already exist.
- Increased the maximum number of screenshots that can be stored in the screenshots folder from 256 to 65536.
- Both the game and UnrealEd are now large address aware on Windows. This means it is far less likely that you’ll run out of virtual memory.
- The game now uses DirectDraw 7 (instead of 2) and DirectInput 8 (instead of 3) on Windows. These newer versions work way better on Windows 10.
- Added experimental raw mouse input support. This feature can be enabled by setting the UseRawHIDInput to true in the WinDrv.WindowsClient section of the game ini.
- Added enhanced pointer precision control. By default, the game enables enhanced pointer precision while in the menu and restores the old precision settings when in game. However, you can now set the NoEnhancedPointerPrecision option in the WinDrv.WindowsClient section to true if you do not want the game to change the system pointer precision settings at all.
- Improved support for mouse side buttons.
- Eliminated many “Accessed None” warnings.
- Removed some outdated items from the in-game menu (e.g., ngWorldStats, mplayer, heat, won, …)
- Added automatic scaling of the game menu. The scaling factor and behavior can be controlled using the new settings in the menu.
- Added crosshair scaling to the standard HUD. You can configure the crosshair scaling settings in the menu. NOTE: A lot of mods will likely ignore the crosshair scaling. Mod authors should update their mods so they call the regular ChallengeHUD.DrawCrosshair function.
- Added in-game font scaling. When enabled, fonts scale automatically with your desktop DPI. Scaling can be turned on and off in the in-game menu.
- The game now clamps the server tickrate and client framerate between 10 and 200 during multiplayer games and during demo recording.
- OpenGLDrv and D3D9Drv now show up as certified rendering devices.
- Rewrote some of the core timing routines so the game runs more smoothly (and with less glitching) on multicore CPUs and in long-running games.
- The Galaxy Audio Subsystem is now deprecated. The launcher will automatically upgrade your audio subsystem to the latest version of the OldUnreal ALAudio Subsystem.
- The ucc make commandlet now works on Linux and Mac.
- The Linux and Mac clients finally support unicode! The most visible consequence is that player names with non-ascii characters in them will now display correctly when playing on Linux servers.
- The Linux and Mac clients now write log files in UTF-8 encoding.
- Added selectedcursor support to the Linux and Mac clients.
- S3TC/DXT1 texture compression should now be available in the ucc tools for Linux and Mac (though obviously not in UnrealEd).
- Added the -FORCELOGFLUSH command line option. This option makes the game/server flush the log file every time it is written to.
- Added bandwidth control for file downloads from the gameserver. The bandwidth control option overrides the MaxClientRate. It can be controlled in the server.ini file as follows:
[IpDrv.TcpNetDriver] MaxFileDownloadRate=0 Maximum download speed in bytes per second Possible values for MaxFileDownloadRate: -1 Send files at the maximum speed possible 0 Limit the file download speed to MaxClientRate bytes per second. This is what UT did by default in versions 468 and below any positive number Allow download speeds of up to this amount of bytes per second.
Updated default settings
- Replaced the gamespy masterserver entries with 333networks.com.
- Changed the default display mode to 1024x768x32.
- Increased the default netspeed to 10000.
- Changed the default audio device to ALAudio.
- Changed the default render device to OpenGLDrv.
- Added (empty) entries for the game and admin passwords.
- Increased the default cache size to 16Mb.
- Set the MaxFileDownloadRate to unlimited by default.
- Increased the default server tickrate to 50.
Unreal Tournament version 468 Release Notes
Version 468 is completely network compatible with all previous public releases of UT (down to 432).
- HTTP redirection supports the HTTP 301 and 302 responses
- Made Engine.MinNetVersion and Engine.ErrorMsg available through UScript
- MD5 protection for Unreal packages
- Added new functions to Object: CalcMD5(string), PackageMD5(package name, optional init string, optional bool bRefresh), PackageGUIDMD5(package guid, optional init string, optional bool bRefresh), MD5TableLookup(string Filename, int Generation, optional string init)
- New config option to [Engine.GameEgine] : MD5Ignore
Use that to set files/extentions to be excluded from the MD5 checks on the server, the last part of the filename is relavent.
So: MD5Ignore=.utx will ignore all files matching `*.utx`, MD5Ignore=x.utx will ignore all files matching `*x.utx`
- New config option to [Engine.GameEgine] : MD5Require
This works the same as the MD5Ignore, use this to unignore files. For example: “MD5Ignore=.utx” and “MD5Require=playerskins.utx” has the result that all .utx files are ingored, except playerskins.utx
- New console commands: `getmd5 <package>` to display the md5 of a package, `md5ignore` to list all ignore masks and `md5require` to list all require masks
- MD5Ignore, MD5Require masks are editable from within the WebAdmin
- Fixed Direct3D crash on invalid skin
- Fixed saving of .tmp files in the root dir
- Fixed UnrealEd, sorry about that
- Fixed error/warning reporting sometimes causing a shut-down
- Added new console command: `verifymd5 <package>` force a package verification between the client and server
- Added support for WinXP SP2 firewall