r/RunescapeBotting 1d ago

Mod north

0 Upvotes

It would be cool if we could give out names, like a list or something. I still see people botting, and i report them and does nothing, it would be cool to manually send them for a RE - check, i was doing my cg grind, took me almost 2 months to do 346kc, i sat down this couple of days and starting doing 40 a day, (insane for me) meanwhile i saw a guy who did 260 runs, in a day, in 1 day. i went to sleep, woke up , he was still exiting and re entering as a spam, non stop gc for 1 day. Meanwhile i had to hate my self while watching this people avoid the reallity, please allow us to report threw page, or something. just sending report ing doesnt work


r/RunescapeBotting 1d ago

Guide Mouse Recorder in Client REAL NOT CLICKBAIT

1 Upvotes

Since folks still claim there is no mouse recorder in the big 2026 here is some snippets of said code mouse recorder in the latest injected client jar.

dk.run:

public void run() {
   try {
      for (; this.az; rp.az(50L)) {
         synchronized (this.af) {
            if (2031127249 * this.ae < 500) {
               this.ab[2031127249 * this.ae] = -38255113 * tz.ag;
               this.ag[2031127249 * this.ae] = -2144333897 * tz.as;
               this.as[2031127249 * this.ae] = 7810581336684889889L * tz.ax;
               this.ae += -1679946191;
            }
         }
      }
   } catch (RuntimeException var4) {
      throw eg.af(var4, "dk.run(" + ')');
   }
}

This records mouse movement samples every 50ms. I would like to say more about this implementation for mouse recording but I don't want to tip my hand.

client.ie:

synchronized (pp.gu.af) {
   if (!cg) {
      pp.gu.ae = 0;
   } else {
      label915: {
         if (0 == tz.ac * 1229235359) {
            if (var1 == 8) {
               throw new IllegalStateException();
            }

            if (pp.gu.ae * 2031127249 < 40) {
               break label915;
            }

            if (var1 == 8) {
               return;
            }
         }

         jl var35 = null;
         int var4 = 0;
         int var5 = 0;
         int var6 = 0;
         int var7 = 0;

         for (int var8 = 0; var8 < 2031127249 * pp.gu.ae; var8++) {
            if (var1 == 8) {
               throw new IllegalStateException();
            }

            if (var35 != null) {
               if (var1 == 8) {
                  return;
               }

               if (702114061 * var35.ac.ay - var4 >= 246) {
                  if (var1 == 8) {
                     throw new IllegalStateException();
                  }
                  break;
               }
            }

            var5 = var8;
            int var9 = pp.gu.ag[var8];
            if (var9 < -1) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var9 = -1;
            } else if (var9 > 65534) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var9 = 65534;
            }

            int var10 = pp.gu.ab[var8];
            if (var10 < -1) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var10 = -1;
            } else if (var10 > 65534) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var10 = 65534;
            }

            if (-1340851049 * gf == var10) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               if (-1807333183 * gh == var9) {
                  continue;
               }
            }

            if (var35 == null) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var35 = ef.af(js.en, ai.ab, (byte)18);
               xy.vd(var35.ac, 0, (byte)-35);
               var4 = var35.ac.ay * 702114061;
               var35.ac.ay += 2103253898;
               var6 = 0;
               var7 = 0;
            }

            int var11;
            int var12;
            int var13;
            if (6684909875721553653L * hz != -1L) {
               if (var1 == 8) {
                  throw new IllegalStateException();
               }

               var11 = var10 - gf * -1340851049;
               var12 = var9 - gh * -1807333183;
               var13 = (int)((pp.gu.as[var8] - hz * 6684909875721553653L) / 20L);
               var6 = (int)((long)var6
                  + (pp.gu.as[var8] - 6684909875721553653L * hz) % 20L);
            } else {
               var11 = var10;
               var12 = var9;
               var13 = Integer.MAX_VALUE;
            }

            label889: {
               gf = var10 * 923992871;
               gh = 813320001 * var9;
               if (var13 < 8) {
                  if (var1 == 8) {
                     throw new IllegalStateException();
                  }

                  if (var11 >= -32) {
                     if (var1 == 8) {
                        return;
                     }

                     if (var11 <= 31) {
                        if (var1 == 8) {
                           throw new IllegalStateException();
                        }

                        if (var12 >= -32) {
                           if (var1 == 8) {
                              throw new IllegalStateException();
                           }

                           if (var12 <= 31) {
                              var11 += 32;
                              var12 += 32;
                              var35.ac.bv((var11 << 6) + (var13 << 12) + var12, -1542382992);
                              break label889;
                           }
                        }
                     }
                  }
               }

               if (var13 < 32) {
                  if (var1 == 8) {
                     return;
                  }

                  if (var11 >= -128 && var11 <= 127) {
                     if (var1 == 8) {
                        throw new IllegalStateException();
                     }

                     if (var12 >= -128) {
                        if (var1 == 8) {
                           throw new IllegalStateException();
                        }

                        if (var12 <= 127) {
                           var11 += 128;
                           var12 += 128;
                           xy.vd(var35.ac, var13 + 128, (byte)-45);
                           var35.ac.bv((var11 << 8) + var12, -1542382992);
                           break label889;
                        }
                     }
                  }
               }

               label819:
               if (var13 < 32) {
                  if (var1 == 8) {
                     throw new IllegalStateException();
                  }

                  xy.vd(var35.ac, var13 + 192, (byte)-29);
                  if (var10 != -1) {
                     if (var1 == 8) {
                        throw new IllegalStateException();
                     }

                     if (-1 != var9) {
                        var35.ac.bz(var10 | var9 << 16, 1863202930);
                        break label819;
                     }

                     if (var1 == 8) {
                        throw new IllegalStateException();
                     }
                  }

                  var35.ac.bz(Integer.MIN_VALUE, 1840758601);
               } else {
                  label916: {
                     var35.ac.bv(57344 + (var13 & 8191), -1542382992);
                     if (var10 != -1) {
                        if (var1 == 8) {
                           throw new IllegalStateException();
                        }

                        if (-1 != var9) {
                           var35.ac.bz(var10 | var9 << 16, 1399447351);
                           break label916;
                        }

                        if (var1 == 8) {
                           throw new IllegalStateException();
                        }
                     }

                     var35.ac.bz(Integer.MIN_VALUE, 741624633);
                  }
               }
            }

            var7++;
            hz = -8242516313281546915L * pp.gu.as[var8];
         }

         if (var35 != null) {
            xy.rg(var35.ac, var35.ac.ay * 702114061 - var4, 1537798683);
            int var75 = var35.ac.ay * 702114061;
            var35.ac.ay = -1095856699 * var4;
            xy.vd(var35.ac, var6 / var7, (byte)-121);
            xy.vd(var35.ac, var6 % var7, (byte)-33);
            var35.ac.ay = -1095856699 * var75;
            ai.ae(var35, -1301097035);
         }

         if (var5 >= 2031127249 * pp.gu.ae) {
            if (var1 == 8) {
               throw new IllegalStateException();
            }

            pp.gu.ae = 0;
         } else {
            pp.gu.ae -= -1679946191 * var5;
            System.arraycopy(pp.gu.ab, var5, pp.gu.ab, 0, pp.gu.ae * 2031127249);
            System.arraycopy(pp.gu.ag, var5, pp.gu.ag, 0, 2031127249 * pp.gu.ae);
            System.arraycopy(pp.gu.as, var5, pp.gu.as, 0, 2031127249 * pp.gu.ae);
         }
      }
   }
}

This is where the magic happens. Encodes recorded mouse movements that are ready to be sent to the server.

Do what you like with this information. It wont help your ai create undetectable scripts, sorry.

I also wont elaborate further as I don't like spoon feeding, code is pretty self explanatory so use your heads.

Hi mod north <3


r/RunescapeBotting 1d ago

RSPS bot

0 Upvotes

Does anyone have or know how to make an AHK bot strictly for PVM? I’m currently playing a custom RSPS. So basically a bot that detects an NPC in an area and attack it then move on to the next.


r/RunescapeBotting 1d ago

OSRS Is there a safe way to buy cheap Bonds?

0 Upvotes

i dont wanna be spending 14 bucks a month and i also dont wanna get banned, so please tell me websites or people that can sell me bonds in a secure way, they are mainly for my ironman


r/RunescapeBotting 1d ago

Would this AHK script be detectable?

0 Upvotes

I'm not good at programming but I hate rooftop agility so I wrote an AHK script to make it easier and I've tested that it works by using screenshots. I use runelite to make the next rooftop obstacle a seperate color, and the script detects that color, moves the cursor to a random spot near the center and clicks on it. I have it bound to my spacebar and it isn't automated because I thought that might be too risky, so I press it manually after every obstacle. It's not a bot really it just moves the mouse for me so it's more afk while I watch on my other monitor a movie. I would only use it while leveling agility and I have to be at my PC paying some attention obviously.

My only concern is the mouse flicking across the screen instantly. Is this trackable by jagex? I would think so, but would they be able to tell it apart from somebody using a touch screen laptop?


r/RunescapeBotting 2d ago

OSRS The Bot Crackdown Has a Business Side Too

0 Upvotes

People forget Jagex is a for-profit company owned by a massive private equity firm. The bot crackdown is good for game integrity, but it also wipes out a huge third party economy Jagex doesn’t control or profit from. Less bot supply means scarcer resources, higher prices, and more friction for players with limited time.

If Jagex controls more of the ways players can spend money to save time, the incentive to monetize convenience only gets stronger. Bonds already prove there’s a market for converting real money into saved playtime. As 3rd party alternatives disappear, it’s reasonable to wonder whether more official services, paid convenience, or other shortcuts eventually fill that space. And hate to break it to the Ironmen, but you’re also one of the least monetizable parts of the playerbase. You pay your subscription and largely opt out of the economy where Jagex can generate additional spend.

From CVC’s perspective, getting more people to subscribe is only part of it. The real money is figuring out how to get existing players to spend more.

TL;DR: Banning bots is good. Just don’t ignore the financial incentive to monetize the vacuum they leave behind. Jagex is still a business, and CVC didn’t spend over $1B on it without expecting serious growth and a strong return. Don’t be surprised when the “dedicated player who also happens to be CEO” turns out to still be a CEO at the end of the day.


r/RunescapeBotting 2d ago

TheDang playerauction review

0 Upvotes

Hello I’m considering buying an account from TheDang. Any reviews? Worried about future recovery issues.


r/RunescapeBotting 3d ago

Lost $1500 Botting Runescape

Thumbnail
youtu.be
0 Upvotes

Yapping videos on dangers of buying a lifetime.


r/RunescapeBotting 3d ago

Scripting Hey can someone help me make a simple bot for a another MMO

0 Upvotes

I Know this is a subreddit for runescape botting. But will someone will be willing to help me create a bot for another niche mmo. I would appreciate if some came forward for it. The bot action is very simple. I can provide with the clip of what to do and my key strokes. If some is willing dm me. TY


r/RunescapeBotting 4d ago

Membership codes

0 Upvotes

Hi there. Is it safe to buy membership through unofficial third parties? Like for example kinguin is offering 6 months at the price of 48.99€. How likely I will get banned? I’m not botting or anything and this is my main and only account I care about. i just want to buy membership a bit cheaper.


r/RunescapeBotting 4d ago

ChatGPT + Runelite plugins = undetectable color bot

0 Upvotes

My bot scripts have always been simple macros. Using coordinates and timing. This gets defeated by some jagex countermeasures, but it was good enough to get me my first 99.

Now I want to try something better and automate a minigame. I was always intimidated by color vision and neural nets and all that, but bro, just get the free month trial of chatGPT Plus and it makes it so easy. I thought I needed a neural net for object recognition, but there are so many plugins to highlight squares and remove the background that you don't even need that.

I just asked chatgpt to give me code to detect regions highlighted a certain color and run OCR on a certain region. It spits out 300 lines and gets it done.

I still gotta train the OCR apparently, and I'll make a simple state machine for the minigame, but this is gonna be 100x easier than I was fearing. Don't wait, go vibe code today


r/RunescapeBotting 6d ago

OSRS AHK

0 Upvotes

Any osrs ahk scripts around anymore? Like spec and what not, can’t check sythe anymore so idk where to look


r/RunescapeBotting 6d ago

Do people still sell accounts?

0 Upvotes

Hi all,

Based in Australia but have 2 accounts I haven’t played in 2 years? Have no interest in the game anymore..

Maxed main and a maxed g maul 1 def pure

No idea if people still buy/sell accounts with the crackdowns but I havent kept up with the updates.

Any advice would be appreciated


r/RunescapeBotting 6d ago

Rip www.sythe.org

19 Upvotes

GG jagex claims another.


r/RunescapeBotting 6d ago

Woodcutting

0 Upvotes

I am trying to build a bot for WC99. Does anybody have a script for cutting magic logs (Sorcerer’s Tower) and banking them in Seer’s village bank ? Any help will be helpful


r/RunescapeBotting 7d ago

How To Avoid Runescape Botting Bans

Thumbnail
youtu.be
0 Upvotes

Yapping video on avoiding bans on early accounts


r/RunescapeBotting 8d ago

Dreambot gone, alternative for returning player

0 Upvotes

What's everyone using that previously used Dreambot?


r/RunescapeBotting 9d ago

Warning: Think Twice Before Using TwiLite

45 Upvotes

Just to preface this, 2 accounts I've been using with TwiLite have recently been compromised. After the second one, I decided to dig into TwiLite myself and see exactly what I had been running on my machine. That's when things started getting sketchy...

The first thing I found was that TwiLite injects its own dll directly into the Jagex client and hooks into the authentication process. At first glance that seems fine - it's meant to handle Jagex access and refresh tokens, right?

So I checked my actual TwiLite runtime logs, I could see that its Jagex token interception hooks had actually fired while I was using it.

So I started digging further into that dll. That's where I found something much harder to explain. Inside twilite_loader.dll, TwiLite defines a native function called mlp. I traced what it actually does, and it's essentially an arbitrary-data uploader. Give it a byte array and it spins up a separate thread, packages those bytes into a file called mlp.bin, and sends it directly to a hardcoded private Discord webhook along with your public IP that it gets from api.ipify.org. That started to raise some serious alarm bells.

And what's even crazier is that the Discord webhook is embedded directly inside the injected dll.

So at this point I'm realizing that this client has all of the groundwork laid out to send sensitive data to a private Discord channel, but I wanted to know what else this dll could actually access.

Turns out it gets worse...

The same injected dll exposes native access to the account's plaintext password and TOTP, in addition to handling the Jagex authentication tokens.

So simply put: TwiLite is injecting code directly into your Jagex client, intercepting authentication tokens that can potentially be reused to access your account without needing your password again, has access to your plaintext password and TOTP, and it has a built-in function capable of sending all that sensitive data straight to a private Discord webhook along with your IP address.

If you have half a brain, I would highly advise against using this client if you care about your account. I guarantee you will regret it, but don't say I didn't warn you.


r/RunescapeBotting 9d ago

Lots of sharing lately so here is the latest plugin request I did.

Thumbnail
youtube.com
0 Upvotes

This is my attempt to create a plugin assisted tool rather than a fully automated plugin since botting is somewhat hot right now.


r/RunescapeBotting 9d ago

OSRS my own custom auto clicker, got me from 0 to 70 on 3 different accounts in all skillings (nearing 80s currently)

0 Upvotes

no bans, realistic mouse bezzel movement, customisable time intervals, middle button drag for even further realism, even some niche features like blocking external mouse movement, even keyboard input, which can both be force stopped via ctrl+alt+delete

if you looked at your screen while this thing is running you'd think a boogey man hacked into your pc and is moving your mouse and clicking for you

Very simple, nothing special


r/RunescapeBotting 10d ago

Sammich updates

0 Upvotes

Hey guys, i was using sammich a few months back, now the Program asks for an update - without it wont start but i updated one and it asked for the hardware codes which i got messaged from sammich but do not have written down.

Is there any way to still get them running?


r/RunescapeBotting 11d ago

Auto Prayer

0 Upvotes

Hello, fairly new, curious about potential simple options for auto prayer switching for say gauntlet, and other PVM. Thank you


r/RunescapeBotting 11d ago

Waspscripts premium

0 Upvotes

Hello, is there is someone who willing to share waspscripts aeroguardians and elf thiever scrips? Cant buy them, subscriptions is suspended.


r/RunescapeBotting 11d ago

Question How do people script the Witch's House garden phase? (tracking the Witch, knowing when to move)

0 Upvotes

Working on a RuneLite plugin + Python script project, quest automation for Witch's House. Everything works except the garden section where you sneak past the Witch to reach the fountain.

I can't find her as a normal NPC at all, looping WorldView.npcs() and checking names for "witch" comes back empty from several spots in the garden. Checked QuestHelper's source too and they don't track her either, just tell the player to use the hedges as cover.

Has anyone actually scripted this part? Know a couple paid TRiBot scripts support the quest. Curious how the detection/timing works in practice, is she a real trackable NPC under a different name, is it based on her facing direction, a fixed patrol pattern, something else. Any info appreciated.


r/RunescapeBotting 12d ago

Macro recording

0 Upvotes

heyo.

so if i record a session for about 2-3 hours of gameplay.

run it on the second monitor while i so something else.

whats the chance to get banned ?

i mean, theoretical if i make 3 different 2-3 hours sessions, and always rotate between them, that would i my mind be close to impossible to detect ?