Features
This plugin analyses player shots and determines which of them are potentially were made by cheaters/scripters. The plugin can detect when a player deals damage to other players by shooting from inside a rock/under terrain. Displays visualization of the antihack violation for adminsPermissions
This plugin uses the permission system. To assign a permission, use oxide.grant <user or group> <name or steam id> <permission>. To remove a permission, use oxide.revoke <user or group> <name or steam id> <permission>.- arkan.allowed -- Allows player to use /arkan* commands
- arkan.nr.draw -- Allows drawing of No Recoil violations in realtime
- arkan.aim.draw -- Allows drawing of AIMBOT violations in realtime
- arkan.ir.draw -- Allows drawing of In Rock violations in realtime
- arkan.nr.reportchat -- Allows to report No Recoil violations in the admin's chat
- arkan.aim.reportchat -- Allows to report AIMBOT violations in the admin's chat
- arkan.aim.reportchat -- Allows to report In Rock violations in the admin's chat
- arkan.nr.reportconsole -- Allows to report No Recoil violations in the admin's console
- arkan.aim.reportconsole -- Allows to report AIMBOT violations in the admin's console
- arkan.ir.reportconsole -- Allows to report In Rock violations in the admin's console
- arkan.nrwhitelist -- Adds a player to the whitelist for No Recoil violations
- arkan.nrblacklist -- Adds a player to the blacklist for No Recoil violations
- arkan.aimwhitelist -- Adds a player to the whitelist for AIMBOT violations
- arkan.aimblacklist -- Adds a player to the blacklist for AIMBOT violations
- arkan.irwhitelist -- Adds a player to the whitelist for In Rock violations
- arkan.irblacklist -- Adds a player to the blacklist for In Rock violations
How It Works
The plugin detects low recoil by comparing angle of shots made in series'Probability' of violation based on many factors, such as:
- Angle between shots
- State of the player (standing/running)
- Attachments
- Distance between shots intersection
Chat Commands
Values in <> might be omitted- /arkan - Show a list of all violations
- /arkaninfo - Show commands info
- /arkannr <SteamID/Name> <num> - Show No Recoil violations or teleport to player's (SteamdID/Name) (if specified) first/next violation or (if specified) - player's (SteamdID/Name) specific violation (num)
- /arkanaim <SteamID/Name> <0/num> - same as /arkannr, but for AIMBOT violations
- /arkanair <SteamID/Name> <0/num> - same as /arkannr, but for In Rock violations
- /arkansave <filename> - Saves all violations to datafile (filename)
- /arkanload <filename> - Loads violations from datafile (filename)
- /arkanclear - Clears all violation data
Console Commands (RCON)
Values in <> might be omitted- arkan - Show all violations
- arkan.nr <SteamID/Name> <num> - Show No Recoil violations (SteamdID/Name) (if specified) first/next violation or (if specified) - player's (SteamdID/Name) specific violation (num)
- arkan.aim <SteamID/Name> <0/num> - same as arkan.nr, but for AIMBOT violations
- arkan.ir <SteamID/Name> <0/num> - same as arkan.nr, but for In Rock violations
- arkan.save <filename> - Saves all violations to datafile (filename)
- arkan.load <filename> - Loads violations from datafile (filename)
- arkan.clear - Clears all violation data
Configuration
The settings and options can be configured in the Arkan file under the config directory. The use of an editor and validator is recommended to avoid formatting issues and syntax errors.Weapons and hit body parts settings and options can be configured in the oxide/config/Arkan.json
AIMBOT violations are being checked only for hits in specific body area, missed shots are ignored
By default, the option to check players is set:
In this case, the plugin checks all players except those whom the admin adds to the whitelist (verified).
If this parameter is set to:
In this case, the plugin will only check those players whom the admin will add to the blacklist (suspicious)
Discord settings:
Stored Data
By default - plugin autosaves violation data into ~/oxide/data/Arkan/<server start datetime>.json, this can be disabled in configLocalization
The default messages are in the Arkan file under the lang/en directory. To add support for another language, create a new language folder (e.g. de for German) if not already created, copy the default language file to the new folder and then customize the messages.For Developers
Hooks
API Calls
Get all violation data:private string API_ArkanGetPlayersViolationsData()
Demo DemoArkanAPI.cs: