Since many game servers got infested by cheaters, I decided to write a simple yet effective server-side anti-cheat system.
The anti cheat system successfully tracks hacking incidents, messages admins about those incidents and treats the cheating players accordingly.
It also supports customization via server commands, so you can change many options on the fly or on server startup.
The system is optimized for low workload and utilizes batching concepts to ensure consistently high performance.
At the moment the anti cheat system provides working detection for the following hacks.
There are a couple other threads related to this tool, to join them just click the links below.
The Anti Cheat system is and allways will be completely free to use, but keep in mind that I'm working on it during my free time and at my own expense.
In case you want to support me and this project with a donation, then you can do so by using the following links.
Changelog (including pre-release changes)
Visit the GitHub Repository for detailed source code updates.
There might be rare incidents of false-positives, this is the reason why kicking / banning is disabled in the current version.
However this can be changed by server commands.
It's all up to the related parameters, which need fine tuning.
In order to speed up this progress I need as many server logs as possible.
So if you want to help with this, you can send me your server (using the aniti cheat, ofc) logs.
I promise to keep them confidential.
Anti cheat settings can be changed on the fly via the server console, or on startup by editing the specific Sample_"Mission".txt.
The commands are as follows;
The latest server-engine, server commands, compiled module files aswell as the modsys of Native, Napoleonic Wars and Viking Conquest can be downloaded
Code implementation for modded/different modules
The implementation requires the server to run on v1.161 or latter.
Add this to module_constants.
Add this to the top of module_mission_templates, below the commented mission-description.
Add this to the end of each multiplayer mission in module_mission_templates.
Add this inside the script "game_quick_start" in module_scripts.
Add this inside the script "game_get_console_command" in module_scripts, after the second (try_begin).
Add this to the very end of module_strings.