Release 1.08, Copyright 2003 by Wormbo (wormbo@onlinehome.de)
Anti TCC is a mutator that designed to perform a more detailed check of various packages and clientside settings. Its main goal is to detect SET command cheats, the so-called temporary console commands or "TCCs".
This release targets the following cheats:
The ZIP archive you downloaded contains 4 files:
ServerPackages=AntiTCC108 ServerActors=AntiTCC108.AntiTCCServerActorIMPORTANT: You have to remove the UTSecureServerActor and also any references to older versions of UTSecure or AntiTCC.
Make sure Anti TCC works properly by connecting to your server. The client console should display something similar to the following example.
================================================== Anti TCC v1.08 build 2003-09-24 11:25 Copyright 2003 by Wormbo ================================================== * Insecure clients will be kicked * Scanning for all SET command cheats... * Scanning for FOV cheats... * Center View is allowed * Verified package Aliens * Verified package Bot * Verified package HumanMaleA * Verified package HumanFemaleA * Verified package Jugg * Verified package Weapons * Verified package PlayerSkins * Verified package BrightPlayerSkins * Verified file AntiTCC108.u * Verified skins You have been validated successfully.
The packages actually verified depend on which packages are loaded which in
turn depends on which models the players on the server use. Anti TCC explicitely
preloads the packages Aliens, Bot, HumanFemaleA, HumanMaleA and BrightPlayerSkins,
the packages PlayerSkins, Jugg and Weapons are already loaded by default.
The default Anti TCC configuration checks the regular skins, the Epic bright skins
and the TTM bright skins (if they are in use) as well as the standard model
packages and the file AntiTCC108.u.
Anti TCC offers three new console commands:
The following options need to go under the enter [AntiTCC108.AntiTCCSecurity] in your UT2003.ini file (or whichever ini file configures your server).
The first configuration option is the Checks data set. All of the important data for each file is combined in to 1 entry in the ini. The format for the entry is seen here:
Checks=(FName="",MD5="",MD5Type=x,GUID="",MaxGenerations=x,Optional=True|False)
Notice that each sub-field is separated by a comma and mixes string and numeric data.
Additionally, the GUID and MaxGenerations sub-fields are only relevant when MD5Type
is 2 and can be excluded in all other cases. You can refer to the defaults for actual
examples.
IMPORTANT: Make sure there are no whitespaces on the Checks=... lines.
The available sub-fields are:
FName=<packagename> FName=<filename> |
The FName sub-field defines which files you wish to
check. How this field is handled is dependant on the MD5Type
sub-field below. 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). Paths are relative to your \System directory and can be relative or absolute. |
MD5=<32 digit hash> | This is the MD5 that Anti TCC will expect to see for this file. There is a considerable difference between a Quick MD5 and a Full MD5 so make sure you add the appropriate one depending on the MD5Type sub-field. |
MD5Type=<0|2> | This sub-field determines what type of MD5 check to
perform.
Full MD5's can be performed on any file but tend to be slower. |
GUID | This is a new sub-field that in the case of full MD5's will be used to perform an alternate check of a file in case that file is not found. Anti TCC will use the GUID to browse the \Cache directory looking for matches. |
MaxGenerations | This is the maximum number of generations of the file to check for. It works in conjunction with GUID when a file is not found. Anti TCC will begin looking for the GUID-MaxGeneration.uxx and count backwards to 0 to maintain compatibility. Most times this number will be set to 1. |
Optional | If this value is set to true and the file is either not loaded (in the case of types 0s) or not found (in the case of type 2s) then it will not be considered a bad file. |
The following options are considered global.
WhatToDo=<0-3> | The what to do option determines what your server will
do if it detects an modified file. The available options are:
|
TimeoutSeconds | This option determins now how the
mutator will wait before it considers the whole system to have
timed out, i.e. not functioning properly. Values lower than 10
seconds are not allowed. NOTE: A timeout doesn't imply cheating. Timeouts can also be caused by lag. The recommended minimum value is 30 seconds. |
bKickOnTimeout | If this option is true, when a player times out, he
will be kicked from your system. NOTE: A timeout doesn't imply cheating. Timeouts can also be caused by lag. The recommended minimum value is 30 seconds. |
CheckSets | If set to CheckSome or CheckAll,
Anti TCC will check for SET command cheats. Possible values are:
|
bGetClassDetails | Logs the received and the expected class properies summary when a SET command cheat was detected. |
bAdditionalRandomSetChecks | Randomly perform additional checks for critical SET command tweaks if SET command checks are at least set to CheckSome. |
bServerDetailsShowChecks | Anti TCC will display the settings of the TCC checks,
Center View check, FOV check and the check for high DefaultTexMipBias
in the server details when this is set to True. Note: Anti TCC will not show up at all in the server details if WhatToDo is set to 0. |
bLogClientPackages | Whether a list of all packages loaded on the client should
be logged in the server's log file. This option probably is more useful in league matches than on public servers. |
bNoHighLODBias | Prevents players from using a DefaultTexMipBias higher
than 0. (aka. PicMip) DefaultTexMipBias > 0 can cause textures to look like a plain color and can give players unfair advantages e.g. in InstaGib matches. |
bCheckFOV | Enables or disables Anti TCC's FOV cheat checks. These checks have little to no visible performance impact and should stay enabled to prevent players from zooming with weapons that don't have a zoom feature. |
bCheckInvisHack | Enables or disables Anti TCC's checks for invalid player classes like the invisible player exploit or the giant Gorge model. |
bCheckAim | Enables or disables Anti TCC's aiming
accuracy checks. These checks have only little performance impact and can detect aimbot users. |
bNoCenterView | Enables or disables Anti TCC's checks for usage of the Center View key. Players who use Center View will never be banned, but they will be kicked when WhatToDo is greater than 0. |
bClientsMayGetIDs | Enables or disables Anti TCC's ShowIDs console command
which sends a list of all players connected and their IDs to the client. Note: This console command is only available when the PlayerControllers have been secured. Some mods like TTM or certain custom gametypes prevent this and the ShowIDs command is not available. |
bMessageBeep | Enables or disables the beep sound played when Anti TCC detects illegal files, settings or activities on a client. |
bAllowClientConsoleMessages | Anti TCC displays messages in the client's console and log file about security checks. This option can disable the console messages. |
bBroadcastConsoleErrorMessages | Enables or disables Anti TCC's red console warning messages stating the reason for a kick. This will not display a client console warning when bAllowClientConsoleMessages is disabled, but the warning will still be logged in the client's log file. |
bBroadcastClientScreenMessages | Enables or disables Anti TCC's a red warning message in the center of all clients screens when a client is kicked by Anti TCC. |
bUseCustomLog | When set to true, Anti TCC will send most of it's log output to the log file specified in the next variable. |
LogFileName | Holds the name of the log file to
output to. This file gets stored in the \UserLogs directory and the
file extension ".log" is automatically appended. You can use one or more of the following placeholders in the filename:
|
LogFileTimestampFormat | The timestamp format to be used in the custom
log file. This option has no effect when the custom log file is disabled.
You can use the following placeholders in the timestamp: yyyy – year (four digits) yy – year (two digits) mm – month dd – day hh – hour (24 hour format) nn – minute ss – second |
LogFileSaveInterval | Values greater than 0 will cause Anti TCC to close and re-open
the custom log file once in a while to force all log data to be written to disk. This option is useful when dealing with server crashes possibly related to cheats and other exploits because without it the custom log would only be saved when switching maps. |
bSimpleLogMode | When set to true, Anti TCC will only
create the custom log file when an insecurity or important other
problem is detected. The time placeholders of the log file name will
use the map startup time, but the first logged line will show the
time when the log file was actually opened. NOTE: Enabling this option will turn off the bLogClientPackages option. |
UCC mastermd5 -f <filename>This will give you the 32 digit MD5 you need for the MD5 field above. Please keep in mind that only files that will not change can be checked using Anti TCC. Do not attempt to check core .U files (they are already protected and have a different MD5 in every version).
UCC mastermd5 -q <packagename>Rember that you do not need to include the path or file extension for quick MD5's as UT2K3 will use its internal package loading code to open it.
Checks=(FName="OpenGL32.dll",MD5="file not allowed",MD5Type=2,Optional=True)This will disallow the file OpenGL32.dll in the \System directory. Of course you can also specify absolute or relative paths in FName. It is important that you use MD5Type=2 and Optional=True.