plugin_anticheat by yensid Version 3.0 2001/11/15

This plugin currently contains commands to help prevent various cheats that register their own cvars.

*********IF YOU ARE LISTED AS HAVING EVERY CHEAT************
It mean either you have TSC installed (these aren't compatible with each other) or you aren't running Admin Mod version 2.50.11 or later (or didn't shut down your server to update the .dll/.so).  At the time this is being written, you can get a beta version of 2.50.11 by following the link at http://www.adminmod.org/ascript
 
*IMPORTANT******************** 
* You must be running Admin Mod version 2.50.11 or later for this to work.
* For this to work, you must have admin_vault_file defined in your server.cfg or listenserver.cfg.  This is where the timer length is stored.
* You must have file_access_write 1 in your server.cfg to be able to create the log file of cheaters.
******************************

For instructions on how to compile and install plugins, please refer to the Admin Mod manual, located online at http://www.adminmod.org - at the time this readme was written, the URL for the manual was located at http://www.adminmod.org/help/online/
The specifics for downloading and installing plugins is in the section titled 'Admin Mod Plugins'

COMMANDS

The commands for this plugin are as follows:
	admin_anticheat <target> [auto] [off]: Check <target> for the OGC/HLhack cheat.  Optionally, you can put the word 'auto' after <target> to repeat the check periodically, or 'off' to turn off the repeating checks.
	admin_anticheatall [auto] [off]: Check everyone for the detect cheat.  Optionally, you can put the word 'auto' after the command to repeat the check periodically, or 'off' to turn off the repeating checks.
	admin_anticheatteam <team> [auto] [off]: Check all on <team> for the OGC/HLhack cheat.  Optionally, you can put the word 'auto' after <team> to repeat the check periodically, or 'off' to turn off the repeating checks.
	admin_anticheattime <time>: Time in seconds between checking for OGC/HLhack cheats during auto checking.

<target> indicates a specific player's Session ID, WONID, name, or partial name.
<team> is the team number of the team you would like to check.
<time> is, as it says, the time in seconds between checking for aimbot cheats during auto checking.  Pretty self explanatory.
[auto] and [off] are optional parameters you can add.  See command descriptions above.

*NOTE* Turning off auto-checking via admin_anticheatall or admin_anticheatteam will not remove auto-checking from someone who was flagged for it individdually. To remove automatic checking from an individual like that you must run 'admin_anticheat <target> off' on them.

HOW IT WORKS

To run this periodically on everyone, change:
	new Check_All_Autorun = 0;
to:
	new Check_All_Autorun = 1;
in the .sma file.

Information about detected cheaters will be in CheaterList.txt in your game directory.  This should be generated automatically, but a blank one was provided for you as well.  This should go in your game directory.

There are several settings you can change to adjust the behavior of this plugin.  These are located near the top of the plugin_anticheat.sma file.  Please check there before asking for different functionality in the script!

ADDITIONAL INFORMATION

You may want to change this plugin name to prevent cheaters from targeting your server as a 'challenge'.  Or, if you leave it with this name, it may deter some potential cheaters.  Your choice!

Version 3.0 doesn't use admin_anticheatall auto for the auto run checking any more. What it does now (essentially, this isn't exactly how it works, but close enough) is run admin_anticheat on each individual for however many times are listed in the contant AUTORUN_REPEAT (default 20) in the script. 
The reason I switched it to do this is a person must have all of the cvars registered when they connect. They can't add or remove any after half life is loaded. So there's no point in checking everyone all of the time, instead it just checks them for AUTORUN_REPEAT times when they connect. This means the only time you have high overhead from a bunch of people being checked is at the beginning of a map.  If you don't like this method, feel free to change the Old_Style_Autorun variable in the script.

What's wrong with these sad people?  What's the point of using cheats?  It ruins any challenge or fun in the game.  It's the equivilent, in my opinion, to randomly wacking people upside the head.  You get nothing from it, it's no challenge, all it does is annoy other people, and makes everyone paranoid.  Then no one gets to have fun.  Thanks, jerks.

Down with cheaters!!!!

I mean, really, we're all just playing to have fun competing with each other.  What is the fun playing with cheats?  That's like target shooting with a target at point blank range.  "Oh look, I got another bullseye, how exciting."  Or is it the satisfying feeling of knowing you suck and can't compete with the other players?  I just don't get it.

CHANGE LOG
3.0 -	Changed autorun method to not be as intensive and intrusive.  You can still use the old style by changing the Old_Style_Autorun variable in the script.
	Changed autorun to 'on' by default, since it's less resource intensive now.
	Added option for how many times to test a newly connecting player using the new auto-run method.  See AUTORUN_REPEAT constant in the script.
	Added option to ban by IP (see Ban_Type in the script).  Note - when using this method you should probably add -noipx to your command line to prevent players from connecting via ipx.  Also, this method requires plugin_banip.
	Added message to be displayed in console of someone booted for cheating.  See the variable CheaterKickMsg in the script to change the message.
	Added cvars for 4dv4nc3d hack and ViperG.
2.1 - 	Made it not so spammy for servers which do not have admin_quiet set to 2.
	Added OGC5.0a cvars.
	Added options for how to display cheater found messages.
	Added option to automatically run the auto detection without relying on the server.cfg.
	Changed to ban via WONID instead of name.
2.0 - 	Gutted tracking system.  
	Fixed bug which would cause a non-detection of one type of cheat to make it seems as though all cheats were cleared.  Now each cheat is tracked seperately and checked simultaneously.
1.1 - 	Added HLH and XQZ cvars.
1.0 - 	Original release.

FUTURE PLANS
	-Move cheats to a .txt file for easier updating.
	-Add more cheat cvars!
	-Add options for turn detecting of specific cheats on or off.

Hopefully this all makes sense to you!  If you have any further questions, please check on the forums at http://www.adminmod.org - we'll be happy to help you!