Description
This plugin tries to detect cheaters by their BF3 Battlelog Stats. This is done in the following way:
When a new player has joined (by detecting new entries in the playerlist. not by the playerjoined event, to prevent spamming) his stats are fetched from his Battlelog page (3 requests).
This is done for 1 player every 30 seconds, to not trigger any restrictions on the Battlelog side using a fifo-queue (first in, first out. or fcfs (first come, first served))
Then every weapons stat (with more than 130 kills) is checked against a collection of averages (many thx to i-stats.net :-) check out their website) to decide if its normal, suspicious or impossible.
The following stats are checked:
Player SPM (score per minute)
Weapon k/m (KPM, kills per minute)
Weapon hs/k (HSPK, headshots per kill)
Weapon k/h (KPH, kills per hit)
Weapon accuracy
A player is considered cheating if he has 4 suspicious stats or 1 impossible stat.
Example:
Code:
1: [10:10:13 19] CD - IMPOSSIBLE STATS: Mong0lFPS M60 k/h: 100% (5,01)
[10:10:13 19] CD - IMPOSSIBLE STATS: Mong0lFPS M60 k/m: 18,22 (16,71)
[10:10:13 19] CD - IMPOSSIBLE STATS: Mong0lFPS M240 k/h: 100% (4,9
[10:10:13 21] CD - IMPOSSIBLE STATS: Mong0lFPS M240 k/m: 15,81 (14,64)
5: [10:10:13 26] CD - IMPOSSIBLE STATS: Mong0lFPS spm: 9475,55
[10:10:13 26] CD - SUSPECTED CHEATING: Mong0lFPS 99%
[10:10:13 26] ------------------------
[10:10:43 46] CD - suspicious stats: Kershalt007 Pecheneg hs/k: 67,69% (2,77)
[10:10:43 46] CD - IMPOSSIBLE STATS: Kershalt007 Pecheneg k/m: 10,44 (8,7)
10: [10:10:43 47] CD - suspicious stats: Kershalt007 M60 hs/k: 74,26% (3,06)
[10:10:43 47] CD - IMPOSSIBLE STATS: Kershalt007 M60 k/m: 10,76 (9,8
[10:10:43 47] CD - suspicious stats: Kershalt007 M27 hs/k: 72,02% (2,97)
[10:10:43 47] CD - suspicious stats: Kershalt007 XP2 LSAT hs/k: 69,3% (3,15)
[10:10:43 50] CD - SUSPECTED CHEATING: Kershalt007 99%
15: [10:10:43 50] ------------------------
[10:11:14 59] CD - IMPOSSIBLE STATS: UMadPanda PDR hs/k: 137,36% (6,53)
[10:11:14 60] CD - IMPOSSIBLE STATS: UMadPanda Taurus 44 hs/k: 163,16% (6,7)
[10:11:14 60] CD - IMPOSSIBLE STATS: UMadPanda F2000 hs/k: 125,06% (5,2
[10:11:14 60] CD - IMPOSSIBLE STATS: UMadPanda P90 hs/k: 87,93% (4,4)
20: [10:11:14 65] CD - SUSPECTED CHEATING: UMadPanda 99%
[10:11:14 65] ------------------------
As you can see in the first line, the weapon "M60" on the player "Mong0lFPS" has a "k/h" (kills per hit ratio) of 100% (422 hits, 422 kills), which is 5,01 times higher than the average k/h on the M60. This is considered impossible.
Line 6 shows the summary of all checks for the player "Mong0lFPS". 99% cheating so this player would be kicked/banned or an admin notified.
Example:
weapon asval: player x has 300 kills
the average hs/k on the asval is 25,85% thats 77 headshots
suspicious would be having a hs/k of 69,79% which is 209 headshots. (270% above the average)
impossible would be having a hs/k of 82,72% which is 248 headshots. (320% above the average)
the table shows what is considered suspicious and impossible
check suspicious (% above average) impossible (% above average)
accuracy 320% 370%
hs/k 270% 320%
k/h 270% 320%
k/m 500% 800%
spm ~340% ~500%