AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [CS:S] Macrodox - Bhop cheat detection (https://forums.alliedmods.net/showthread.php?t=181455)

Inami 03-29-2012 10:36

[CS:S] Macrodox - Bhop cheat detection
 
2 Attachment(s)
Macrodox was first written in 2009 for Aoki's Bhop server in response to the increasing amount of cheaters trying to get speedrun records. Main goal was to have automatic banning without any false positives. Until now it's been in private use for years, and has done a good job.

This was developed for and tested only on bhop servers!
Even so, Fibbs and me tried to trigger bans on Trikz maps with no success(yet). So use with caution.
Seems as low fps abusers trigger bans too, but I'm planning to add detection for that anyway.

DO NOT COMBINE THIS WITH AUTOJUMP PLUGINS LIKE EZHOP
That will both break detection and cause false positives.

Features:
  • Punishes +left/+right strafe binds with slay.
  • Detects common bhop cheats, such as hacks, macros and some hyper/autoscroll mouse features.
  • Bans are delayed to confuse detected cheaters whether or not they've been caught.
  • Option to call a console command to delete records on ban.
  • Log file with ban details.
  • Admin command to check player stats and detection state.
  • Admin command to enable a STEAM_ID to use the stats command for debugging.


Commands:
mdx_stats <#userid|name|@all> -- requires ban rights, prints stats of specified targets to your console. First number (0/1) indicates if a person was caught. Advanced explanation will follow.
mdx_test <#userid|name|@all> -- same as above, only usable for the id set with the command below (needs no ban rights tho)
mdx_debug STEAM_ID -- requires ban rights, sets the ID that can use mdx_test


Configuration:
Edit the #defines if needed.
Code:

//If you have a timer that can delete records you might want to edit this
//for auto deletion. Console command gets called with steamid as parameter.
//#define DELETE_CMD "sm_timer_delete"

//Command used to delayed ban.
//Default is "banid 0 %s kick"
#define BAN_CMD "banid 0 %s kick"

//if banid is used, write to banned_user.cfg manually.
#define BAN_WRITE

//Delayed bans every 3 maps
#define BAN_DELAY 3

//UNCOMMENT IF YOU WANT TO SUPPORT TESTING
//Enables aspi/Inami to use stats command
//#define DEFAULT_DEBUGID "STEAM_0:0:6183127"

Notes:
banid is used because the players most likely wont be on the server anymore when the delayed ban happens.
If your server doesn't change the map very often, you should lower the BAN_DELAY (1 = every mapchange)

Understanding the log entries:
sourcemod\logs\mnacrodox.log
Code:

L 05/22/2011 - 03:23:11: [macrodox.smx] captain obvious<3><STEAM_0:3:444444><>

Avg: 1.090113/541.507934 Perf: 0.940858
average +jumps/speed    perfect jump ratio

bhop_awake 4639.354492 61.438056 1.037995
mapname            coords (useful for checking map based ban triggers)

Last: 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 hax1
                          +jump pattern                          type of ban (pattern/hack)

Changelog:
Code:

2012-03-31 - 1.9:
--fixed banning being half broken since release cleanup (thanks to h!gh voltage for noticing)

2012-03-30 - 1.8 akkord gee:
--added bantype to log
--added macro to easily change ban interval
--changed default ban interval to 3

2012-03-29 - 1.7 akkord:
--Release


DaFox 03-29-2012 10:38

Re: [CS:S] Macrodox - Bhop cheat detection
 
++Inami;

epic157 03-29-2012 14:03

Re: [CS:S] Macrodox - Bhop cheat detection
 
Awesome

nightrider 03-30-2012 19:14

Re: [CS:S] Macrodox - Bhop cheat detection
 
I can't wait to try this plugin out.

zeroKB 03-31-2012 21:14

Re: [CS:S] Macrodox - Bhop cheat detection
 
Can bans made by this plugin be forwarded to SourceBans?

Inami 03-31-2012 22:49

Re: [CS:S] Macrodox - Bhop cheat detection
 
Try editing the defines like this and compile the plugin. Kind of hacky just changing the define to get the player kicked. If he's still on the server that is.
Code:

//Command used to delayed ban.
//Default is "banid 0 %s kick"
#define BAN_CMD "sm_addban 0 %s macrodox; sm_kick %s", reader

//if banid is used, write to banned_user.cfg manually.
//#define BAN_WRITE

I'll probably add direct SourceBans support if i see servers running both the plugins.

thetwistedpanda 03-31-2012 22:52

Re: [CS:S] Macrodox - Bhop cheat detection
 
Haven't had a look at the source, but couldn't you throw the SteamIDs into a ADT array, and then ban anyone in the array ever x minutes?

Inami 03-31-2012 23:16

Re: [CS:S] Macrodox - Bhop cheat detection
 
I'm currently writing the IDs to a file immediately once a ban is triggered. I just want to be sure no one can just crash a server to undo detection. The timing (was) pretty unimportant combined with record deletion. Even so, I might just remove the delay now that cheaters can directly practice evading bans if they set up their own server. The price of making it public..

Drixevel 04-01-2012 06:56

Re: [CS:S] Macrodox - Bhop cheat detection
 
/troll

Any MySQL or Sqlite integration?

zeroKB 04-01-2012 11:00

Re: [CS:S] Macrodox - Bhop cheat detection
 
1 Attachment(s)
Doesn't show all ban information, but it works just fine for me. Thanks for the help.


All times are GMT -4. The time now is 14:07.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.