![]() |
#1 |
Little Clucker
![]() Join Date: May 2013
Posts: 28
Reputation: 73
|
![]()
Hey there!
I've kind of retired from the SA:MP community, but a recent development in my real-life interests and education sort of pulled me back for one last neat little script In the past few months I've been getting to know a lot more about Machine- and Deep Learning. It's a field in computer science which, in a nutshell, covers the way computers can learn (from data) how to solve a problem without being explicitly programmed. You come across this technology daily without you really noticing. For example, ****** refines your search results by learning from large amounts of (user surfing and web) data. I won't bother you with much of the details, but I'll go ahead and give a shot at explaining how this technology can be useful in SA:MP. Just before I retired I wrote up a rather cpu-heavy bit of code that does several measurements every time you shoot a bullet. Mostly geometry/compare distance in a vector-space. Two videos of the current method: https://www.youtube.com/watch?v=e2c57yGn6HY and https://www.youtube.com/watch?v=wNPCDz50Wdk There's also too many false positives because of sync issues and the algorithm not being programmed to really recognize false positives. So I was thinking about it this morning and thought: I think there's a fair chance this rather complex problem (recognizing an aimbotter) can be solved with a Machine Learning approach. (It is a complex problem because there's quite a lot of variables the algorithm has to look at to judge whether or not someone is cheating. These variables co-relate in a way no one can really pin-point because of its multi-dimensionality.) So! To get to the point of this thread. While I'm coding up the model architecture, I need some data to train my model on (ML terminology ). What I will basically need is A LOT of shooting battle data. I believe around 20 minutes is enough with about 10 players, in which 5 use aimbot and 5 do not use aimbot. This data includes for example:
These are some 'features' I came up with how we can recognize an aimbotter. I'd really like to hear what you guys think could also help distinguish a valid shooter from a cheater. Hopefully, the program will notice that the values taken from a cheater are much different than from a non-cheater. For example: the data-points to the left represent valid shooters, the data-points on the right represent cheaters. ![]() I'd really like to make this for the whole SA:MP community. I'm eager to hear what you guys think. |
![]() |
![]() |
![]() |
#2 |
Little Clucker
![]() Join Date: Mar 2015
Location: Earth
Posts: 27
Reputation: 7
|
![]()
Is it basically some sort of artificial intelligence Anti-Cheat? Is that method already used in any other games/Anti Cheats?
And also, it sounds like it'll take you a while, like its really, really advanced. |
![]() |
![]() |
![]() |
#3 |
Little Clucker
![]() Join Date: May 2013
Posts: 28
Reputation: 73
|
![]()
Actually it involves far less code than programming all the sets of rules that identify an aimbotter (according to that programmer). Whereas this method analyzes the dataset, recognizes patterns and can calculate a probability whether or not someone is cheating. It's basically making a classification (cheater/non-cheater) by learning from raw data instead of rules made by a human being.
|
![]() |
![]() |
![]() |
#4 |
Big Clucker
![]() ![]() Join Date: Apr 2017
Location: North LV, Emerald Isle
Posts: 113
Reputation: 19
|
![]()
Any anti-cheat is good idea, fair play server invites more good players, maybe less but its good to have 50 honest players than 500 cheaters/hackers/bug users/glitchers...
SAMP have many more problems, like its more like connection between clients, server does not have much control over what happens between clients. This leads to God-mode cheats and stuff like that. Its funny how easy is to add money to your cash... This is why servers should only use Bank's money and not cash. |
![]() |
![]() |
![]() |
#5 |
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Jul 2016
Location: Brasil
Posts: 1,353
Reputation: 75
|
![]()
Very cool your idea, it would be nice to do some filterscript and distribute to everyone, so sa-mp maybe will reduce the amount of cheats/hacks :P
|
![]() |
![]() |
![]() |
#6 |
Big Clucker
![]() ![]() Join Date: Oct 2012
Location: France
Posts: 95
Reputation: 60
|
![]()
Nice idea, I think you'll need a lot of data !
|
![]() |
![]() |
![]() |
#7 |
Gangsta
![]() ![]() ![]() ![]() Join Date: Sep 2009
Location: recursion
Posts: 658
Reputation: 37
|
![]()
What is about visual information (collisions), (relative)difference-vectros between shoots (how player moves his mouse), ping & packet loss information (for shooter and victim (but i think it's more difficult in case of fast victim selection between many players)).
|
![]() |
![]() |
![]() |
#8 |
Gangsta
![]() ![]() ![]() ![]() Join Date: Mar 2009
Location: Belgium
Posts: 501
Reputation: 367
|
![]()
Once you've written the algorithm and provided it with the test data, so it has a good idea of what is cheating and what not, will it be able to improve itself over time when deployed, by gathering further data and adapting to that data?
|
![]() |
![]() |
![]() |
#9 |
Little Clucker
![]() Join Date: Nov 2010
Posts: 45
Reputation: 26
|
![]()
I really appreciate you taking the time to do this. I really do.
A quick suggestion: In addition to having a TDM with regular players and cheaters - I would have the aimbotters use a variety of different aimbot scripts so that way it can learn different types of aimbots. If there is ANYTHING I can do to help you on this, I'm more than willing to do so. |
![]() |
![]() |
![]() |
#10 |
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Nov 2011
Location: Turkey
Posts: 1,103
Reputation: 172
|
![]()
If you make a PAWN script that can be plugged in and used at our gamemodes to give you the necessary data, I can provide you hours of data of aimbotting users and legit players.
|
![]() |
![]() |
![]() |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Aimbot Detector/OnPlayerTakeDamage | fatlirmorina | Scripting Help | 6 | 12/03/2015 03:05 PM |
[FilterScript] "Silent" Aimbot Detector (FINAL RELEASE) | Kyance | Filterscripts | 55 | 15/01/2015 09:03 PM |
[Include] "Silent" Aimbot Detector | Kyance | Includes | 16 | 29/12/2014 07:21 PM |
ANTI AIMBOT+hp detector changes | Ma$$ey | Scripting Help | 1 | 10/02/2013 10:50 AM |