Comment by alexchantavy
4 years ago
Macros are what got me into programming. I wanna write a blog on it if no one else has done it yet but you had different tiers of it in between 2005-2007:
AutoRune: top-tier -- This was the absolute best RuneScape classic bot but you had to pay $15 a month for an auth code to use it, which is extremely expensive for a school-aged kid. One of its killer features was that you could run the game in headless mode with no graphics so your PC would not be overloaded due to running too many expensive Java applet graphics processes.
If I recall correctly it had its own intuitive scripting language. Some of these scripts were extremely coordinated: you could have several accounts mine ore, another account transfer it, and another account to manage smithing it in an orchestrated fashion.
If you were into player-versus-player, RS Classic had this unintended concept of "having catch" on someone based on your player ID on the server. Essentially if your player ID on the server was lower than your opponent's, then in a fight it would be significantly easier to chase them until they were dead. Catching a player took some well timed clicks and coordination. AutoRune (and the other bots I'll talk about) exposed this player ID to you so you could log out and in until you received a player ID that was sufficiently advantageous enough for you.
Even more scary was that it had an autocatcher that made it effectively impossible for another player to escape you in PVP so that you didn't need to learn the proper catching technique.
There were also free to use but less powerful bots like IT-bot (scriptable with Java) and Runebot (IIRC only allowed you to autotrain).
Fatigue and CAPTCHAs defeated by crowd sourcing with Sleepwalker -- To deter bots, RuneScape implemented a concept called "fatigue" where your character would supposedly get tired after harvesting items or gaining a certain number of experience points and you would be forced to use your sleeping bag to rest. When you rested, you would have to solve a CAPTCHA to wake up. I am still amazed with the level of coordination that happened here: someone built a tool called SleepWalker where you would write CAPTCHAs for other people and gain points. Each point you wrote for someone else became a word that you were allowed to have someone complete a CAPTCHA for you. You were also able to pay money to avoid writing CAPTCHAs yourself, and Sleepwalker was smart enough to integrate with whatever bot you were using. Eventually the more sophisticated bots like AutoRune and IT-bot implemented their own OCR so SleepWalker became something only used by people who couldn't afford OCR, but I'm still amazed by the community coordination here.
Now, these bots interacted with the RuneScape world by sending server side commands so you would never need to actually click on anything in the world to watch your character do things. The problem here is that these methods were comparatively easy to detect so Jagex would periodically ban players caught cheating. This is where SCAR comes in.
SCAR = Shit Compared to AutoRune -- SCAR was a less sophisticated but extremely effective botting tool that relied only on clicking colors. You wrote scripts in Pascal (of all things!) to do the tasks you wanted like mine ore or kill chickens and it did this by clicking predefined pixel colors with the timings you specified. To do it properly, it calibrated your in-game compass to align properly so the pixel clicking would work. It also implemented its own timing and color jitter so that the simulated clicks would appear to be from a human and not a bot. There were also scripts that would handle cases where a mod would message you and ask if you were a bot and it would respond with 'noope im not a bot, gtg bye!'.
All the characters I automated with the API-based bots ended up banned, but I'm pretty sure the one that I used SCAR on never got banned. The clicking approach became extensible when RS Classic became RS2, and I'm sure AutoRune continued into the future too but this is where I became too busy with school to keep up with all this.
Anyway, RuneScape automation is near and dear to my heart and got me started in CS so I love talking about this haha.
The ecosystem around SCAR was really impressive, and with just enough drama to keep everyone interested as well. Basic color clicking in SCAR was a concept but not enough to make really sophisticated bots or to keep up with attempts at detecting repeated behavior. The mods caught on to exact pixel finding, abrupt mouse movements, and other stuff that a typical SCAR script would generate. The botting community developed the SCAR Resource Library (SRL) to generalize common operations in a way that would be undetectable (findObject, moveMouse, etc.), all with a sufficient amount randomness baked in. With this library you could write some _very impressive_ bots even though it all boiled down to pixel finding and clicking at some level. Over time there was some disagreement over the development of SCAR (it was closed source and had a single developer), and the SRL community rebranded to SRL Resource Library (SRL) as the first attempt to move away from SCAR as the only home for this pixel-finding-based library of advanced botting functionality. Some maintainers of SRL then introduced there own client as an open source alternative to SCAR called Simba.
I have had a 10 year career now developing software for the biggest companies on the planet, but to this day a lot of the most complex and robust code I've ever written was as a teenager in SCAR. Good memories. Would love to see some wiki history of this written up somewhere.