Unreal Wiki
Creator stub
This article is a stub. You can help the Unreal Wiki by expanding it.
What needs to be done: Add more info
Article lacks image
This article needs an image. You can help the uploading a good image to the wikia and then adding it to a article.

The subject of this article appeared in Unreal Tournament.

"The Unreal Tournament Preservation Group is a group of programmers and server admins from the UT community who got together and approached Epic about the possibility of maintaining the Unreal Tournament code base. Their goal of maintaining the game and fixing obvious problems, while keeping all the major game-play systems 100% intact, were right along with Epic's goals, Epic granted UTPG access to the source which allows them to undertake this project. Their focus is general maintenance with some time spent dealing with security issues in the Unreal Tournament engine."

The UTPG (or Unreal Tournament Preservation Group) was a group of people who was involved in the later stages of Unreal Tournament's lifecycle.


UTPG was a group of programmers and server admins from the UT community that continued Epic's work of making Unreal Tournament patches after Epic released it's final, official patch (version 436).[1]

UTPG was not impressed when they saw how many exploits and bugs players were dealing with on Patch 436 (including the infamous DDOS exploit and the creeping ping bug in Windows 2000 Server). UTPG approached Epic and asked if they could have the source code of Patch 436 and build unofficial patches. Epic agreed, but on the condition that the patches was to be completely optional, and players MUST install Patch 436 before applying the UTPG Patches. UTPG agreed, and Epic Games gave them the source code plus the fixes they made for Patch 436 to bundle them into the new UTPG patch.

Some other fixes and exploits were fixed as well such as the UCC buffer overflow exploit and the backslashes and mutators in the status query replies bug. They also implemented a new team information query into the protocol, making it easier to identify team information at a much easier and less daunting task for the Unreal Engine. Once UTPG bundled up the fixes, they sent a copy to Epic to verify the release. They was amazed, and gave them a copy of the Unreal Installer. UTPG then remade the setup with the Unreal Installer, and numbered the patch 440. This was only the start of the UTPG patches. Many UT players thought this patch was excellent, and demanded more bugs to be fixed.

UTPG then started finding, and patching up the exploits and fixes that they and the UT community were still having. Two months later, the new patch was complete, and was numbered as Patch 451. This patch fixed 36 bugs and exploits in total, but it did not come without consequences. The way UTPG modified the UnrealEd, (the second you loaded it up, an error message would come up), made the UnrealEd unusable. Another bug was that sometimes the client and the server would crash if invalid classes were loaded.

About 10 months later or so, they released Patch 451b. It fixed that invalid classes bug, and the UnrealEd crash...well, somewhat. The UnrealEd was still not fully functional, as in you couldn't move the camera around the editor, and left and right did the exact same command, selecting the properties of the highlighted BSP brush or terrain, making it impossible to create or edit levels. The only was to fix this problem was to downgrade to Patch 436 or Patch 440, or by simply making a backup of your UT folder before upgrading. Anyway, about a year or so later, UTPG combined Patch 451 with Patch 451b, for an easier installer process.

UTPG has not been active since October 2004. They had plans on making Patch 451b onto Mac OS and Mac OSX, but they have never discussed about anything since their last post on October, 2004.

Their last post says the following:

"Yes, we are still alive and working. Who would have thought getting an MD5 patch across 3 OS's would be easy...

That being said, work continues. The MD5 code for Win has been tested and seems to work great. The latest Linux build is on the way very soon.

The most important piece for all you Mac users out there is a preview release of the brand new Mac OSX client.

Unfortunately, I can't give a timeline as there could be any number of events that could push us back (and don't want to upset you with a false date).

Keep your eyes pealed for new news."

It is believed that the UTPG group shut down the program sometime in 2006, but their website was still up and running and fully functional by a time around the 2010s, before being definitely shut down.



  • Their website was hacked at one time, and it took almost a year for one of the UTPG members to fix it.
  • In order to be able to use the UTPG patches, one must patch to version 436 first.
  • Versions 451 and 451b are known to cause problems with UnrealEd, so people should install them only if they don't plan on creating content.
  • One interesting feature in the changelog was that patch 436 labeled as patch 435 in some areas, yet some other parts of the readme still said "Compatible with servers running Patch 436 or higher". It is uncertain if this is a typo or if Epic told UTPG to label Patch 436 that way.
  • They were also originally involved with the creation of a v468 patch for Unreal Tournament until the group was shut down. This is why OldUnreal's initial patch version was v469. This was the changelog:
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<br />* 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.GameEngine] : MD5Ignore
  Use that to set files/extensions to be excluded from the MD5 checks on the server, the last part of the filename is relevant.
  So: MD5Ignore=.utx will ignore all files matching `*.utx`, MD5Ignore=x.utx will ignore all files matching `*x.utx`
* New config option to [Engine.GameEngine] : 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

External links and references[]

See also[]

Cliff BleszinskiJuan Pancho 'XceptOne' EekelsCedric 'Inoxx' FiorentinoMichiel van den BosAlan 'Talisman' WillardElliot 'Myscha' CannonShane CaudleSidney 'Clawfist' RauchbergerAlexander BrandonJim BrownNick DonaldsonDave EwingMatthias WorchJeremy WarDavid KelvinRich 'Akuma' EastwoodWarren MarshallJames SchmalzSteven PolgeScott McGregorPhil ColeBastiaan FrankMark ReinKevin RieplStarsky PartridgeDan GardopéePeter HajbaAndrew SegaWill NevinsRom Di PriscoJesper KydErik de NeveJack PorterEric 'Ebolt' BoltjesMick 'VerMoorD' BeardJean 'El Chicoverde' RochefortDavid 'DavidM' MünnichChris 'Plutonic' BlundellJeremy 'Faceless' GravesEd Duke-CoxNathan 'TomWithTheWeather' OvermanDavid SpalinskiTynan SylvesterRogelio OlguinTeddie TapawanPeter RespondekSjoerd 'Hourences' De JongTim SweeneySascha DikiciyanArtur BialasPaul MeeganJames Parkman