Cheating; Downloading and using any form of a cheat created by anyone else is a act of weakness. Without any knowledge, clicking a download button, do these people gain an advantage over others, for example by being able to see others through the walls or avoid having to aim - because that is done for you. Don't get me wrong; I like those who actually learn to hack and create something for their own pleasure. I just don't like those damned leeches who download them!
In multiple forum threads scattered in our boards, it has been revealed a new system will take the place of the current (weak and restricted I might add) cheat prevention system. This new system is designed from scratch and is not integrated with Movie Battles II, which I have named Simple Anti-Cheat (SAC).
This migration to external files opens up new possibilities that were previously not possible. By breaking the limits of the engine, I had a focus on the ease of use. This is where the name came from, Simple Anti-Cheat, as in - easy to use! One of the main goals was to have the system load automatically, this works but sadly only for Windows users.
Those unfortunate souls using Linux must use a launcher instead, but trust me when I say that isn't hard (Double click anyone?). The other main goal was to allow me to update SAC files at any time without intruding on your game experience. Therefore any update is automatic, silent and is performed when you play the game! You don't have to reconnect or do anything actually, just play! While the system is updating, it will go at maximum speed possible so this will most definitely affect your latency and cause lag. Luckily an update is a rough 700KB, so most of you should be fine within 5 seconds. The unfortunate 28k-gamer will have an estimated 3 minutes of lag.
Another possibility that was opened up due to this migration is to support modifications other then Movie Battles II. I've already spoken to the lead coders of both ArbModding (Arbmodding.co.cc) and Jedi Knight Galaxies (Jkgalaxies.com), both are enthusiastic about the system and will be using SAC upon their initial releases. Will this mean there will ever be a SAC for saber games? Probably not, I have no interest in that whatsoever. The server list for any of these modifications will feature a new icon indicating whether or not that server is protected by SAC.
I'll sketch a simple description on the working of this system. When you enter a SAC protected server your game client will be asked to authenticate itself - basically telling the server they are real. If the client is outdated, it will be required to update itself. The server will wait for a limited amount of time until the client is back up to date. From this moment on, every internal switch goes on to start detecting possible cheats. When something illegal is detected, the client will be forcefully disconnected from the server. Of course to verify if the system is still running, authentication will be required at periodic intervals. Bandwidth is not an issue, almost nothing is added (a few bytes per minute).
One noticeable difference between the current system and this new one is how cvar violations are handled. The current system simply drops you (which is a bit harsh), but the new system will force back the cvar to an allowed state. It will keep doing this for a limited amount of times, so don't go play around violating it over and over! The system will not look outside of the game folder, so your porn is safe - don't worry.
The system is currently being tested by a batch of testers running on Windows XP 32-Bit, Vista 32/64-Bit and Windows 7 32/64-Bit. I'm handling the testing on Linux myself and so far no major issues have been detected (Apart from one scenario where we probably have detected some form of a virus, which is awesome!). Every automatic update will go through the same or improved channels of testing before being released into the public. Of course, you - the ordinary player - won't notice a thing.
I hope this will bring you up to speed, if you have questions remaining please don't hesitate to ask. Please do note, however, I won't go into internal details how certain things are handled at the code level (which should speak for itself)