*******************************************/
* Project: UTDC
* Version: 1.2
* Protects against: Hooking of UT99 engine
* Made by: Troublesome
* Clan: VIP
* Cool qnet channel: #unreal.vip
*******************************************/

[Information]

UTDC is a protection against hooks. It have only been tested on my local server, so i've included some console commands to easy turn it off or adjust security/load balance. 

[Notice]

UTDC will most likely work on linux servers(not tested) as only uscript is run on the server. Clients will however be limited to running windows(if they are checked), because they will have to run native code contained in utdcv1.dll. Clients will also be limited to running UT versions 4.36, 4.40 or 4.51b.


[Installation]

1: Extract the contents of the zip file to your server's UnrealTournament\System directory.
2: Add the following lines under [Engine.GameEngine]:
ServerPackages=UTDCv12
ServerPackages=UTDCv12dll
ServerActors=UTDCv12.SMain
3: Modify settings in UTDC.ini
4: Start server

Clients will then be asked to confirm the automatic installation of the utdc dll when they join the server. 

[Settings]

You can modify these settings to decide your security/load balance. If you log in as admin you can use these console commands to modify settings contained in utdc.ini:

*mutate utdc settings
-This will show all currents settings. Works without being admin.

*mutate utdc check
-This will show you who is checked by UTDC and who is not checked. Works without being admin.

*mutate utdc set utdc on
-This will turn utdc protection on

*mutate utdc set utdc off
-This will turn utdc protection off

*mutate utdc set allow all os on
-This will turn utdc protection off for clients running linux or mac os allowing them to play on the server. This will however make the server less secure.

*mutate utdc set allow all os off
-This will turn utdc protection on for all clients and reject linux and mac os clients.

*mutate utdc allowone
-This will allow the next player who join the server not to be checked by utdc.

*mutate utdc set ban on
-This will ban players who got caught

*mutate utdc set ban off
-This will turn player banning off

*mutate utdc set kick on
-This will kick players who got caught

*mutate utdc set kick off
-This will turn player kicking off

*mutate utdc set safekick on
-This will only kick/ban players who got caught with helios v1.0 to 3.1

*mutate utdc set safekick off
-This will turn player kicking off

*mutate utdc set servercheck on
-This will make the server query the clients for a check every x seconds. That will make sure that the clients run the check.

*mutate utdc set servercheck off
-This will turn off the server query.

*mutate utdc set sfrequency <value>
-This will set the time between the server queries where value is the time in seconds (3-30)

*mutate utdc set clientcheck on
-This will make the client check it self every x seconds.

*mutate utdc set clientcheck off
-This will turn off the client selfchecking.  

*mutate utdc set cfrequency <value>
-This will set the time between the client selfchecking where value is the time in seconds (1-5)

If both server check and client check is turned off the clients will only be checked when they join the server.

*Set SeparateLog=True in utdc.ini to log catches in one map to a external logfile in the ut/logs folder.
*Change KickMsg in utdc.ini if you have some wise words for a kicked cheater.
*Change DownloadURL in utdc.ini if you want to provide a link for manual installation of the dll.

[Changes]
1.2:	[ADDED]	Option to let UTDC turn off protection for linux and mac clients allowing them to play on the server.
	[ADDED]	Command to see if anyone is excluded from check.
	[CHANGED] UTDC will not create empty logfiles when logging to external log files.
	[CHANGED] Safekick option will only kick/ban catches that look like helios hook 1.0 to 3.1

1.1:	[ADDED]	Option to only log catches
	[ADDED]	Option to log to external log files
	[ADDED]	Option to only kick/ban catches that look like helios hook 1.0 to 2.9b
	[ADDED]	Option to change kick message
	[ADDED]	Option to specify a link to a website with the dll for manual installation

1.0b:	[Fixed]	Most if not all false detections
	[ADDED]	Player banning
	[ADDED]	Command to easy allow a player to not be checked

1.0 :	Initial Release

[Credits]

Professorq, cus i found out about the dll loading method by looking at his work.

*******************************************/
HAPPY FRAGGING..........HEADSHOT BY TROUBLESOME! ;)