UT2003 Interim Security Mutator
Release 1 (c) 2002, Epic Games


Description
UTSecure is a simple mutator that designed to perform a more detailed check of various packages.  Its goal is to provide additional protection in between normal patch cycles by allowing server admins to perform more rigorous checking of given files. 

 

Targets
This interim release targets the following cheats:
  • Skin hacks and external Aimbots that use them
  • Generic checking of any UT file 

 

Installation
The .zip that you downloaded contains 3 files.
  • UTSecure.u is the main script package containing the mutator
  • UTSecure.int is a needed system file
  • UTSecureHelp.htm is this file

You should unzip the archive directly in to your root UT2003 directory with "expand folders" turned on.  This will place the first 2 files in your \System subdirectory and the last in \Help.

Once all files are unzipped, please open your UT2003.ini file (or whichever INI file controls your server) and make the following changes:

Step #1: Locate the section [Engine.GameEngine] in your server's ini file.  Add the following two lines:

ServerPackages=UTSecure
ServerActors=UTSecure.UTSecureServerActor

Step #2: Go to the very end of the file and add the following section:

[UTSecure.UTChecker]
Checks=playerskins
MD5=084b130ae3446290c7093339464117d5
MD5Type=0
Checks=xplayersl1.upl
MD5=7d09288edabde3b22875b2acd1b55552
MD5Type=2
WhatToDo=1
TimeoutSeconds=60
bKickOnTimeout=true

Once you have followed these two steps, save your server's ini file and you are all set.  UTSecure will now auto-load every time you start your server. 

 

Using UTSecure as a mutator
If you do not want UTSecure to always load, you have the option to use it as a mutator.  To do this, do not add the ServerActors entry in your ini file.  Instead, use the command line switch "?Mutator=UTSecure.MutUTSecure" or select "Improved Security" from the in-game mutator menu.  It's very important that you only exclude the ServerActor line.  All other steps must be followed.

 

Options
The following options need to go under the enter [UTSecure.UTChecker] in your UT2003.ini file (or whichever ini file configures your server.
Checks=<packagename>
Checks=<filename>
The checks option defines which files you wish to check.  You can have an unlimited number of file to be checked, but understand that checking them takes time on the users side so you may have to increase your timeouts.

If you are doing a QuickMD5, then you only need to include the package name (ex: PlayerSkins, not PlayerSkins.utx).  If you are doing a Full MD5, then you need to include the full filename and path (if needed).

MD5=<16digit hash> This is the md5 at corresponds with a check.  Like checks you can have any number of these.
MD5Type=<0|2> This determines what type of MD5 check to perform.  
  • 0 - Quick MD5.  
  • 2 - Full MD5

What's the difference?  QuickMD5 checks are much faster as it utilizes the fact that the package is already preloaded by the game.  The drawbacks are (A) it only works on UT2003 packages and (B) the package must be loaded by the game.  

Full MD5's can be performed on any file but tend to be slower.  

Like MD5 and Checks, you can have any number of these.

WhatToDo=<0-3> The what to do option determines what your server will do if it detects an modified file.  The available options are:
  • 0 - Nothing, just log the transgression
  • 1 - Log the transgression and kick the user
  • 2 - Log and kick ban the user for just this session
  • 3 - Log and kick ban the user for good.

 

TimeoutSeconds This option determins now how the mutator will wait before it considers the whole system to have timed out. (ie: not functioning properly). 
bKickOnTimeout If this option is true, when a player timesout, he will be kicked from your system.

The Check/MD5 tables are generated in the order they appear in your UTSecure.ini file.  So the first Checks will test using the first MD5, etc.

 

 

Obtaining an MD5 of a file
IMPORTANT NOTE:: You can only obtain the MD5 using the latest beta patch (as of 10/27/02).

You can obtain the MD5 of any file by using the following ucc commandlet MasterMD5:

UCC mastermd5 -f <filename>
UCC mastermd5 -q <filename>

This will give you the 16 digit MD5 you need for the MD5 field above.  Please keep in mind that only files that will not change can be checked using UTSecure.  Do not attempt to check core .U files (they are already well protected).

QuickMD5's are only available on actual UT2003 packages.  They are not available on general files.