===============================================================================
 Anti TCC v1.19 Beta 25 build 2006-01-06 20:18
 Copyright (c) 2003-2005 Wormbo
===============================================================================
Homepage: http://www.koehler-homepage.de/Wormbo/
Forum:    http://www.unrealadmin.org/forums/forumdisplay.php?f=167


Description
~~~~~~~~~~~
Anti TCC is a mutator designed to perform a more detailed check of various
packages and clientside settings. Its main goal in UT2003 was to detect SET
command cheats, the so-called temporary console commands or "TCCs". This type
of check is not implemented in Anti TCC for UT2004 though, since Epic turned on
the masterserver feature which keeps out SET command users.

The original documentation for Anti TCC v1.18c with a few more details about
configuration options can be found at:
    http://www.koehler-homepage.de/Wormbo/AntiTCC118c.htm


Installation
~~~~~~~~~~~~
The ZIP archive you downloaded contains 4 files:

    * AntiTCC119Beta25.u      The main package file for Anti TCC.
    * AntiTCC119Beta25.ucl    Tells UT2004 about the Anti TCC mutator.
    * AntiTCC119Beta25.u.uz2  A compressed version of AntiTCC119Beta25.u. This
                              file should be uploaded to a redirect server.
                              (only if your server uses redirected downloads)
    * AntiTCC119Beta25.txt    This file.

If you want to redistribute Anti TCC, please keep this ZIP archive unmodified.
This goes especially for you ClanBase admins: Please put this ZIP in your own
ZIP file if you really have to distribute Anti TCC with additional default
TXTs.
The original download can be found at:
    http://www.koehler-homepage.de/Wormbo/download2k4.html#AntiTCC

Step 1
    You should unzip the archive directly in to your root UT2004 directory with
    "expand folders" turned on. This will place all files in your UT2004\System
    subdirectory except for the last two, which will be placed in UT2004\Help.

Step 2
    Open the UT2004\System\UT2004.ini, UT2004\System\Server.ini or whatever
    main configuration file your server uses.

Step 3
    To automatically load Anti TCC all the time find the [Engine.GameEngine]
    section and add the following lines anywhere in that section:

        ServerActors=AntiTCC119Beta25.MutAntiTCCFinal
        ServerPackages=AntiTCC119Beta25

    The ServerPackages line will ensure the Anti TCC package is downloaded by
    all clients connecting to the server and might also fix some problems with
    demo recording. The ServerActors entry automatically loads Anti TCC and
    prevents it from being removed from the mutators list. If you don't want
    that, don't add it. Instead manually start the Anti TCC mutator through the
    webadmin interface or the server's startup commandline, e.g.:

    ucc server DM-Gael?mutator=AntiTCC119Beta25.MutAntiTCCFinal,xGame.MutVampire

    Note:
        You don't need to add the ServerPackages entry unless you want players
        to be able to record working demos.

    IMPORTANT:
        You really should remove the UTSecureServerActor and also any
        references to older versions of UTSecure, AntiTCC or SafeGame. Anti TCC
        and UTSecure or SafeGame will NOT work together and Anti TCC will try
        to get rid of the UTSecureServerActor on its own.
        It is, however, possible to have Anti TCC and SafeGame or UTSecure
        installed at the same time without their ServerActors and only activate
        one of the mutators at the same time.

Step 4
    Optionally you can add the changes found at the end of this file to your
    server's INI file. The default settings provide good protection already, so
    if you only want change things through the webadmin, you can skip this
    step. Anti TCC will automatically write the default
    [AntiTCC119Beta25.MutAntiTCCFinal] and [AntiTCC119Beta25.AntiTCCSecurity] sections
    to your servers INI file.

    Note:
        You shouldn't add UPL, UCL, INT or INI files to Anti TCC's list of file
        checks. The default skins stored in UPL files are checked seperately
        through Anti TCC's skin checks.

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.19 Beta 23 build 2006-01-04 00:20
  Copyright (c) 2003-2005 Wormbo
==================================================
 
 * Welcome on UTPlus and Unlagged InstaGib Test-Server
 * Your unique ID is [ 01234567-89abcdef-01234567-89abcdef ]
 * Player ID logging is enabled
 * Check Timeout: 60 seconds
 * Reaction to insecurities: Kick
 * Reaction to blacklisted files and classes: SessionBan
 * Reaction to modified skins: Kick
 * Reaction to invalid render settings: Message
 * Reaction to Temporary Console commands: Kick
 * Reaction to annoyances: TempBan
 * Anti TCC is running in single MD5 mode
 * Audio rolloff is locked at 0.50
 * Client versions older than 3369 are NOT allowed
 * Admins may log in silently
 * Verified AntiTCC119Beta25 (default)
 * Verified AntiTCC119Beta25 (default)
 * Verified HumanMaleA (default)
 * Verified HumanFemaleA (default)
 * Verified Jugg (default)
 * Verified Aliens (default)
 * Verified Bot (default)
 * Verified SkaarjAnims (default)
 * Verified XanRobots (default)
 * Verified ThunderCrash (default)
 * Verified Hellions (default)
 * Verified NewNightmare (default)
 * Verified PlayerSkins (default)
 * Verified UT2004PlayerSkins (default)
 * Verified DemoPlayerSkins (default)
 * Verified BrightPlayerSkins (default)
 * Verifying classes...
 * Verifying skins...
You have been validated successfully.


Everything Anti TCC displays in the client's console is also written to the
file AntiTCC_ClientConsoleLog.log in the client's UT2004\UserLogs directory.

You should check the server's log file (usually ucc.log or server.log) for Anti
TCC warnings. Anti TCC will tell you if something went wrong or whether your
configuration might cause problems. With the default configuration something
like this should be logged to the server's main log file (usually server.log,
ucc.log or ut2004.log):

AntiTCC:  
AntiTCC: ==================================================
AntiTCC:  Anti TCC v1.19 Beta 25 build 2006-01-06 20:18
AntiTCC:  Copyright (c) 2003-2005 Wormbo
AntiTCC: ==================================================
AntiTCC:  * Loading Anti TCC profile: 1on1
AntiTCC:  * NOTE: No UTAN ban manager detected. You may want to consider installing the
AntiTCC:          latest UTAN Ban Manager from http://utan.unrealadmin.org to help fight
AntiTCC:          cheaters globally instead of only on your own server.
AntiTCC:  * Admin faker name is 0o9nu3kFMa (DM-Antalus.xPlayerReplicationInfo)
AntiTCC:  * Initializing checks...
AntiTCC:  * Calculating Quick MD5 for AntiTCC119Beta25...
AntiTCC:    [ 467a422f0435d13a436c4b4b66584eff ]
AntiTCC:  * Calculating Full MD5 for AntiTCC119Beta25...
AntiTCC:    [ 449e97bf69562d42754c74503e2855fe / B16A95774A7396B8BD4F288134F5A996 ]
AntiTCC:  * Player IDs are logged to PlayerIDsINI, old IDs are removed after 30 days
AntiTCC:  * Player view rotation lock is enabled
AntiTCC:  * Audio rolloff lock is enabled
AntiTCC:  * Securing PlayerControllers
AntiTCC:  * Logging output to AntiTCC_2006-01-06_20-19_xDeathMatch_DM-Antalus
AntiTCC:    when neccessary
AntiTCC:  


Default Configuration
~~~~~~~~~~~~~~~~~~~~~
NOTE: Some settings have been changed to have more obvious names.

NOTE: You should consider using forward slashes instead of backslashes in the
      MD5Check's FName part. Remember to enclose the FName and MD5 values in
      double quotes.

[AntiTCC119Beta25.AntiTCCSecurity]
DisallowedFile=
DisallowedFile=
DisallowedPrefetchFile=
DisallowedPrefetchFile=
MD5Check=(FName=,MD5=,MD5Type=0,Optional=False)
MD5Check=(FName=,MD5=,MD5Type=0,Optional=False)

[AntiTCC119Beta25.MutAntiTCCFinal]
bAllowClientConsoleMessages=True
bBroadcastConsoleErrorMessages=True
bMessageBeep=True
bBroadcastClientScreenMessages=True
bDisplayProgressMessages=True
bDisplayProgressScreenMessages=True
bClientsMayGetIDs=True
bShowOnlyFirstPartOfID=False
bShowOnlyLastPartOfID=False
bClientsMayGetNames=True
bServerOSInServerDetails=True
bCheckSkins=True
bSingleMD5Mode=False
bCheckForTCCs=True
bAllowOldClients=False
bLogClientPackages=False
bLogClientClasses=False
bCheckClientClasses=True
bDelayMatchStart=False
bDelayLateJoin=False
bCheckRenderSettings=True
TimeoutSeconds=60
bKickOnTimeout=True
bSelfIntegrityChecks=True
WhatToDo=Kick
WhatToDoAnnoyance=TempBan
WhatToDoBlacklisted=SessionBan
WhatToDoSkins=Kick
WhatToDoRender=Message
WhatToDoTCC=Kick
bPauseGameDuringChecks=False
bEnableAdminFaker=True
bAllowSilentAdminLogin=True
bNoSpamCheck=False
bPreventMassSuicide=True
bFilterPlayerNames=True
bStripMessageColors=True
SavePlayerIDsTo=PlayerIDsINI
KeepPlayerIDsDays=30
AllowedConsoleClass=xInterface.ExtendedConsole
AllowedGUIControllerClass=GUI2K4.UT2K4GUIController
bTryToDisableHacks=False
bMidGameCheck=True
bMultipleMidGameChecks=True
bEndGameCheck=False
bRotationLock=True
bLockRolloff=True
bSpawnFakePlayers=True
bUseCustomLog=True
bSimpleLogMode=True
bAlwaysProduceCompleteLogs=True
LogFileSaveInterval=30
LogFileTimestampFormat=[yyyy-mm-dd hh:nn:ss] -
LogFileName=AntiTCC_%y-%m-%d_%h-%n_%g_%l
bSingleLineLogs=False
CurrentProfile=
AgreeEnableDelay=5
AgreementTimeoutDelay=60
AgreementText=
bAlwaysShowAgreement=False


Using Configuration Profiles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Anti TCC allows you to store more than one configuration in your server's INI
file. These configuration profiles contain the same options as the
[AntiTCC119Beta25.MutAntiTCCFinal] section of you INI file, but start with
[profilename AntiTCCSettings]. To load a profile you have to add the parameter
?AntiTCCSettings=profilename to the map URL when switching maps with the
ServerTravel command or on the server startup commandline, e.g.:

ucc server DM-Gael?mutator=AntiTCC119Beta25.MutAntiTCCFinal?AntiTCCSettings=1on1

Of course, the "?mutator=AntiTCC119Beta25.MutAntiTCCFinal" part isn't neccessary
if you run Anti TCC as a server actor.
You can also use the webadmin interface to specify a profile name in the
"Current Profile" textbox.
You don't have to edit the server's INI file to create profiles. Just use the
?AntiTCCSettings parameter as described above with an unused profile name and
the new profile will be created. You can then change the Anti TCC settings as
usual in the webadmin interface. The changes will be saved to the specified
Anti TCC profile once you restart or change the map.
When you return to a "profile-less" configuration, the last profile used will
stay active, but changes aren't saved to that profile anymore. To disable
profiles simply restart the map with the ?AntiTCCSettings parameter and leave
the profile name empty or completely leave out the ?AntiTCCSettings parameter
if there are other URL parameters like ?game or ?mutator. You can also change
the Current Profile setting in the webadmin interface to "-" and restart the
map.

The default configuration profile section looks like this:

[Profilename AntiTCCSettings]
bAllowClientConsoleMessages=True
bBroadcastConsoleErrorMessages=True
bMessageBeep=True
bBroadcastClientScreenMessages=True
bDisplayProgressMessages=True
bDisplayProgressScreenMessages=True
bClientsMayGetIDs=True
bShowOnlyFirstPartOfID=False
bShowOnlyLastPartOfID=False
bClientsMayGetNames=True
bServerOSInServerDetails=True
bCheckSkins=True
bSingleMD5Mode=False
bCheckForTCCs=True
bAllowOldClients=False
bLogClientPackages=False
bLogClientClasses=False
bCheckClientClasses=True
bDelayMatchStart=False
bDelayLateJoin=False
bPauseGameDuringChecks=False
bCheckRenderSettings=True
bKickOnTimeout=True
TimeoutSeconds=60
bSelfIntegrityChecks=True
WhatToDo=Kick
WhatToDoAnnoyance=TempBan
WhatToDoBlacklisted=SessionBan
WhatToDoSkins=Kick
WhatToDoRender=Message
WhatToDoTCC=Kick
bEnableAdminFaker=True
bAllowSilentAdminLogin=True
bNoSpamCheck=False
bPreventMassSuicide=True
bFilterPlayerNames=True
bStripMessageColors=True
SavePlayerIDsTo=PlayerIDsINI
AllowedConsoleClass=xInterface.ExtendedConsole
AllowedGUIControllerClass=GUI2K4.UT2K4GUIController
bTryToDisableHacks=False
bMidGameCheck=True
bMultipleMidGameChecks=True
bEndGameCheck=False
bRotationLock=True
bLockRolloff=True
bSpawnFakePlayers=True
bUseCustomLog=True
bSimpleLogMode=True
bAlwaysProduceCompleteLogs=True
LogFileTimestampFormat=[yyyy-mm-dd hh:nn:ss] -
LogFileName=AntiTCC_%y-%m-%d_%h-%n_%g_%l
LogFileSaveInterval=30
bSingleLineLogs=False
DisallowedFile=
DisallowedFile=
DisallowedPrefetchFile=
DisallowedPrefetchFile=
MD5Check=(FName=,MD5=,MD5Type=0,Optional=False)
MD5Check=(FName=,MD5=,MD5Type=0,Optional=False)


The DisallowedFile, DisallowedPrefetchFile and MD5Check lists in the profile
will appended to the corresponding lists in the AntiTCCSecurity section.

NOTE: You should consider using forward slashes instead of backslashes in the
      MD5Check's FName part. Remember to enclose the FName and MD5 values in
      double quotes.
