Page 1 of 2 12 LastLast
Results 1 to 25 of 28

Thread: What are you doing to prevent detection?

  1. #1
    Join Date
    Mar 2015
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default What are you doing to prevent detection?

    Hello,

    Recently I started developing scripts with Aerolib.
    I noticed that if I run 2 bots with the same script that one of them will get detected after 4-5 days.
    The bots run on a seperate VM.
    If a bot is detected I delete the VM and create a new one to replace it (new IP).

    Some of the tricks that I implemented to prevent detection are:
    1. Custom waits between each action
    Code:
      procedure customWait(low, high: integer);
      begin
        case random(10) of
          0..7: wait(randomRange(low, high));
          7..9: wait(randomRange(low * 2, high * 2));
          9..10: wait(randomRange(low * 3, high * 3));
        end;
      end;
    2. Random mouse clicks
    Code:
      procedure clickAsHuman(Pnt: TPoint; Action: string);
      begin
        if (random(0, 10) < 3) then
          customWait(0, 250);
        case random(200) of
          0..160: MoveMouse(RandomRange(Pnt.X - 5, Pnt.X + 5),
              RandomRange(Pnt.Y - 5, Pnt.Y + 5));
          161..190: MoveMouse(RandomRange(Pnt.X - 7, Pnt.X + 7),
              RandomRange(Pnt.Y - 7, Pnt.Y + 7));
          191..200: MoveMouse(RandomRange(Pnt.X - 10, Pnt.X + 10),
              RandomRange(Pnt.Y - 10, Pnt.Y + 10));
        end;
        if (random(0, 10) < 3) then
          customWait(0, 250);
        if (Action = 'left') then
          fastClick(MOUSE_LEFT)
        else
          fastClick(MOUSE_RIGHT);
      end;
    3. Antiban
    Code:
      procedure antiBan(break: boolean);
      begin
        case random(1500) of
          0..5: SleepAndMoveMouse(randomRange(500, 1000));
          6..10: SleepAndMoveMouse(randomRange(2500, 3000));
          11..15: MMouseOffClient('rand');
          16..20: pickUpMouse();
          21..25: humanRandomMouse();
          26..30: checkMovingObjs(False);
          31..33: if break then
              breakScript();
        end;
      end;
    4. Random breaks: if the script runs for 8 hours it will break 2-3 times for 15-20 minutes.

    5. World hopping

    6. Random times when the script start and stops.

    Seems like I am missing something crucial.
    Are there any tricks that I could implement to improve the script?

    Regards,
    Krotar
    Last edited by Krotar; 11-02-2015 at 07:49 PM.

  2. #2
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Creating a new VM won't necessarily give you a new IP address
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Badâ„¢ before everyone gets laser pistols

  3. #3
    Join Date
    Sep 2014
    Location
    C:\Simba\
    Posts
    565
    Mentioned
    9 Post(s)
    Quoted
    71 Post(s)

    Default

    Well yeah. Thats about it.
    To begin I only use a couple accounts per script.
    I also "personalize" each script for each account, like biometrics or what not just like you mentioned.
    Like each wait timer is different.

    I have also started with like "play hours" I start same time at a day give or take 15 minutes, likewise stop. As if I have a schedule.
    Then theres the breakers.
    I basically have 6 types of breaks, dinner, coffee/shit and so on... All with timers how often they are called.

    I can see from your mouse function that you are using 1 method, with just slight changes. You can try to call more methods ie. HumanMMouse, WindMouse and others that I can't recall ontop of my head but yeah, you get the drill.

  4. #4
    Join Date
    Dec 2009
    Posts
    380
    Mentioned
    0 Post(s)
    Quoted
    8 Post(s)

    Default

    Use Mouse/HumanMMouse/MissMouse instead of MoveMouse, MoveMouse "teleports" the mouse (it replaces the old mouse position with the desired mouse position) and doesn't look very human-like. I listed several Mouse functions because I like to mix it up to add variety. You may want to not use as many functions as too much variety isn't always a good thing.

    I personally like implementing random pauses (30 seconds-several minutes) to simulate a bathroom break/etc., I'm also trying to play around with implementing fatigue of some sort (the longer you play the less efficient you are). Just watch yourself play and try your best to replicate it
    Currently: Playing OSRS legit until I get bored

  5. #5
    Join Date
    Aug 2014
    Location
    Australia
    Posts
    932
    Mentioned
    53 Post(s)
    Quoted
    495 Post(s)

    Default

    Quote Originally Posted by Roflme View Post
    Use Mouse/HumanMMouse/MissMouse instead of MoveMouse, MoveMouse "teleports" the mouse (it replaces the old mouse position with the desired mouse position) and doesn't look very human-like. I listed several Mouse functions because I like to mix it up to add variety. You may want to not use as many functions as too much variety isn't always a good thing.

    I personally like implementing random pauses (30 seconds-several minutes) to simulate a bathroom break/etc., I'm also trying to play around with implementing fatigue of some sort (the longer you play the less efficient you are). Just watch yourself play and try your best to replicate it
    This sounds a lot like the biometrics include that @Clarity; was working on before he concluded that it's a waste of time and Jagex doesn't store mouse data and the like. In fact, unless something has changed, neither Clarity or @Obscurity; use human mouse movement in their scripts. Both just move the mouse instantly to the new location on a random point and click.



    New to scripting? Procedures & Functions for Beginners
    Do you use your computer at night? Just get f.lux

  6. #6
    Join Date
    Jun 2012
    Posts
    586
    Mentioned
    112 Post(s)
    Quoted
    296 Post(s)

    Default

    @Incurable; is correct on our, Clarity and I's, stance. ogLib, for one, doesn't use mouse movements.

    I think user agents play a part. We rarely hear about bans with ogLib, with its lack of mouse movements, but a few weeks ago we heard about a lot - I got hit with 3 bans out of 19 running farm accounts (DarkScape). Ian then sent me a message along the lines of, "So I noticed SMART is using the user agent abc?"

    Apparently a test file that was sent through Skype to Clarity, Ross, and myself was pushed to Github. We fixed it to use a random user agent here and such reports have stopped and we, myself included, have been smooth sailing since.

    Like has been pointed out, I think scheduling breaks is key.

    Also, you'll find that in a lot of ban reports, they occur with more then 3 accounts per machine.

    There's also a few things I make mine do:
    - Randomly talk. Send an SRL friend (who may also be botting) a PM like, "Oi, check Skype.". If cutting a tree is taking forever, "Really Jamflex?..."
    - Schedule breaks based on local time (like dinner).
    - Even if taking 15-30 minute breaks, don't bot for 12+ hours straight. 8 hours, break an hour or two, repeat.
    - Make it react to the public - watch chat for all or part of your name.
    - Never run more then 3 bots per machine.

    Etc.
    Last edited by Obscurity; 11-13-2015 at 09:33 PM.




    Skype: obscuritySRL@outlook.com

  7. #7
    Join Date
    Jun 2012
    Posts
    4,867
    Mentioned
    74 Post(s)
    Quoted
    1663 Post(s)

    Default

    Quote Originally Posted by Obscurity View Post
    @Lucidity; then returned from the dead and sent me a message along the lines of, "So I noticed SMART is using the user agent abc?"
    And here I was thinking I was the first to tell you.

  8. #8
    Join Date
    Jun 2012
    Posts
    586
    Mentioned
    112 Post(s)
    Quoted
    296 Post(s)

    Default

    Quote Originally Posted by BMWxi View Post
    And here I was thinking I was the first to tell you.
    Wait wait wait. Was that you? I even searched my entire Skype history, but it deletes after a week... I just remember him coming back, giving a few pointers (which I thought was the UA) and then leaving again. >.<

    Apologies.




    Skype: obscuritySRL@outlook.com

  9. #9
    Join Date
    May 2007
    Posts
    526
    Mentioned
    12 Post(s)
    Quoted
    109 Post(s)

    Default

    I'll try to avoid any mouse-moving functions SRL provides. Just clicking without mouse movement. E.g. I have a touch-screen. Worked fine the last few months so far.

  10. #10
    Join Date
    Mar 2015
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Thanks for the feedback!

    So what I have learned so far:
    - implement more breaks. About 4 breaks (dinner, coffee, ...) with random times in a 10 hour period should suffice.
    - try different mouse functions
    - instead of clicking around a point with random variation I will click randomly in a box and sometimes outside of the box
    - different trip/mouse speeds for every account
    - change the useragent of simba for eacht account
    - react to the public --> not sure if I will implement this right now as I rarely see somebody on the location of the script

    I will rewrite the script and start a new test tomorrow.
    Extra tips are still welcome.
    We could use this thread to gather tips & tricks to help everyone with avoiding detection .
    Last edited by Krotar; 11-03-2015 at 08:23 AM.

  11. #11
    Join Date
    Dec 2011
    Posts
    2,147
    Mentioned
    221 Post(s)
    Quoted
    1068 Post(s)

    Default

    Note that the feedback you received largely came from RS3 scripters. From what I hear, OSRS is far harsher, and it's probably beneficial to take as many steps as possible.
    The theme we generally conclude on in any detection discussion thread is that they are perfectly capable of detecting us, but they don't, or don't act on it.

    My post from another thread:

    Quote Originally Posted by Clarity View Post
    Never experienced any bans in my entire time at SRL except when I ran a script with no clickPoint randomization whatsoever. Hard to say if anything has changed - I usually avoid any mainstream botting methods as well, since those have all the player report/Reddit attention. While they're all worried about the green dragon bots I relax in instanced areas where nobody will report me.

    I think the running Jagex ban strategy has always been out of sight, out of mind (with case by case exceptions). Player awareness is driving a large part of BotWatch. Bots that legitimate players are unaware of don't cause general unhappiness, while keeping income going for Jagex. There's no reason, besides "it's the right thing to do," to ban them.

    It's related to what people think can be realistically scripted, and what the current bot hype is on RSOF and Reddit. Have a QBD farm? Nobody will notice you - unless you go ahead and publicize it/brag (someone on PowerBot did that I think? and then the whole script was rendered obsolete). Botting 120 slayer/200m X skill on maxed main? Who cares, you look like a normal player, nobody even considers you're botting unless your script breaks mid-run and you start running into walls for 18 hours.

    Tele-grabbing Zamorak wines? Everyone instinctively reports you on sight and may go so far as to start reddit hype threads about you. Angry rants to Jagex ensue. Jagex maintains public relations by banning some bots and publishing stats. If economies for GWD drops are massively affected, nobody is going to assume there is a bot problem at GWD - they'll think, "oh, more people are doing GWD I guess." On the other hand, everybody blames bots for the stereotypical raw material markets (green dragon hides, bones, runes). Heck, if you head to green dragons to kill them legitimately, you might get a ton of false accusations.

    I think besides the color vs. injection part, SRL experiences less bans because we choose better, less hyped botting activities. And if we do, we do it more carefully.

    You can see this attitude trend in the recent BotWatch banning livestream for RS3. 98% of the bots were green dragon bots that everyone could tell within a second was a bot. You didn't see people spamming chat like, "omg go check Araxxor/QBD for the bots there!!!!" "THERE ARE SO MANY SLAYER BOTS CMON JAMFLEX!" Everyone was asking them to check either Green Dragons, Wines, Blue Dragons, or Seren Stones/Harps.

    I mean, if I was getting consistent MTX and subscription payments from accounts that were invisibly breaking the rules, I wouldn't ban them. I'd welcome them, until the rest of the player base found out - during which I'd pretend to care by hosting bot banning streams, and then going back to getting my money when the hype died down.



    ...that, or Jagex sincerely tries to ban every bot it sees, but BotWatch is horribly ineffective.
    It makes sense that they are more anti-bot in OSRS as that game is very community driven and less about profit profit profit.

  12. #12
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Obscurity View Post
    @Incurable; is correct on our, Clarity and I's, stance. ogLib, for one, doesn't use mouse movements.

    I think user agents play a part. We rarely hear about bans with ogLib, with its lack of mouse movements, but a few weeks ago we heard about a lot - I got hit with 3 bans out of 19 running farm accounts (DarkScape). @Lucidity; then returned from the dead and sent me a message along the lines of, "So I noticed SMART is using the user agent abc?"

    Apparently a test file that was sent through Skype to Clarity, Ross, and myself was pushed to Github. We fixed it to use a random user agent here and such reports have stopped and we, myself included, have been smooth sailing since.

    Like has been pointed out, I think scheduling breaks is key.

    Also, you'll find that in a lot of ban reports, they occur with more then 3 accounts per machine.

    There's also a few things I make mine do:
    - Randomly talk. Send an SRL friend (who may also be botting) a PM like, "Oi, check Skype.". If cutting a tree is taking forever, "Really Jamflex?..."
    - Schedule breaks based on local time (like dinner).
    - Even if taking 15-30 minute breaks, don't bot for 12+ hours straight. 8 hours, break an hour or two, repeat.
    - Make it react to the public - watch chat for all or part of your name.
    - Never run more then 3 bots per machine.

    Etc.
    for osr players (just quoting you for reference):


    Never run more than 3 bots per machine.
    - this is important

    Even if taking 15-30 minute breaks, don't bot for 12+ hours straight. 8 hours, break an hour or two, repeat.
    - how longer you are logged in how faster they track you. just do 20-30 minutes sessions with a small break.

    MOUSE DATA
    - this IS tracked on osr, and I believe they DO use it to ban bots (long story). using mouse paths generators that a lot people use will result into a ban.

    minimap tracking
    - they track walking with the minimap, try avoiding it.

    mouse on screen
    - they know when your mouse is on/off screen

    got plenty more stuff but im going to keep that private.

  13. #13
    Join Date
    Jun 2014
    Location
    Oklahoma
    Posts
    336
    Mentioned
    22 Post(s)
    Quoted
    231 Post(s)

    Default

    Quote Originally Posted by Obscurity View Post

    - Never run more then 3 bots per machine.
    I'm curious, when you say this do you mean more then 3 accounts or more then 3 instances of smart running a script?

    My setup is two smarts open with 2 accounts for each smart. So 4 total.

  14. #14
    Join Date
    Sep 2015
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    its all about the script.
    keep in mind antiban is not always antiban.
    it depends how it is inside the script, if your script is like this action1->action2->...Antiban->BacktoAction1.
    antiban will not help at all since you repeat a part on and on.
    adding breaks will not help there it will only make your ban come slower.
    also the antiban can be reason for bans if it repeats actions always the same way.

  15. #15
    Join Date
    Nov 2011
    Location
    Norway
    Posts
    203
    Mentioned
    4 Post(s)
    Quoted
    100 Post(s)

    Default

    Something I'd be interested in finding out would be creating a script in reflection, and then create it in color and see which one gets banned first. The color script would bot in the official client or OSBuddy, and the reflection obviously in SMART.

    Quote Originally Posted by killer006 View Post
    its all about the script.
    keep in mind antiban is not always antiban.
    it depends how it is inside the script, if your script is like this action1->action2->...Antiban->BacktoAction1.
    antiban will not help at all since you repeat a part on and on.
    adding breaks will not help there it will only make your ban come slower.
    also the antiban can be reason for bans if it repeats actions always the same way.
    You are basically saying if a script makes a pattern, you get banned. Something which we are all aware of

  16. #16
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by killer006 View Post
    adding breaks will not help there it will only make your ban come slower.
    yes it does, do some research

  17. #17
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    MOUSE DATA
    - this IS tracked on osr, and I believe they DO use it to ban bots (long story). using mouse paths generators that a lot people use will result into a ban.

    minimap tracking
    - they track walking with the minimap, try avoiding it.
    What do you mean by mouse path generator? Are you referring to the randomly generated wind-mouse splines used in the SRL/AeroLib includes? Also specifically what are you talking about walking via the minimap being tracked? As in... specific tiles being clicked, or paths being walked?

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  18. #18
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    What do you mean by mouse path generator? Are you referring to the randomly generated wind-mouse splines used in the SRL/AeroLib includes? Also specifically what are you talking about walking via the minimap being tracked? As in... specific tiles being clicked, or paths being walked?
    Are you referring to the randomly generated wind-mouse splines used in the SRL/AeroLib includes?
    - yes

    Also specifically what are you talking about walking via the minimap being tracked? As in... specific tiles being clicked, or paths being walked?
    - both (walking with mainscreen is more safe)

  19. #19
    Join Date
    Mar 2015
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    yes it does, do some research
    So adding breaks should prevent the system from detecting the pattern of the main loop.
    As I see it there is always a pattern in your script.
    Even if you add randomness (extra clicks, longer waits, breaks, random tabs) it will still be a pattern.
    I will try to add enough randomness to have many different "mini-patterns".

    Currently running a new version of the script with more breaks, new mouse movements and dynamic waits.
    Last edited by Krotar; 11-04-2015 at 08:00 AM.

  20. #20
    Join Date
    Apr 2013
    Posts
    680
    Mentioned
    13 Post(s)
    Quoted
    341 Post(s)

    Default

    One thing that isn't mentioned and i don't even know if i have ever seen it mentioned.

    Don't login multiple accounts onto the same smart... I designate one smart app to a character.

    Should any account be tracked; it could result in the others being tracked.. also why should one instance of smart be loaded for 24-48 hours with 3-4; heck even 20 different bots logging into that smart instance.

  21. #21
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    Are you referring to the randomly generated wind-mouse splines used in the SRL/AeroLib includes?
    - yes

    Also specifically what are you talking about walking via the minimap being tracked? As in... specific tiles being clicked, or paths being walked?
    - both (walking with mainscreen is more safe)
    And what are you basing these assumptions off of? I can tell you right away neither the mouse splines we use nor walking via the minimap are a determining factor when it comes to an account being flagged. I very strongly disagree with these theories...
    Last edited by Flight; 11-04-2015 at 11:51 AM.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  22. #22
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    And what are you basing these assumptions off of? I can tell you right away neither the mouse splines we use nor walking via the minimap are a determining factor when it comes to an account being flagged. I very strongly disagree with these theories...
    pm
    Quote Originally Posted by Krotar View Post
    So adding breaks should prevent the system from detecting the pattern of the main loop.
    As I see it there is always a pattern in your script.
    Even if you add randomness (extra clicks, longer waits, breaks, random tabs) it will still be a pattern.
    I will try to add enough randomness to have many different "mini-patterns".

    Currently running a new version of the script with more breaks, new mouse movements and dynamic waits.
    breaks has nothing to do with patterns

  23. #23
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Krotar View Post
    So adding breaks should prevent the system from detecting the pattern of the main loop.
    As I see it there is always a pattern in your script.
    Even if you add randomness (extra clicks, longer waits, breaks, random tabs) it will still be a pattern.
    I will try to add enough randomness to have many different "mini-patterns".

    Currently running a new version of the script with more breaks, new mouse movements and dynamic waits.
    Well breaks are just a form of anti-ban, such has hovering over a skill you're training, or moving the mouse to random places on the screen. It's to show that, like a human, our player must take breaks from gameplay. As far as patterns go there's no getting around this within a script that does a single task. I've always had the most success of staying under the radar by running an array of scripts on my account. Short-term patterns I've noticed aren't a reason for concern, however if your account does the same thing all of the time, chances are the account won't last long. Train multiple skills, every other day or couple days. Make their pattern-detection system useless.

    Quote Originally Posted by hoodz View Post
    pm
    PM'd back. And this time be specific, what you're stating is far too broad and has no relevance to either mouse-splines nor walking via the minimap resulting in bans.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  24. #24
    Join Date
    Mar 2015
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    Well breaks are just a form of anti-ban, such has hovering over a skill you're training, or moving the mouse to random places on the screen. It's to show that, like a human, our player must take breaks from gameplay. As far as patterns go there's no getting around this within a script that does a single task. I've always had the most success of staying under the radar by running an array of scripts on my account. Short-term patterns I've noticed aren't a reason for concern, however if your account does the same thing all of the time, chances are the account won't last long. Train multiple skills, every other day or couple days. Make their pattern-detection system useless.
    This seems to be the case, I use 2 different scripts.
    The first script trains the account to the required level. This takes about 12 hours.
    The second script does the required activity. The account is banned on day 4 / 5 of using this script (about 8 hours each day).

    I could try and see what happens if the account only runs every other day.

  25. #25
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Krotar View Post
    This seems to be the case, I use 2 different scripts.
    The first script trains the account to the required level. This takes about 12 hours.
    The second script does the required activity. The account is banned on day 4 / 5 of using this script (about 8 hours each day).

    I could try and see what happens if the account only runs every other day.
    In my own opinion I wouldn't say the days on which the account does that same task would matter, however the combination of different in-game tasks is what keeps you safe. Like you could run an abyssal runecrafting script every day, 7 days a week. But if you run other scripts every day, such as a power mining and auto-fighter, it shows your player is dynamic; human. I myself rotate my new account between 3 scripts, but long hours running each script. I usually rotate the script every other day or every 2 days.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •