Re: Pawn.RakNet - write the best anticheat -
KoloradO - 16.10.2017
Post an efficient Anti-Airbreak please
http://forum.sa-mp.com/showthread.ph...88#post3943388
Re: Pawn.RakNet - write the best anticheat -
Kaperstone - 16.10.2017
Quote:
Originally Posted by KoloradO
|
How can we utilize this plugin to write "an efficient airbreak", I wonder.
You have a nice efficient alternative by Gamer_Z
https://github.com/grasmanek94/GPB/t...r/Anti%20Cheat
Tho, I wouldn't recommend to rely on any anticheat in 100%.
@Dima, I don't understand the "Anti SpeedSkin", can you elaborate what this SpeedSkin is?
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 16.10.2017
Quote:
Originally Posted by Kaperstone
@Dima, I don't understand the "Anti SpeedSkin", can you elaborate what this SpeedSkin is?
|
skin it's going fast! exemple:
https://www.youtube.com/watch?v=jqXMLrSY3Ic
Re: Pawn.RakNet - write the best anticheat -
CodeStyle175 - 16.10.2017
Emmets include isnt efficient, NEX-AC is better because, it counts in more exceptions and therefore is more accurate.
Re: Pawn.RakNet - write the best anticheat -
PT - 18.10.2017
I like to see what the people are making with this plugin.
To the creator nice job!
Re: Pawn.RakNet - write the best anticheat -
Pottus - 20.10.2017
Hey man great plugin thumbs up! But one here here....
Код:
forward OnOutcomingPacket(playerid, packetid, BitStream:bs);
forward OnOutcomingRPC(playerid, rpcid, BitStream:bs);
In english the expression is "Out Going" not "Out Coming" it's not your fault though
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 20.10.2017
Anti-BulletCrasher (Anti-Crasher) to s()beit blue eclipse and s()beit red eclispe
Код:
const PLAYER_SYNC = 207;
IPacket:PLAYER_SYNC(playerid, BitStream:bs)
{
new onFootData[PR_OnFootSync];
BS_IgnoreBits(bs, 8);
BS_ReadOnFootSync(bs, onFootData);
if(onFootData[PR_position][2] == -5.5) {
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"{FF0000}[Anti-BulletCrasher]: {FFFF00}%s {999999}(ID:%d) {00FF00}auto-kicked {FF0000}[Reason: BulletCrasher]", name,playerid);
SendClientMessageToAll(-1, string);
string[0] = EOS;
Kick(playerid);
return false;
}
return true;
}
Re: Pawn.RakNet - write the best anticheat -
Dayrion - 20.10.2017
Well, when you ignore bits it doesn't send it anymore? Like you intercept the data?
I still don't understand why 8 and not 9 or 7 ?
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 20.10.2017
Quote:
Originally Posted by Dayrion
Well, when you ignore bits it doesn't send it anymore? Like you intercept the data?
I still don't understand why 8 and not 9 or 7 ?
|
I did not test at 7 and 9!
test, and you'll see what's the difference!
or contact the author of the plugin!
I know that all sync works 8 bytes!
Re: Pawn.RakNet - write the best anticheat -
Kaperstone - 20.10.2017
Because the first 8 bytes are meaningless
I debugged samp udp messages once and it returned
Код:
SAMP\u0000\u0000\u0001\u001d
Re: Pawn.RakNet - write the best anticheat -
Spmn - 20.10.2017
Quote:
Originally Posted by Kaperstone
Because the first 8 bytes are meaningless
I debugged samp udp messages once and it returned
Код:
SAMP\u0000\u0000\u0001\u001d
|
It looks like that's a query packet, not an actual netgame packet.
Ontopic: Each SA-MP netgame packet starts with an 8-bit (1 byte) header which is the packet identificator (there's a list of all packets posted somewhere in this topic)
Since pawn.raknet provides a simple interface with callbacks for intercepting packets (IPacket:**PACKET_ID**), the header is no more needed, so it is ignored.
//LE: DimaShift, most of those protections you wrote can already be scripted using current SA-MP callbacks. Going so low-level is just overkill.
Re: Pawn.RakNet - write the best anticheat -
Kaperstone - 20.10.2017
Quote:
Originally Posted by Spmn
It looks like that's a query packet, not an actual netgame packet.
|
Ehh well, was a guess :thinking:
Re: Pawn.RakNet - write the best anticheat -
KoloradO - 20.10.2017
Post Anti-Airbreak please :v
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 21.10.2017
Quote:
//Spmn: DimaShift, most of those protections you wrote can already be scripted using current SA-MP callbacks. Going so low-level is just overkill.
|
I agree with you that it is possible! but with this plugin works "anti-cheat" faster server!
if we remember (optimization) the server does not like "SetTimer" or "OnPlayerUpdate"! this plug-in is perfect for the server, in them is all we can for "anti-cheat"!
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 21.10.2017
Anti-Jetpack (Anti-Cheat)
Tt is allowed to use jetpack, only rcon admin!
Код:
const PLAYER_SYNC = 207;
IPacket:PLAYER_SYNC(playerid, BitStream:bs)
{
new onFootData[PR_OnFootSync];
BS_IgnoreBits(bs, 8);
BS_ReadOnFootSync(bs, onFootData);
if(!IsPlayerAdmin(playerid) && onFootData[PR_specialAction] == SPECIAL_ACTION_USEJETPACK) {
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"{FF0000}[Anti-JetpackHack]: {FFFF00}%s {999999}(ID:%d) {00FF00}auto-kicked {FF0000}[Reason: JetpackHack]", name,playerid);
SendClientMessageToAll(-Unu, string);
string[0] = EOS;
Kick(playerid);
return false;
}
return true;
}
Re: Pawn.RakNet - write the best anticheat -
Spmn - 21.10.2017
Quote:
Originally Posted by DimaShift
I agree with you that it is possible! but with this plugin works "anti-cheat" faster server!
if we remember (optimization) the server does not like "SetTimer" or "OnPlayerUpdate"! this plug-in is perfect for the server, in them is all we can for "anti-cheat"!
|
Faster? No.
There is no performance difference between OnPlayerUpdate and callbacks added by raknet manager.
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 21.10.2017
Anti - CleoFly (Anti-Cheat)
He catches only cleo fly!
Код:
const PLAYER_SYNC = 207;
IPacket:PLAYER_SYNC(playerid, BitStream:bs)
{
new onFootData[PR_OnFootSync];
BS_IgnoreBits(bs, 8);
BS_ReadOnFootSync(bs, onFootData);
if(onFootData[PR_animationId] == 958 && onFootData[PR_weaponId] != WEAPON_PARACHUTE || onFootData[PR_animationId] == 959 && onFootData[PR_weaponId] != WEAPON_PARACHUTE){
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"{FF0000}[Anti-CleoFly]: {FFFF00}%s {999999}(ID:%d) {00FF00}auto-kicked {FF0000}[Reason: CleoFly]", name,playerid);
SendClientMessageToAll(-1, string);
string[0] = EOS;
Kick(playerid);
return false;
}
return true;
}
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 21.10.2017
Quote:
Originally Posted by Spmn
Faster? No.
There is no performance difference between OnPlayerUpdate and callbacks added by raknet manager.
|
not correct I said, i used g00gle translate!
I wanted to say "it works better"!
Re: Pawn.RakNet - write the best anticheat -
Kaperstone - 21.10.2017
Quote:
Originally Posted by DimaShift
Anti - CleoFly (Anti-Cheat)
He catches only cleo fly!
Код:
const PLAYER_SYNC = 207;
IPacket:PLAYER_SYNC(playerid, BitStream:bs)
{
new onFootData[PR_OnFootSync];
BS_IgnoreBits(bs, 8);
BS_ReadOnFootSync(bs, onFootData);
if(onFootData[PR_animationId] == 958 && onFootData[PR_weaponId] != WEAPON_PARACHUTE){
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string),"{FF0000}[Anti-CleoFly]: {FFFF00}%s {999999}(ID:%d) {00FF00}auto-kicked {FF0000}[Reason: CleoFly]", name,playerid);
SendClientMessageToAll(-Unu, string);
string[0] = EOS;
Kick(playerid);
return false;
}
return true;
}
|
afaik animation id 959 is also used for fly hack.
EDIT: this include checks for more animations
https://github.com/pds2k12/OnPlayerF...yerFly.inc#L59
(Ain't sure what they are)
There is a hack as I remember to fly with swimming animation.
Re: Pawn.RakNet - write the best anticheat -
DimaShift - 21.10.2017
Quote:
Originally Posted by Kaperstone
|
thanks!
I just made this type fly of cleo
https://www.youtube.com/watch?v=6W0r1LWlQ8c&t=42s