Monitor
The AntiCheat system is built on four pillars: Protection, Monitoring, Detection and Punishment.
- Protection: To protect against cheaters and hackers, encrypt or obfuscate your data so that it is protected against attacks. Countermeasures are taken to protect the integrity of the data and trap attackers, for example through honey pots.
- Monitoring: Observe and track the state of the game or device and the behavior of players to detect potential cheating or unusual behavior.
- Detection: Monitoring itself does not report cheating activity, but only tracks the state of the game or device and monitors deviations. These deviations are recorded by a detector. The detector itself checks the monitored deviations and informs the 'AntiCheat-Monitor' about possible cases of tampering or cheating.
- Punishment: React to detected cheating attempts with punishers when a calculated threat level is reached and can impose various penalties.
Monitoring
AntiCheat uses so called 'Monitors' to observe and tracks the state of the game or device and player behavior to detect potential cheating. A monitor is a MonoBehaviour attached to the 'AntiCheat-Monitor'. It is an observable component that can be subscribed to, to get notified over the game/device/player state.
Example: The 'AntiCheat-Monitor' lists all attached monitors.
Built-In
There are several built-in monitors that can be used universally across all devices and there are device specifications.
Universal Monitors
The following monitors are built-in in the AntiCheat package and can be used across all devices:
Monitor - Universal | Free | Pro |
---|---|---|
GameTimeMonitor | + | |
DeviceTimeMonitor | + |
A brief overview over the universal monitors:
GameTimeMonitor: Tracks the game time and notifies observers of time deviations (paused, slowed down, speed up) that may be caused by a cheater.
DeviceTimeMonitor: Tracks the device time and notifies observers of time deviations (different date time than expected) that may be caused by a cheater.
Android Monitors
The following monitors are built-in in the AntiCheat package and are designed for Android devices:
Monitor - Android | Free | Pro |
---|---|---|
AndroidPackageSourceMonitor | + | |
AndroidPackageHashMonitor | + | |
AndroidPackageFingerprintMonitor | + | |
AndroidPackageLibraryMonitor | + | |
AndroidInstalledApplicationMonitor | + |
A brief overview over the Android monitors:
AndroidPackageSourceMonitor: Determines the installation source of the app (which app store or if side-loaded) and notifies observers.
AndroidPackageHashMonitor: Calculates the overall hash of the app and passes it to observers.
AndroidPackageFingerprintMonitor: Reads the signing fingerprint of the app and passes it to observers.
AndroidPackageLibraryMonitor: Reads the included libraries, containing the built code, of the app and passes them on to observers.
AndroidInstalledApplicationMonitor: Determines the installed apps on the device and notifies observers.