17.04.2017, 08:42
Hi there!
As discussed in this thread, I'd like to provide a filterscript that records valuable shooting battle data.
This data will be used to train a Machine Learning script that is able to classify/distinguish aimbotters from fair shooters. If this proves to be successful, I'll write up a filterscript that will record other valuable data for detecting cheaters as well. I really hope this will be something valuable made by the community, for the community.
In the .zip package you will find:
fairplay.amx - compiled version of the script.
fairplay.pwn - source code.
fair_play.db - empty database file. Put in "scriptfiles/" if the filterscript doesn't create it automatically.
So how it works: On every kill, the filterscript writes some battle parameters (of the killer) to an SQLite database. The database file is located in: "scriptfiles/fair_play.db". The parameters are:
- Hit-miss-ratio.
- Number of hits and missed shots.
- If they're a cheater or not (only in DEDICATED mode).
- Used weapon ID.
- Bodypart variance (amount of times they hit another body part).
- Average hit distance.
- Player speed.
- Average target speed.
- Time taken to kill someone (in seconds).
- HP/Armor taken.
You can run the script in DEDICATED and normal mode. It is on normal mode by default.
In normal mode, the filterscript will record raw, unprocessed data. The (unsupervised) learning algorithm will then hopefully make some sense out of it and classify a few types of output labels (cheaters/non-cheaters/grey area). If run in dedicated mode, you will have to specify:
Commands:
/leader - makes you the leader of the data recording session.
/cheater - aimbotters in the session must use this to mark themselves as cheaters.
/fairplay - fair players in the session must use this to mark themselves as fair players.
/start - start the session.
/stop - stop the session.
Then, a (supervised) learning algorithm can (more easily) classify aimbotters and fair players by knowing what the output label is.
Something like:
Feel free to suggest parameters that could improve aimbot detection, I'll put them in the next version. You can post / PM me your database file when you have sufficient data (I'd already be happy with 2k rows).
I'm looking forward to your data!
As discussed in this thread, I'd like to provide a filterscript that records valuable shooting battle data.
This data will be used to train a Machine Learning script that is able to classify/distinguish aimbotters from fair shooters. If this proves to be successful, I'll write up a filterscript that will record other valuable data for detecting cheaters as well. I really hope this will be something valuable made by the community, for the community.
In the .zip package you will find:
fairplay.amx - compiled version of the script.
fairplay.pwn - source code.
fair_play.db - empty database file. Put in "scriptfiles/" if the filterscript doesn't create it automatically.
So how it works: On every kill, the filterscript writes some battle parameters (of the killer) to an SQLite database. The database file is located in: "scriptfiles/fair_play.db". The parameters are:
- Hit-miss-ratio.
- Number of hits and missed shots.
- If they're a cheater or not (only in DEDICATED mode).
- Used weapon ID.
- Bodypart variance (amount of times they hit another body part).
- Average hit distance.
- Player speed.
- Average target speed.
- Time taken to kill someone (in seconds).
- HP/Armor taken.
You can run the script in DEDICATED and normal mode. It is on normal mode by default.
In normal mode, the filterscript will record raw, unprocessed data. The (unsupervised) learning algorithm will then hopefully make some sense out of it and classify a few types of output labels (cheaters/non-cheaters/grey area). If run in dedicated mode, you will have to specify:
Commands:
/leader - makes you the leader of the data recording session.
/cheater - aimbotters in the session must use this to mark themselves as cheaters.
/fairplay - fair players in the session must use this to mark themselves as fair players.
/start - start the session.
/stop - stop the session.
Then, a (supervised) learning algorithm can (more easily) classify aimbotters and fair players by knowing what the output label is.
Something like:
Feel free to suggest parameters that could improve aimbot detection, I'll put them in the next version. You can post / PM me your database file when you have sufficient data (I'd already be happy with 2k rows).
I'm looking forward to your data!