FastTurnDetect for Unreal Tournament 4.36
=========================================

Version: 1.1 (20090209)

[ About ]

FastTurnDetect is an alternative approach to detecting artificially-assisted aiming.

What it does is regularly check the angular speed of players and compares it to the predefined limits set in the ini file.

At it's current state, the mutator is currently beta but it's useable. It has not been tested on a public server so it may produce lag and require some optimization. The source has been included to allow programmers to adapt it to their needs.

Feel free to adapt this to other Unreal Engine games.

[ Updates in this version ]
20090209:
- Some general optimizations in code.
- Added bCheckBestProgressor option to only check player with best FPH.

[ Instructions ]

The mutator is made to run as a serverside mutator on dedicated servers. As such, it will deactivate itself if it isn't on a dedicated server or if it has been added to the ServerPackages.

To use it, copy the files FastTurnDetect.u, FastTurnDetect.int and FastTurnDetect.ini to your System folder. You can then start it up by selecting it in webadmin or in the startup file using the mutator name FastTurnDetect.FastTurnDetect.

The ini settings are as follows :

[FastTurnDetect.FastTurnDetect]
bUseServerLogFile=false		Use the server's log file to log abnormalities
bUseCustomLogFile=true		Use the mod's log file (log file will be saved in Logs/).
maxYawLimit=5461		How many yaw units before the mod triggers
maxPitchLimit=4000		How many pitch units before the mod triggers
bKick=True			Kick the player when triggered
bBan=False			Ban the player when triggered
bSimulated=False		Trigger but do not kick or ban
bCheckBestProgressor=false	Only check player that is making the best progress

The limit values are defined in RUUs or Rotational Unreal Units. A complete circle is 65536 RUUs. To convert degrees to RUUs divide 360 by a given number of degrees and then use the resulting number to divide 65536.

A final note. There is no guarantee that there will be no false positives but I have done my best to account for special cases where a player's ViewRotation is instantly changed. The values given correspond to a game speed of 1.0 and players with reasonable mouse speeds and no mouse acceleration. It's up to server admins to test these values and adjust them accordingly.

If you aren't sure of what values to choose, run a few test games with bSimulated=true and see what results you get in the log files. Then increase the values so normal players don't trigger the mod.


[ Thanks ]

Wormbo, for helping out by answering a few questions about problems I had while making this .

[ Contact ]

If you have any suggestions or comments, send an e-mail to iamfearless@gmail.com. I can also be found at unrealadmin.org or beyondunreal.com.

James P.
February 2009.