1 (edited by unsigned char* 2018-06-08 02:40:38)

Topic: [LIB] Anti-Cheats v0.1.2b

Hi! i'm working in some methods for make the life of the cheater more complicated... can detect players that uses:

- Spin-Bot (Tested with MagicTW & 13x37)
- Aim-Bot (Tested with 13x37)
- Fire-Bot (Need test it)

------------------------- ----------------------- -----

Source Repository: https://gitlab.com/Tardo/TWAntiCheats


==============================[ CHANGELOG ]==============================

+ v0.1.2b
     - Fixed issue when detect cheater and not destroy CCharacter
     - Added "TWACVersion" function for get library version (twac::Funcs::TWACVersion() in AntiCheats.hpp)
     - Refactor some code
+ v0.1.0b
     - Added Anti AIM Bot
     - Added Anti Auto-Fire Bot
     - Added Anti Spin Bot


==============================[ INSTALLATION ]==============================
1. Download Library

2. Move 'twac' to "other/" folder.

3. Edit your bam.lua:
A) Add the line "Import("other/twac/twac.lua")

B) Before "config:Finalize("config.lua") add "config:Add(TWAC.OptFind("TWAntiCheats", true))"

...

config:Add(SDL.OptFind("sdl", true))
config:Add(FreeType.OptFind("freetype", true))
config:Add(TWAC.OptFind("TWAntiCheats", true))
config:Finalize("config.lua")

...

C) Just after "function build(settings)" add the line "config.TWAntiCheats:Apply(settings)"

...

function build(settings)
    -- apply twac setting
    config.TWAntiCheats:Apply(settings)
        
        ...

**Perhaps not the best place...


==============================[ USAGE ]==============================
1. Modify "CCharacter" class:
A) [CCharacter.h] Add "twac::CCharacter"

...

CCharacterCore m_Core
twac::CCharacter m_AntiCheats;

...

** Remember add... "#include <CCharacterAntiCheats.hpp>"

B) [CCharacter.cpp] In "void CCharacter::OnDirectInput(CNetObj_PlayerInput *pNewInput)", before the last line "mem_copy(&m_LatestPrevInput, &m_LatestInput, sizeof(m_LatestInput));" insert:

    const int twac = m_AntiCheats.CheckInputs(Server()->Tick(), m_LatestInput, m_LatestPrevInput);
    if (twac)
        dbg_msg("ANTI-CHEAT", "Detected! %d", twac);

Posible results:
     0 - NONE
     1 - FIREBOT
     2 - SPINBOT
     3 - AIMBOT


The process can be improved... this is only a basic guide.

2 (edited by Siile 2015-06-24 19:58:33)

Re: [LIB] Anti-Cheats v0.1.2b

Does the mod detect rapid fire macro? big_smile

*click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click* *click*

3

Re: [LIB] Anti-Cheats v0.1.2b

Humans all time have a delay sending packets and other quantifiable parameters...

The player can shoot 100 clicks? 200 clicks? ON-OFF-ON-OFF-ON-OFF see too hard.. the natural is ON-OFF-ON-OFF-OFF-ON-OFF-OFF-OFF-ON

But need test it... perhaps i'm wrong...


And this mod don't detect all bots... only "perfect" bots tongue and need test it with more players... perhaps all of this don't work in a real scenary hmm but i like try it xD

4

Re: [LIB] Anti-Cheats v0.1.2b

This looks very interesting. I'm looking forward to your great work smile
Do you plan to release the source, at least on request?

5

Re: [LIB] Anti-Cheats v0.1.2b

TT <3 wrote:

This looks very interesting. I'm looking forward to your great work smile
Do you plan to release the source, at least on request?

Open-sourcing anti-bot software is probably not so useful, much like open-sourcing anti-spam software.

6 (edited by jxsl13 2015-06-24 21:14:22)

Re: [LIB] Anti-Cheats v0.1.2b

great work big_smile you keep on working on epic stuff unsigned char

Teeworlds[ friends ] clan
Some YouTube Stuff about Teeworlds

7

Re: [LIB] Anti-Cheats v0.1.2b

heinrich5991 wrote:

Open-sourcing anti-bot software is probably not so useful, much like open-sourcing anti-spam software.

Well thats right. But I and probably many other people are also very interested in this project/in the development of such an detection and would use it on their private servers. So giving it to some devs with good reputation with the promise not to release it, would be a good middle course I think.
Of course, if unsigned char* just wants to see if he can make a reliable detection without giving it to anybody and use it only for himself, so be it.

8 (edited by unsigned char* 2015-06-25 08:45:20)

Re: [LIB] Anti-Cheats v0.1.2b

Opened a testing server here: 176.31.162.64:8303
For now only detect Spin and Aim bots... please report issues, etc... thx!

And the idea is to share the methods with the modders... is impossible (or very difficult) stop bots 100% if with these methods the cheaters are obligated to use more stupid bots.. the work will be worth it smile

9

Re: [LIB] Anti-Cheats v0.1.2b

Now we need some skilled and spin-maniac people to experiment on this server :)

Not Luck, Just Magic.

10

Re: [LIB] Anti-Cheats v0.1.2b

offline error='Aim-Bot Detected!'

Nice smile

11

Re: [LIB] Anti-Cheats v0.1.2b

unsigned char* wrote:

Opened a testing server here: 176.31.162.64:8303
For now only detect Spin and Aim bots... please report issues, etc... thx!

And the idea is to share the methods with the modders... is impossible (or very difficult) stop bots 100% if with these methods the cheaters are obligated to use more stupid bots.. the work will be worth it smile

The best idea is usually to not kick these cheaters upfront, but rather just leave a note for the admin or so IMO.

12

Re: [LIB] Anti-Cheats v0.1.2b

I'd love some kinda system which worsens the gameplay of botters, like randoml hook failures or decreased accuracy of their shots big_smile

Teeworlds[ friends ] clan
Some YouTube Stuff about Teeworlds

13

Re: [LIB] Anti-Cheats v0.1.2b

heinrich5991 wrote:

The best idea is usually to not kick these cheaters upfront, but rather just leave a note for the admin or so IMO.

Or have them banned in banned waves, so they can't have an idea of when exactly the detection triggered.
Like, add an IP table to the banlist every day at midnight or something.

Not Luck, Just Magic.

14

Re: [LIB] Anti-Cheats v0.1.2b

jxsl13 wrote:

I'd love some kinda system which worsens the gameplay of botters, like randoml hook failures or decreased accuracy of their shots big_smile

But that might make good players play badly, so I don't know how that would work. Neither do I really like that idea at all.

I spin like freaking crazy, (trackball mouse moves so easily) so if it just made it so that when spinning the timing COULDN'T be correct, I'd feel cheated sad

@unsigned char*: I really like what you are working on here, it could be useful. I feel as if this would be more useful in modifications, as I see extreme numbers of botters, like the pixlez clan after scar went overseas, in FNG.

I used to be a heck of dork here...
But then a great Moderator exclaimed how I appear: "Kirby, you're inexperienced in social ways"
So to myself, I say... "Hey, I'll be around," And thus the true Kirbs, was righteously found. (after much time and experience elsewhere)

15

Re: [LIB] Anti-Cheats v0.1.2b

I said of botters and I doubt that you can spin at a perfectly stable speed like a bot does, so the detection wouldnt care about your spinning.
And I'd prefer that spin bots shouldn't be worsened at all, but at least that the system would know like " aha, he's got a spinbot so the odds are higher that he would also use his aim bot"

I'm playing like a bot myself, at least a bot that always points down towards the ground smile

Teeworlds[ friends ] clan
Some YouTube Stuff about Teeworlds

16

Re: [LIB] Anti-Cheats v0.1.2b

Ok.. first day and some false positives (Two that i see) with spin-bot detection.... please report here all false positives and how replicate it (if you know) wink

Perhaps make a system with "strikes" can mitigate false positives and other stuff uh?? report in admin console all strikes... but kicking or ban when it exceeds the limit..... :\

P.S: Sry for the problems with the server... it's a 1€ VPS. This will change in the near future (thx to Pathos)

17

Re: [LIB] Anti-Cheats v0.1.2b

False-positives could be due to unstable network.

18 (edited by Oblique. 2015-06-27 05:31:41)

Re: [LIB] Anti-Cheats v0.1.2b

I remember seeing this feature on a server (FNG, if I remember correctly), where a vote to kick a detected aimbotter would be started by the server. I think it did so by figuring out when the fired laser beam didn't match where the gun was actually pointing. Happy to see you working on something similar big_smile

A is for Apple.

19

Re: [LIB] Anti-Cheats v0.1.2b

Yeah I get false positives all the time on boomfng/openfng anti-bot servers. It's also open source (on github, somewhere) and it basically just was like "if you're cursor is directly at the same co'ords as a tee, that means you're botting" and "if your aim angle is always [x] increment per increment and you go 360+degrees like that, you're a spinbot".

Good luck unsigned char*!

Clan: Riot (I'm one of three leaders: Mile, Deku, pie)
Host teeworlds maps on a fng/ctf/dm/ddrace server for testing:http://riotproductions.tk/teewo/ broken-need reinstall nginx http://riotproductions.tk/bounce?whatEven, Teeworlds NA Discord chat

20

Re: [LIB] Anti-Cheats v0.1.2b

Thx! wink my method isn't the same... but similar...
Basically the machines send netmessages in a constant interval... humans no... if you make a bot that send netmessages in random intervals your bot lost accuracy and play how a "normal pro user"... best for all! big_smile

For all of this, the server save the last 16 inputs (Why 16? it's a magic number xD) received by a user and analyze them.
And yes.. for aim-bot if a player look at left, shoot to right and again looks to left  in ~0.02segs.. yes... its a bot xD


P.S: I repeat, this mod can't stop bots... only, perhaps, can make it more imprecise... this is the principal goal.

21

Re: [LIB] Anti-Cheats v0.1.2b

those ideas should work if implemented right, good luck ^-^

Clan: Riot (I'm one of three leaders: Mile, Deku, pie)
Host teeworlds maps on a fng/ctf/dm/ddrace server for testing:http://riotproductions.tk/teewo/ broken-need reinstall nginx http://riotproductions.tk/bounce?whatEven, Teeworlds NA Discord chat

22 (edited by 2015-06-28 17:15:27)

Re: [LIB] Anti-Cheats v0.1.2b

heinrich5991 wrote:

Open-sourcing anti-bot software is probably not so useful, much like open-sourcing anti-spam software.

Why not ?
A Spinbot is already in the offical Teeworlds-Code, something to build a spambot is found in the offical Teeworlds-Code too, and finally an Aimbot is found in DDNet.

The only negative thing about the open-sourcing anti-bot is that the people will see how it works and may avoid the detection.
But there is already an Open-Source anti-bot mod by fisted...

There isn't really a reason against it.

unsigned char* wrote:

P.S: I repeat, this mod can't stop bots... only, perhaps, can make it more imprecise... this is the principal goal.

Yeah you are right, i like how your mod works ^^
I would love to see the Source Code for implementing it into other mods to make them more "playable".

Maybe you should check eyefollow too it seems like it doesnt detect eyefollow, idk if its cos the lag or not.
But very nice till now, a step against bots smile

There are three kinds of lies: lies, damned lies, and benchmarks.

23

Re: [LIB] Anti-Cheats v0.1.2b

Ok, i made a binary patch for Teeworlds 0.6.3 Linux x86_64: https://dl.dropboxusercontent.com/u/305 … tch.bsdiff

~$ bspatch teeworlds_srv teeworlds_srv_new anticheats_patch.bsdiff

This is only temporal... i like made something for integrate it in all mods.

24

Re: [LIB] Anti-Cheats v0.1.2b

fallen.kn wrote:
heinrich5991 wrote:

Open-sourcing anti-bot software is probably not so useful, much like open-sourcing anti-spam software.

Why not ?
A Spinbot is already in the offical Teeworlds-Code, something to build a spambot is found in the offical Teeworlds-Code too, and finally an Aimbot is found in DDNet.

The only negative thing about the open-sourcing anti-bot is that the people will see how it works and may avoid the detection.
But there is already an Open-Source anti-bot mod by fisted...

There isn't really a reason against it.

Well, the reason against it is that you can specifically target unsigned char*'s anticheat now if you're a bot writer. Each open-sourced or even publicly available cheat detection has this problem.

25

Re: [LIB] Anti-Cheats v0.1.2b

heinrich5991 wrote:

Well, the reason against it is that you can specifically target unsigned char*'s anticheat now if you're a bot writer. Each open-sourced or even publicly available cheat detection has this problem.

I think a patch sounds great, good idea from unsigned char*.
Now there is no big reason to publish the source code anymore.
I think unsigned char* should decide what he is going to do with the source code.

There are three kinds of lies: lies, damned lies, and benchmarks.