[Include] Nex-AC - Anticheat system
#21

The pro-aim detection will fail.

Code:
IsPlayerInRangeOfPoint(hitid, 3.0, fPos[0], fPos[1], fPos[2])
I have done some research and figured out that at least 10 units should be allowed for variation. Sometimes player who are not using proaim can also shoot with deviation of 3 units due to lag. (3 units variation can be caused even with pings near 200)

Anti-Aimbot Include
I had made an anti-aimbot (proaim) which does many checks. The include has been revised many times and now it is quite stable.

You need to optimize your script:
Since you have lot of Anti-Hacks in your include and with the amount of code, you should consider optimizing the include.

There are lot of bad code in the include.

Refer these links to learn more:
Reply
#22

German Translation: http://www.solidfiles.com/d/65bd6fd22e/
Reply
#23

I have to agree with Yashas what here and would like to add some more input to the overall design of this system which definitely needs a lot of work but don't get me wrong there is a lot of potential here.

My main gripe with this is that all the code is in one include which looks really messy to me when this kind of system needs to be modular an include for each type of cheat. Currently trying to work with anything in this you don't have any checks isolated from others so debugging is easier. Now I know you could could still debug and change it not hard but you got to think what about everyone else? It doesn't matter if you can work on your own system but a good design choice is making sure anyone else can easily edit the script themselves if need be which allows for interchangeable includes to be developed.

Another thing is it looks really bad practice to index your variables the way you have for instance.
Code:
 else AntiCheatInfo[playerid][pFloodCount][13] = AntiCheatInfo[playerid][pFloodCount][27] = 0;
This is absolutely terrible and completely avoidable how is anyone to actually understand what that means remotely at first glance?
Reply
#24

Excellent work! +REP
Reply
#25

Code:
nex-ac.inc(741) : warning 202: number of arguments does not match definition
nex-ac.inc(758) : warning 202: number of arguments does not match definition
nex-ac.inc(923) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1648) : warning 201: redefinition of constant/macro (symbol "RepairVehicle")
nex-ac.inc(1742) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1808) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(1935) : error 025: function heading differs from prototype
nex-ac.inc(1939) : warning 202: number of arguments does not match definition
nex-ac.inc(1952) : error 025: function heading differs from prototype
nex-ac.inc(2831) : error 017: undefined symbol "VectorSize"
nex-ac.inc(3157) : error 017: undefined symbol "GetPlayerLastShotVectors"
nex-ac.inc(3709) : warning 201: redefinition of constant/macro (symbol "OnVehicleDamageStatusUpdate")
nex-ac.inc(3714) : warning 235: public function lacks forward declaration (symbol "OnVehicleSirenStateChange")
nex-ac.inc(3770) : error 025: function heading differs from prototype
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3832) : error 025: function heading differs from prototype
nex-ac.inc(3859) : error 017: undefined symbol "NetStats_MessagesRecvPerSecond"
nex-ac.inc(3971) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(4056) : error 017: undefined symbol "VectorSize"
nex-ac.inc(4056) : warning 203: symbol is never used: "vZ"
nex-ac.inc(4056) : warning 203: symbol is never used: "vY"
nex-ac.inc(4056) : warning 203: symbol is never used: "vX"
dealer.inc(191) : warning 209: function "ac_OnVehiclePaintjob" should return a value
dealer.inc(213) : warning 209: function "ac_OnVehicleRespray" should return a value
dealer.inc(416) : warning 209: function "ac_OnVehicleDeath" should return a value
Any idea on this?
Reply
#26

Quote:
Originally Posted by SecretBoss
View Post
Code:
nex-ac.inc(741) : warning 202: number of arguments does not match definition
nex-ac.inc(758) : warning 202: number of arguments does not match definition
nex-ac.inc(923) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1648) : warning 201: redefinition of constant/macro (symbol "RepairVehicle")
nex-ac.inc(1742) : error 017: undefined symbol "GetPlayerPoolSize"
nex-ac.inc(1808) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(1935) : error 025: function heading differs from prototype
nex-ac.inc(1939) : warning 202: number of arguments does not match definition
nex-ac.inc(1952) : error 025: function heading differs from prototype
nex-ac.inc(2831) : error 017: undefined symbol "VectorSize"
nex-ac.inc(3157) : error 017: undefined symbol "GetPlayerLastShotVectors"
nex-ac.inc(3709) : warning 201: redefinition of constant/macro (symbol "OnVehicleDamageStatusUpdate")
nex-ac.inc(3714) : warning 235: public function lacks forward declaration (symbol "OnVehicleSirenStateChange")
nex-ac.inc(3770) : error 025: function heading differs from prototype
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3810) : warning 202: number of arguments does not match definition
nex-ac.inc(3832) : error 025: function heading differs from prototype
nex-ac.inc(3859) : error 017: undefined symbol "NetStats_MessagesRecvPerSecond"
nex-ac.inc(3971) : error 017: undefined symbol "BlockIpAddress"
nex-ac.inc(4056) : error 017: undefined symbol "VectorSize"
nex-ac.inc(4056) : warning 203: symbol is never used: "vZ"
nex-ac.inc(4056) : warning 203: symbol is never used: "vY"
nex-ac.inc(4056) : warning 203: symbol is never used: "vX"
dealer.inc(191) : warning 209: function "ac_OnVehiclePaintjob" should return a value
dealer.inc(213) : warning 209: function "ac_OnVehicleRespray" should return a value
dealer.inc(416) : warning 209: function "ac_OnVehicleDeath" should return a value
Any idea on this?
Problem with this system is it's not released/designed very well a lot of work needs to be done before this can be used I would think.
Reply
#27

Adding on to Slice's post, why doesn't anyone take the abandoned Anticheat include by Dan... and just updates it? I believe it would be the best if someone would do that for the community, everyone could contribute to make the best server-side protection we could get.

Don't get me wrong, I (as Slice) agree that this has potential, but it could've been made better, as pointed out.
Nevertheless, great job considering the amount of time you probably put into it!
Reply
#28

Quote:
Originally Posted by SecretBoss
View Post
All of the above errors/warnings appeared when I included the nex-ac.inc, I checked it before including it
Which version of the samp are you using?
According to the log file, there is not even defined VectorSize, it leads me to such thoughts

Quote:
Originally Posted by Yashas
View Post
The pro-aim detection will fail.
Quote:
Originally Posted by Pottus
View Post
I have to agree with Yashas what here and would like to add some more input to the overall design of this system which definitely needs a lot of work but don't get me wrong there is a lot of potential here
Thank you for your research
Such posts are motivated for further development of the project.
And of course I'll work on it

Quote:
Originally Posted by Pottus
View Post
Another thing is it looks really bad practice to index your variables the way you have for instance.
Code:
 else AntiCheatInfo[playerid][pFloodCount][13] = AntiCheatInfo[playerid][pFloodCount][27] = 0;
Honestly, I know this before, but as can be seen in practice, it works ..: D
Maybe that's why I chose this style of code writing

Quote:
Originally Posted by Carper
View Post
Thank you very much!
Reply
#29

Yeah I would really start separating all my systems into their own includes once you do that then it will be really easy to optimize this script.

But it does compile I did it without problems but I am going to suggest that you put this project on github it will make releasing it easier and updating it easier.
Reply
#30

I have a Dutch translation here. I also sent it through PM, but I read that posting it here directly will suffice ;P Hope this will be of use for anyone
Very nice work, great it has so much features
Reply
#31

Belo trabalho. +PEP
Reply
#32

Quote:
Originally Posted by OstGot
Посмотреть сообщение
Which version of the samp are you using?
According to the log file, there is not even defined VectorSize, it leads me to such thoughts
Its not the log its the compiler lol
Reply
#33

Quote:
Originally Posted by SecretBoss
Посмотреть сообщение
Its not the log its the compiler lol
It's time to say:
Sorry for my bad English
Reply
#34

Quote:
Originally Posted by vannesenn
View Post
It was tested or? Nice!
It is or it isn't?
Reply
#35

Quote:

Again, I can not be sure that the called public does not slow down, thereby measuring GetTickCount() will not be accurate at the real time of the completion of a public

Indeed, the public will slow down but not to such an extent that it make a change in GetTickCount().GetTickCount will return the same value or may be one ms more than the previous GetTickCount().

Quote:

But if connect my anticheat first - the problems will not be: D
And yes, that's what I wrote in the installation instructions

You can try this
Code:
#if defined _I_ZCMD_INCLUDED_V0_2_2_ || defined _zcmd_included
#error "You must include NEX-AC before ZCMD/iZCMD
#endif
I am not sure if this would work because the compiler will first processes all the includes before answering these #ifs.

Quote:

This is the minimum interval that is equal to the player ping (given time only on a send message notifying about kick), thereby unwanted players will not linger on the server longer than they should)

Why not this?
Code:
SetTimerEx("ac_KickTimer",100, false, "i", playerid);
Reply
#36

Quote:
Originally Posted by OstGot
Посмотреть сообщение
It's time to say:
Sorry for my bad English
It's ok, can you fix that errors or do something? I just want the anti-crasher
Reply
#37

Help me
PHP Code:
nex-ac.inc(741) : warning 202number of arguments does not match definition
nex
-ac.inc(758) : warning 202number of arguments does not match definition
nex
-ac.inc(3714) : warning 235: public function lacks forward declaration (symbol "OnVehicleSirenStateChange")
Pawn compiler 3.2.3664.samp              Copyright (c1997-2006ITB CompuPhase
Header size
:          15508 bytes
Code size
:           832676 bytes
Data size
:          5602116 bytes
Stack
/heap size:   17039360 bytesestimated maxusageunknowndue to recursion
Total requirements
:23489660 bytes
3 Warnings

PHP Code:
(741) new vehicleid AddStaticVehicleEx(modelidspawn_xspawn_yspawn_zz_anglecolor1color2respawn_delayaddsiren);
(
758) new vehicleid CreateVehicle(vehicletypexyzrotationcolor1color2respawn_delayaddsiren);
(
3714) public OnVehicleSirenStateChange(playeridvehicleidnewstate
Reply
#38

Quote:
Originally Posted by Johhnyllll
View Post
Help me
You must change the arguments in AddStaticVehicleEx and CreateVehicle functions according to their number in the version 0.3.7
And yes
Code:
forward OnVehicleSirenStateChange(playerid, vehicleid, newstate);
This should be before the public

Quote:
Originally Posted by vannesenn
View Post
It is or it isn't?
Yes, it was tested. But there are some minor flaws, they will be fixed

Quote:
Originally Posted by Yashas
View Post
Why not this?
Code:
SetTimerEx("ac_KickTimer",100, false, "i", playerid);
Because the players with pings greater than 100 may not receive the message
Reply
#39

Excellent anticheat, very nice! i will contribute serbian translation asap!
Reply
#40

http://www.solidfiles.com/d/4a415e5aaf/ Polish Language
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)