Jump to content
Sign in to follow this  
ImportBot

CheatDetector 0.5.2.1

Recommended Posts

Originally Posted by grizzlybeer*:

CD - CheatDetector [bF3/BF4]

Description
Stats Check
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, or more headshots than kills with more than 20 kills) is checked against a collection of averages 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

Strict Mode: A player is considered cheating if he has 4 suspicious stats or 1 IMPOSSIBLE stat.
Normal Mode: A player is considered cheating if he has 5 suspicious stats or 1 IMPOSSIBLE stat and 1 suspicious 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,98)
    [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,88)
    [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,28)
    [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.
Weapons with more headshots than kills (except shotguns, rockets and the like) and more than 20 kills will be treated as IMPOSSIBLE (=cheating).

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)

Live Check
From version 0.4 CheatDetector features a Live Protection.
Every 5 minutes all players (except players in the whitelist) will be checked for their headshots per kills (hs/k) and kills per minute (kpm) during their time on your server.
A player is considered cheating if he has > 91% hs/k or > 8 kpm with at least 20 kills. This is basically (average over all weapons) the same limit CheatDetector uses for Stats Check.
Note that Live Check does not distinguish between weapons or vehicles. (This is not reported by the game server)

Example:

Code:
[16:15:02] CD - LiveCheck SUSPECTED CHEATING OMonkeyOoOoOo kills: 30 hs: 30 time: 9,59 hs/k: 100% kpm: 3,12
If 0. Enable Live Check is set to "Yes" these 2 players will be kicked (or banned, depending on your settings).
For the message displayed to the kicked player %suspiciousstat% will be replaced with "too many hs/k or k/min (CD - LiveCheck)" instead of a certain weapon.
This will protect your server from cheaters with clean (or resetted) stats. You can see the checks for non-cheaters on debug level >=3.

Stream players to 247FairPlay.com
http://www.247FairPlay.com is a website providing stats, forum and ban appeal for my server and my bans.
Since version 0.4 you can stream the players on your server to a database at 247FairPlay.com. This DB will be used to check the players in addition to the CheatDetector plugin on your server. The plugin will not be blocked by this and errors (for example: you cant reach 247fairplay.com) wont show up in the log. its "fire and forget".
You can see the requests on debug level >=3.
These checks include extended stats check, linked accounts, history check to name just a few (note that some of these features are still in development)
Detected cheater will be banned through the metabans.com account @CheatDetector (http://metabans.com/CheatDetector)

How do you make use of these checks? Simple: install metabans plugin and follow @CheatDetector to enforce the bans on the detected cheaters. Depending on the usage (and several more restrictions), it might take some time to get checks done.

You will find further information about the new CheatDetector features in the CheatDetector thread at Procon forums, at 247FairPlay.com forum or here as it develops :-)

THANK YOU
THX & Credits go to the following people (and more i'm sure):
all Procon Devs for Procon and their API :-)
i-stats.net & symthic.com & bf3stats & cheatometer for their massive DBs of weapon and player values and known cheaters
Panther for showing how to use that API and other Plugin stuff
Phil & Phogue & MorpheusX for all their support and tips and letting me nag em :-)
EBastard & HexaCanon & PapaCharlie & ty_ger & dyn & IAF SDS & all the other for testing, reporting & various tips

Support & Feedback
www.phogue.net/forumvb/showth...ector-%28CD%29*

Plugin (recommended) Settings
0. Ban Method and Whitelist and BattlelogCache
Servertype: BF3/BF4/Automatic. (Automatic)
TempBan/Ban by name: Not recommended. A Player can easily change their name and join again. (No)
TempBan/Ban by EA GUID: Recommended. This ID is linked to the player's EA account. Works best with Metabans (Yes)
TempBan/Ban by PB GUID: Recommended. This ID is linked to the player's cd key (No)
Whitelist: List of players (ingame-names without clantag) not to check
Sync ReservedSlots/ServerVIPs: Automatically syncronize the players in the ReservedSlot list with the Plugin Whitelist (Yes)
Use BattlelogCache if available: Use the Battlelog Cache to reduce traffic (Yes)
Stream Players to 247FairPlay.com: If enabled CheatDetector will contact http://www.247fairplay.com/cheatdetector.php every 30 minutes to add the players on your server to a database to do stats checks and various other checks. If a cheater is detected, he will be banned through the MetaBans Account @CheatDetector (http://metabans.com/CheatDetector). (Yes)
Enable Stats Check: Enable the stats check through battlelog. (Yes)
Enable Strict Mode: When enabled: 1 IMPOSSIBLE or 4 suspicious stats is considered cheating (=kick/ban). When set to NO: 1 IMPOSSIBLE and 1 suspicous or 5 suspicious stats is considered cheating. (NO)
Enable Live Check: Enable the ckecking of the players hs/k and kpm on your server. (Yes)

2. Kick
Enable Kick: No
Message to be displayed to the kicked player: %playername% will be replaced with the players name. %pbguid% will be replaced with the players PunkBuster GUID. %eaguid% will be replaced with the players EA GUID. %suspiciousstat% will be replaced with the most significant detected stat. (SUSPECTED CHEATING: %playername% %suspiciousstat%)

3. TBan
Enable Temp: If temp ban is enabled, no kick will happen (Yes)
Message to be displayed to the temp banned player: %playername% will be replaced with the players name. %pbguid% will be replaced with the players PunkBuster GUID. %eaguid% will be replaced with the players EA GUID. %suspiciousstat% will be replaced with the most significant detected stat. (SUSPECTED CHEATING: %playername% %suspiciousstat%)
Length of Temp Ban (min): Length of temp ban in minutes (15)

4. Ban
Enable ban: If permanent ban is enabled, no temp ban or kick will happen (No)
Message to be displayed to the banned player: %playername% will be replaced with the players name. %pbguid% will be replaced with the players PunkBuster GUID. %eaguid% will be replaced with the players EA GUID. %suspiciousstat% will be replaced with the most significant detected stat. (SUSPECTED CHEATING: %playername% %suspiciousstat%)

5. Notify
Enable ingame notification: Yell a message to an admin (or any other player) when a player is detected by this plugin (Yes)
Enable private/public notification: Enable the desired type(s) of notification
Ingame username: player to receive the ingame notification
Message to be displayed: Message to be displayed to the ingame playername (CheatDetector - SUSPECTED CHEATING: %playername% %suspiciousstat%)
Time to display (sec): Time to display the ingame notification in seconds (30)

6. Debug
Debug Level (0-5): Debug level adjusting how many debug messages you will see in the plugin console log (1)
0 - no messages at all (quiet)
1 - only detections/kicks/bans will be displayed
2 - will also show log entries for normal players and some queue timeout operation when neccessary
3 - will also show the queue size and number of players enqueued, adding and removing of players to the playerlist and queue, skipping of whitelisted players, queue timeout operations
4 - will also show checked and skipped weapons, a lot more internal operations, "expected" errors (dont worry ;-))
5 - just for development and testing

Automatic Update Check: Check for Plugin Updates every 3 hours. (Yes)
Log to file: Log plugin output to a file (CDLogFile.txt) in the Plugin/BF3 directory. Not recommended, this file may get very big and slow your procon down. Only use it to log errors and only use it local (No)
Filename/Path: Filename and path of the logfile relative to the Procon executable (Plugins/BF3/PBSSELogFile.txt)
Advanced: DO NOT PLAY WITH THESE VALUES UNLESS INSTRUCTED BY ME OR YOU WILL BREAK THE PLUGIN (NO)

DO NOT EDIT ANY OF THE BELOW SETTINGS - LAST WARNING - VERBOTEN :smile:
Lazy Queue: When enabled, the plugin will also check players that left the server while being enqueued (No)
Orange Flag Score per Min: Set the SPM needed to raise a suspicious flag (1200)
Red Flag Score per Min: Set the SPM needed to raise a IMPOSSIBLE flag (2000)
Min Kills: Minimum Kills needed for a weapon to be analyzed (200)
Min Kills (live): Minimum Kills needed for a player to be checked during Live Check (30)
Max hsklive: Headshots per Kill Percentage needed to raise a IMPOSSIBLE flag during Live Check (0.91)
Max kmlive: Kills per Minute needed to raise a IMPOSSIBLE flag during Live Check (8)
Name: List of Players to check when TEST (Option below) is set to Yes
Test: Check Players listed in NAME (Option Above) (No)
Retries: Retry stats fetching X times when failed (1)
Timeout Test: Let all requests to fetch stats fail. Just for testing (No)
Stream to Master: Settings for streaming to my mysql server. (No)

Version History (Changelog):
0.5.2.1
-Fix: Added placeholders for new Final Stand DLC weapons.
-Fix: Other minor fixes.

0.5.2.0
-NEW: Adjusted cheat detection algorithm to better fit the new averages.
-Fix: Updated weapon averages (for Dragon's Teeth DLC weapons too).
-Fix: Added Placeholder for new Knife (KNIFEWEAVER).
-Fix: When new weapons get added to Battlelog, plugin will no longer spam endless msgs on debug level 1.

0.5.1.2
-Fix: Added placeholders for Dragon's Teeth DLC weapons
-Fix: Increased HS/K used in Live Check to 94%
-Fix: Fixed some issues with weapon names in ban msgs

0.5.1.1
-Fix: Added missing weapons for Naval Strike DLC

0.5.1.0
-NEW: Updated used averages (i-stats.net)
-Fix: Bug in streaming caused some servers to not transmit its additional info (servername, ip, port, servertype) properly
-Fix: Added missing weapons for Second Assault DLC

0.5.0.1
-Fix: Persona ID could not be found for some players.
-Fix: Changed Include/Exclude VIPs to Sync VIPs
-Fix: Updated description

0.5.0.0
-NEW: BF4 Compatibility
-NEW: Automatic update check
-Fix: Increased SPM limits to improve the overall detection
-Fix: Extended Infos streamed to 247FairPlay.com for later use with stuff :-)

0.4.3
-FIX: More headshots than kills will be treated as headshots equal to kills to reduce the chance of false detections.
-FIX: Increased minimum kills to 200 to reduce the chance of false detections.
-FIX: Live Check: Increased minimum kills to 30 to reduce the chance of false detections.

0.4.2
-NEW: Settings: Enable Strict Mode (When enabled: 1 IMPOSSIBLE or 4 suspicious stats is considered cheating (=kick/ban). When set to NO: 1 IMPOSSIBLE and 1 suspicous or 5 suspicious stats is considered cheating.)
-FIX: More headshots than kills are only considered IMPOSSIBLE (or suspicious) if they exceed the average by 320% (270%). See myrcon.net/...cheatdetector-0521#entry31673.

0.4.1
-FIX: Increased minimum kills needed for weapons with more headshots than kills back to 130.

0.4
-NEW: Live Check: CheatDetector will now monitor the players on your server for headshots per kills and kills per minute. Cheating is considered >91% HS/K or >8 KPM with more than 20 kills. A check is made every 5 minutes. Whitelist and messages apply here too. (0. Ban Method and Whitelist and BattlelogCache -> Enable Live Check)
-NEW: Stream Players to 247FairPlay.com: If enabled CheatDetector will contact http://www.247fairplay.com/cheatdetector.php every 30 minutes to add the players on your server to a database (the plugin will not be blocked by this and errors (for example: you cant reach 247fairplay.com) wont show up in the log. its "fire and forget"). This DB will be used to do stats checks and various other checks. If a cheater is detected, he will be banned through the MetaBans Account @CheatDetector (http://metabans.com/CheatDetector).
-FIX: Stats Check: Weapons with more headshots than kills (except shotguns, rockets and the like) and more than 20 kills will be treated as IMPOSSIBLE (=cheating).
-NEW: Settings: Enable Live Check.
-NEW: Settings: Enable Stats Check.
-NEW: Settings: Stream Players to 247FairPlay.com
-NEW: Settings: Exclude Non-ReservedSlots/ServerVIPs: will automatically remove players from the plugins whitelist that are not in your ReservedSlots List
-FIX: Several internal code improvements.

0.3
-NEW: You can now use Battlelog Cache to reduce traffic. (0. Ban Method and Whitelist and BattlelogCache -> Use BattlelogCache if available)
-FIX: The Output on certain debug levels have been adjusted to be not so spamming.
-FIX: 2 Typos in Weapon Names have been fixed (M1911 Tactical) which caused this weapon to not be analyzed for k/h and k/m.
-FIX: Under certain circumtances endless ingame notification could happen. This is now fixed.
-FIX: When a player is banned (TBan and Ban) a Kick will make sure the player is gone.
-FIX: Added placeholders %pbguid% and %eaguid% to the messages.
-FIX: Increased the max TBan time to 100 years (was 1 year), but you might as well use permanent there :-)
-FIX: Several internal code improvements.

0.2.1
-NEW: You can now setup the ingame notification (4. Notify) in detail.
-FIX: Tiny update to the scores to find the best reason (most suspicious/impossible stat) to be used in various messages.
-FIX: SPM is now only taken into account if the playtime is above 1 hour.
-FIX: small code updates.

0.2
-UPDATE: You can now download/update CheatDetector directly through your procon gui.

0.1.2
-FIX: The plugin will now automatically detect when the BF3 Battlelog Request Limit is reached. Then it will increase the queue timeout. The timeout will then be decreased step by step to normal.
-FIX: An error happened when there were multiple detections with the same score. This is now fixed
-FIX: not that important error messages are now displayed properly (Debug level 2, 3, 4)

0.1.1
-FIX: Plugin now identifies itself properly to Battlelog

-NEW: Option to add multiple usernames to get notified (4. Notify -> ingame username)
0.1
-Public release

Known Issues
Cheat Detection
Since this plugin tries to detect cheaters using their BF3 Battlelog stats, it is limited to that data. If a cheater got his stats reset, there is no way for this plugin (as of now version 0.1.2) to detect the cheater.
On the other hand, this plugin might detect someone as a cheater who is not cheating.
Workaround (cheater not detected): None. Inform me about this issue. Maybe i will add other data sources for cheat detection in the future.
Workaround (normal player detected as cheater): Add this player to your whitelist and inform me about this false positive.

Whitelist
If you add a player to your ReservedSlots/ServerVIP List they might not show up in the whitelist setting immediately. However you can be sure they are added and processed. I think this is because Procon GUI does not reload the setting when its not changed in the GUI. Just reopen the Plugins Tab and they should be displayed. Or restart Procon on your PC (NOT the layer server, just the exe on your PC) and they will show up.
Workaround: Not really needed, however if someone knows a solution i would like to know it too :-)

Logfile
This file may get very big and slow your procon down. Only use it to log errors and only use it local. The directory must also exist and be writeable by your procon.

Planned Features
-Detect cheaters that had their stats reset

there are certain limitations for these features:
myrcon.net/...cheatdetector-0521#entry31467

Attached Files:

Edited by maxdralle

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

You can find further Infos about CheatDetector here:

http://www.247FairPlay.com

 

You can find bans produced by this plugin (on my server) here:

http://metabans.com/CheatDetector

 

or feel it from the player side here :-)

http://battlelog.battlefield.com/bf3...Bans-MetaBans/


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Kinsman*:

 

Nice, I will definitely give this a run. BTW Metabans seems down again?


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Nice, I will definitely give this a run. BTW Metabans seems down again?

try it and tell me what you think :-)

yes. metabans is down at the moment.


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Flaxe*:

 

Looks nice! Will try it out and report back if I experience any issues (or success maybe) :smile:

 

Got a question.. is it possible to add multiple Ingame usernames under the 4. Notify section?


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by MorpheusX(AUT)*:

 

Great, another plugin hammering the already "overloaded" Battlelog with requests.

You will most likely have to change your stats fetching mechanisms in the nearer future due to request limits and problems coming with that.


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Got a question.. is it possible to add multiple Ingame usernames under the 4. Notify section?

in this version (0.1) you can only enter 1 username. sorry.

i will add the option to enter more names in the next update.

 

You will most likely have to change your stats fetching mechanisms in the nearer future due to request limits and problems coming with that.

thx for the info. i already noticed the restrictions, but at the moment it seems to work with 1 player every 30 seconds. if there is a need for change in the future, i will change it :-)

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Flaxe*:

 

in this version (0.1) you can only enter 1 username. sorry.

i will add the option to enter more names in the next update.

Ok! Make it one username per row. Then it will be easy to just copy other username lists from other plugins :smile:

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

This plugin tries to detect cheaters by their BF3 Battlelog Stats. This is done in the following way:

Nice idea.

But related to the Battlelog topic please make sure your plugin identifies itself to Battlelog.

It would be a good idea to adapt code that PapaCharlie9 posted in another thread like

Code:

if (client == null) {
                    client = new WebClient();
                    String ua = "Mozilla/5.0 (compatible; PRoCon 1; CheatDetector)";
                    plugin.DebugWrite("Using user-agent: " + ua, 4);
                    client.Headers.Add("user-agent", ua);
                }
I did just a quick search on your code and did not find anything like that.

But I guess you know where to integrate it in your BattlelogClient class. :smile:

 

Thanks

Phil.


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Hi.

Nice idea.

But related to the Battlelog topic please make sure your plugin identifies itself to Battlelog.

It would be a good idea to adapt code that PapaCharlie9 posted in another thread like

Code:

if (client == null) {
                    client = new WebClient();
                    String ua = "Mozilla/5.0 (compatible; PRoCon 1; CheatDetector)";
                    plugin.DebugWrite("Using user-agent: " + ua, 4);
                    client.Headers.Add("user-agent", ua);
                }
I did just a quick search on your code and did not find anything like that.

But I guess you know where to integrate it in your BattlelogClient class. :smile:

 

Thanks

Phil.

thx phil :-)

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

PLUGIN UPDATED TO VERSION 0.1.1

0.1.1

-FIX: Plugin now identifies itself properly to Battlelog

-NEW: Option to add multiple usernames to get notified (4. Notify -> ingame username)


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by XpKiller*:

 

try it and tell me what you think :-)

yes. metabans is down at the moment.

we did run a full backup of the database. Metabans is up.

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by guapoloko*:

 

Would it be possible to enable the plugin 3 PBSS before banning the player suspicious?

 

"Pb Screenshots suspicious Detections"


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by guapoloko*:

 

That is correct?

 

[16:10:55 75] CD - IMPOSSIBLE STATS: YanSkull M249 hs/k: 96.05% (3.92)

[16:10:55 80] CD - SUSPECTED CHEATING: YanSkull 99%


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Would it be possible to enable the plugin 3 PBSS before banning the player suspicious?

"Pb Screenshots suspicious Detections"

i dont see the use of a feature like that.

PB screenshots of players detected cheating by their stats will most likely not show anything suspicious. PB screenshots is a totally different department.

to catch players using esp cheats (wallhacks and everything that gives a "visual assistance") try using PBSSE and PBScreens.com

 

That is correct?

Code:

[16:10:55 75] CD - IMPOSSIBLE STATS: YanSkull M249 hs/k: 96.05% (3.92)
[16:10:55 80] CD - SUSPECTED CHEATING: YanSkull 99%
yes, this is intended behavior

 

146 headshots 152 kills is very suspicious. almost impossible.

see http://battlelog.battlefield.com/bf3.351933188/pc/

however. since this player's stats are normal except for this one, you could consider it a "false positive", if you really KNOW that this player is not cheating. (for example: if it is you :-))

 

i will adjust the limit to detect a player as a cheater if neccessary (now: 1 impossible stat (except spm) or 4 suspicious stats) when there are more false positives.

but for this case i wouldnt change anything. 96% headshots per kill is just way too much.


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by EBassie*:

 

Hey Grizzly,

 

great job on this plugin! Running it local for some testing. Guess I will never auto-ban with it, so the logging feature is great!

 

But I came across this error:

 

Code:

[20:06:30 95] CD - IMPOSSIBLE STATS: ***** RPK k/h: 71,21% (4,44)
[20:06:30 95] CD - IMPOSSIBLE STATS: ***** M249 k/h: 63,11% (3,91)
[20:06:30 96] CD - IMPOSSIBLE STATS: ***** MP7 k/h: 62,63% (3,91)
[20:06:30 96] Exception: System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at PRoConEvents.CheatDetector.checkKillsperHit(Dictionary`2& reasons, String playername, String weaponname, Double kills, Double hits)
   at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Hey Grizzly,

great job on this plugin! Running it local for some testing. Guess I will never auto-ban with it, so the logging feature is great!

 

But I came across this error:

Code:

[20:06:30 95] CD - IMPOSSIBLE STATS: ***** RPK k/h: 71,21% (4,44)
[20:06:30 95] CD - IMPOSSIBLE STATS: ***** M249 k/h: 63,11% (3,91)
[20:06:30 96] CD - IMPOSSIBLE STATS: ***** MP7 k/h: 62,63% (3,91)
[20:06:30 96] Exception: System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at PRoConEvents.CheatDetector.checkKillsperHit(Dictionary`2& reasons, String playername, String weaponname, Double kills, Double hits)
   at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)
thank you. i see the problem. this happens when there are more than 1 detections with the same score (notice the 3,91 in the brackets on the m249 AND mp7)

 

i will fix it and provide an update


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Hutchew*:

 

FYI: One right after another on a full 64 slot server running truebalancer and insanelimits:

 

[19:32:58 75] Exception: System.Net.WebException: The remote server returned an error: (429) Too Many Requests.

at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

at System.Net.WebClient.DownloadString(Uri address)

at System.Net.WebClient.DownloadString(String address)

at PRoConEvents.CheatDetector.BattlelogClient.fetchWe bPage(String& html_data, String url)

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[19:32:58 75] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by Hutchew*:

 

And another, slightly different:

 

[20:30:54 03] Exception: System.Net.WebException: The remote server returned an error: (429) Too Many Requests.

at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

at System.Net.WebClient.DownloadString(Uri address)

at System.Net.WebClient.DownloadString(String address)

at PRoConEvents.CheatDetector.BattlelogClient.fetchWe bPage(String& html_data, String url)

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[20:30:54 03] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)

[20:35:59 46] Exception: System.Exception: could not find persona-id for

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[20:35:59 46] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by ujmoskito*:

 

Thanks for developing this plugin! :smile:

I will give it a try.


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

yeah that was sure to come :-) i hoped it wouldnt happen...

 

FYI: One right after another on a full 64 slot server running truebalancer and insanelimits:

 

[19:32:58 75] Exception: System.Net.WebException: The remote server returned an error: (429) Too Many Requests.

at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

at System.Net.WebClient.DownloadString(Uri address)

at System.Net.WebClient.DownloadString(String address)

at PRoConEvents.CheatDetector.BattlelogClient.fetchWe bPage(String& html_data, String url)

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[19:32:58 75] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)

problem here as you can see: too many request to battlelog.

therefore getResult fails to get the playerdata. then analyzeResult fails because there is nothing to analyze.

 

And another, slightly different:

 

[20:30:54 03] Exception: System.Net.WebException: The remote server returned an error: (429) Too Many Requests.

at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)

at System.Net.WebClient.DownloadString(Uri address)

at System.Net.WebClient.DownloadString(String address)

at PRoConEvents.CheatDetector.BattlelogClient.fetchWe bPage(String& html_data, String url)

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[20:30:54 03] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)

[20:35:59 46] Exception: System.Exception: could not find persona-id for

at PRoConEvents.CheatDetector.getResult(Object sender, DoWorkEventArgs e)

[20:35:59 46] Exception: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CheatDetector.analyzeResult(Object sender, RunWorkerCompletedEventArgs e)

the error at [20:30:54 03] is the same as above ([19:32:58 75]).

the error in bold ([20:35:59 46]) is different. here the problem is no persona-id (bf3 soldier id in battlelog) could be found.

therefore getResult fails to get data. then analyzeResult fails because there is no data

 

i try to provide an update for all errors (double score, too many request, persona-id) today


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

PLUGIN UPDATED TO VERSION 0.1.2

0.1.2

-FIX: The plugin will now automatically detect when the BF3 Battlelog Request Limit is reached. Then it will increase the queue timeout. The timeout will then be decreased step by step to normal.

-FIX: An error happened when there were multiple detections with the same score. This is now fixed

-FIX: not that important error messages are now displayed properly (Debug level 2, 3, 4)


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by HexaCanon*:

 

Question : how do you define if a hs/k stat is impossible or suspicious ?


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by ty_ger07*:

 

Question : how do you define if a hs/k stat is impossible or suspicious ?

First post says:

 

Then every weapons stat (with more than 130 kills) is checked against a collection of averages to decide if its normal, suspicious or impossible.

 

...

 

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.

So, "impossible" is defined as a certain amount greater than average for that weapon.

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by HexaCanon*:

 

rephrase : how do you find the average of hs/k ? what makes a hs/k suspicious or impossible ?


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

the idea to have an average hs/k (and k/m, k/h, accuracy) came from istats (i-stats.net).
they have a huge database of over 400000 bf3 players and calculated the averages for every weapon.
i "adjusted" these average values to be a little more forgiving. think about lmg with 200 rounds per mag having a very (too) low accuracy. and things like that.

for 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

suspicious (% above average)
accuracy     320%
hs/k     270%
k/h     270%
k/m     500%
spm     ~340%

impossible (% above average)
accuracy     370%
hs/k     320%
k/h     320%
k/m     800%
spm     ~500%

note that an impossible spm alone (all other checks passed) will not be considered cheating. he could "just" be flagrunning :-)

since these check depened on average values, this is only done for weapons with 130 or more kills.

Edited by maxdralle

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by russel5*:

 

Code:

12/17/2012 5:44:33 PM: CD - IMPOSSIBLE STATS: DelVecchi0 AN94 hs/k: 97.51% (4.14)
12/17/2012 5:44:33 PM: CD - SUSPECTED CHEATING: DelVecchi0 99%
Your plugin works fine. Thanks

And please make a notification not a pyell, make this function is psay (3 times)

i.e.

Notification in game --- Yes

Pyell --- Yes / No

Yell in seconds --- 30

Psay --- No / Yes

How many say --- 3

 

Thanks


* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Originally Posted by grizzlybeer*:

 

Your plugin works fine. Thanks

you are welcome :-)

 

And please make a notification not a pyell, make this function is psay (3 times)

i.e.

Notification in game --- Yes

Pyell --- Yes / No

Yell in seconds --- 30

Psay --- No / Yes

How many say --- 3

i will add an option to choose that in the next update

* Restored post. It could be that the author is no longer active.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Our picks

    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 10 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 6 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.