Requirements
This version requires Sockets. The latest version from sfPlayer.
http://forums.alliedmods.net/showthread.php?t=67640
Please download Sockets 3.0.1 or later versions!
Download
Download link: https://www.kigenac.com/KACSM/1.2/kigen-ac-pub.smx
Source Code: https://github.com/TheKigen/kigens-anti-cheat
Commands and ConVars
KAC 1.2 has a completely different system for settings than the previous versions.
Here is the list of commands.
- kac_addcvar <cvar name> <comparison type> <action> <value> <value2 if bound>
- kac_removecvar <cvar name>
- kac_addcmd <command name> <ban (1 or 0)>
- kac_removecmd <command name>
- kac_version - Version of KAC (not changable)
- kac_cvars_enable - If the CVar detection engine is enabled or not.
- kac_cmds_enable - If the Command protection engine is enabled or not.
- kac_cmds_spam - Amount of commands in a second before the player gets kicked. (Set to 0 to disable)
- kac_eyes_enable - If the Eye Test detection routine is enabled or not. (Disabled for INS and CS:S)
- kac_eyes_antiwall - Enable/Disable antiwall. By default it is disabled. (Works for all however, it is experimental.)
- kac_eyes_antiwall_wait - Process only every x tick. Delays Antiwall processing every x tick. Default is 0 (meaning processing every tick).
This part of the plugin was designed to monitor command usage by players on the server in order to prevent abuse of commands. By default this engine will prevent players from using certain exploitable commands that can cause the server to crash. It will also monitor how many commands the player is entering in one second.
About the CVar engine
I have rewritten this part of the plugin from the ground up to be dynamically allocated so that you can freely add and remove ConVars to and from the list. Lets say you don't like the built-in list preventing people from joining your server with server side plugins on their client. You can now remove them as you see fit. Lets also say that you may not want people messing with their net_graph while connected to your server. All you'd have to do is enter the command " kac_addcvar net_graph equal kick 0 " and your done.
About the Eye Test engine
This one is the new detection routine. You aren't likely to see a whole lot from it but what it does is test for impossible eye angles coming from clients. By default a client will never send eye angles past 90 and -90 degrees on the X or Z axis. Cheats however disable this behavior for a multitude of cheat features. This part of the plugin now enables KAC to test for these. This part of the plugin now also hosts the Anti-Wallhack. The Anti-Wallhack works off of testing if another player is about to be visible to the player, if not it doesn't send the other players' position to the player. So thus wallhacks have nothing to use.
About the Network engine
This has basically been the only thing left over from previous versions of KAC. It has been optimized and now also includes a Auto-Update feature so that it can download the latest KAC directly from the KigenAC website. I have plans to rewrite the entire KAC Network (aka the KAC Master server) from the ground up to be more flexible and more feature oriented so that you can use the KAC Network to do more than ever (feature details are private at this time).
About the RCON engine
This is about the only thing that needs true testing. I've made this part in an attempt to more accurately block the RCON crash via preventing the engine from handling it by itself. This feature does not interfere with the RCON bad password banning that the Source engine employs but makes it better by banning any players matching that IP out of the server before banning the IP.
About the Translation engine
This is my solution to the translation problem. The main reason why I created my own solution instead of using SourceMod's is mainly due to two reasons. I wanted to keep KAC compressed into one file and I've ran into issues in the past where SourceMod cached the first version of any particular text file to be loaded and wouldn't reload it basically preventing the updating of translations which is important now that KAC has a Auto-Update feature.