Macroing is the act of using third-party software to perform automated tasks. A macro operates by automating user input to the game. A simple macro may just move the cursor to a certain position and perform a click, while more advanced ones may interact with the game client directly. The terms macroer, autoer, botter or bot usually refer to players who use such programs. Usage of macros is not allowed under the RuneScape rules and may result in action taken against that player's account, such as a temporary or permanent ban. Moreover, Jagex has the authority and power to reset a player's skill levels as well as their bank value before initiating a ban.
Macros can be programmed to perform almost any task. Typically, they are used to perform tasks deemed overly tedious by real players, such as training a particular skill, collecting a certain item, or quickly typing an offer or phrase. Some examples are given below:
- Autotyping programs can be used to repeat a specific message over and over. This is often used by players in the Grand Exchange, where a trade offer quickly disappears in the volume of other messages, or used to advertise a real world trading site. This can be a nuisance to other players, as with all the spam, and can be reported under Honour. If advertising a website, they can be reported under Security. If players do not want to report, they can just right-click the name on the chat box and hit ignore.
- Autoclickers can be used to repeatedly click a desired spot or click in many locations faster than is possible with a mouse. Autoclickers are mostly used to circumvent the auto-logout system. They can also be used to perform simple actions, such as Low/High Level Alchemy.
- Autobuying programs can be used to buy large amounts of items from shops. They can also be used to buy and bank items that can be sold for a profit at the Grand Exchange.
- Many macros involve more complicated tasks such as Mining, Woodcutting, Fishing, monster-killing, and more. These programs often have advanced programming that gives them the ability to solve random events, navigate between locations, respond to chat, avoid dangerous situations, and more.
On 10 December of 2007, Jagex implemented a number of updates aimed at ending the use of macros in the game. Although these updates have been successful at drastically cutting down on the number of both macros and real-world traders, reactions among players were mixed concerning how well-implemented these updates were. As a result of a referendum, many of these updates which had lowered the number of bots in the game were removed on 1 February 2011.
On 25 October 2011, Jagex released an update codenamed ClusterFlutterer, also known as "Bot Nuking Day". The update claimed to eliminate what Jagex stated to be 98% of the bots in-game. This significantly reduced the amount of macros in the game, and reduced the population of most Free-to-Play worlds to under 100 during non-peak hours in the aftermath of the update. The long-term impact on botting due to the ClusterFlutterer update has been limited, however, as bot makers improved their software. Jagex has implemented subsequent anti-bot updates; a major one was the Botany Bay update of 26 September 2012. This update greatly reduced the number of bots but only had a short-term effect as within weeks great numbers of bots were present again. The Evolution of Combat update of 20 November 2012 disrupted combat-based botting, as the combat system was significantly changed. However, the bot makers adjusted quickly, and less than a month later combat bots were dominating profitable monster-slaying areas, such as most non-Wilderness areas containing Chromatic dragons and the area of Mature grotworms.
Like normal players, a macro tool needs to control the game by giving the appropriate inputs. These controls result in some game reaction that the macro needs to observe and interpret to plan the next action. Typically, a macro is either a colour-coded, or reflection-coded bot programmed in Java or in other programming languages.
Colour bots are a primitive form of botting that uses colours in the game to perform. It is done by the bot being told to recognise a certain type of colour on the screen and clicking on that colour. After a certain period of time, the colour has either disappeared or is then clicked again. More complex colour bots can scan certain images or 3D objects in game. After using the same strategy, it then moves to another location. These bots are unreliable and are mostly rendered temporarily useless if the colours or the graphics are changed. Jagex broke lots of these bots by changing the colour in the random events, although some colour bots can get around this by scanning the object instead of looking for a certain colour onscreen. This poses a large challenge to these bots and their creators which means they constantly have to update their bots. As colour bots do not read or write to the game's code, if scripted well, they can be almost undetectable to Jagex. This is one of the main reasons why some players use colour bots even when injection is available.
An injection bot is a type of bot that utilises the RuneScape code itself. It injects itself into the RuneScape client and is able to read the client's code. It makes sense of the code and is able to make choices based on what the code states it will do. This is similar to how we react to what we see on the screen. However, an injection bot does not see the pictures; it sees the computer code that generates the pictures, and can modify that code to be alerted when things happen. By doing this, it can do very complex commands, and typically can be coded to do anything that humans do and act as we do. When combating this type of bot, it must be given a piece of computer code that it has not seen before, or a variation of it that would cause it to hook into the wrong part of the code to receive notifications. When most injection bots mess up, it is often caused by Jagex updating or changing objects in the game. The most successful instance of messing up injection bots was the update introducing ClusterFlutterer. This update disabled most injection and reflection bots by changing where they can access code and putting false code for the bots to read, messing them up and causing the weird behaviour.
Reflection bots create a mirror image of the RuneScape applet by accessing the loaded classes and then read the code of the "reflected" copy, without injecting any code. This is considered to be much harder to detect than injection but, if done right, both are completely undetectable. Most bots used both injection and reflection to be able to gather as much data as possible. A custom-engineered game client is used to run the bot, rather than through a web browser with Jagex's official client (as is done with most colour-based bots). This allows the game to be slightly modified, making it listen to fake mouse or key events (thus allowing the bot owner to do other things while using the bot) and to disable direct system access (say: faking runtime information) to mislead Jagex's servers.
Another type are graphic driver-based bots. These types of bots hijack the current API, such as DirectX or OpenGL, which render the game's graphics to the screen, and use the data gathered to locate players and other objects. These types of bots can also use ID's like injection/reflection but not all require a custom-engineered game client. These bots can basically read the 3D models from the graphics card to determine what's onscreen.
Packet bots were one of the first type of bots to be around in RuneScape; they could send commands to Jagex's game servers in the form of packets, filled with information such as the coordinates the bot wanted to walk towards. Packet bots no longer exist in RuneScape, as Jagex stopped them by encrypting and changing communications, resulting in one of the first massive bans. Cheating was pronounced dead, for the first time.
The gaming engine is the part of the macro that interacts with the game, and then analyses the responses. A software program running on the game-playing computer usually has the capability to generate mouse input (move, click, drag, etc.) and keyboard input (key down, key up). Analysing the response from the game can be done by capturing the entire game image (although some image processing might be required to obtain information about the game response). The gaming engine provides the basic mechanisms to play the game, but it requires task-specific knowledge to actually perform the macro operation. Some programs use colour recognition and click colours on the screen, while others interface directly with the game.
Macro program risks
Many websites claim to have an undetectable macro program that will not only earn your character quick gold, but will make it appear as if it is a real person playing instead of a program. In addition to the risk of getting banned for such programs, downloading these programs can lead to keyloggers or other malicious programs getting into your computer. This most often happens when the program is downloaded from a private source, usually claiming to be a cracked version of an expensive macro program. Due to the risk of being banned and having your account hijacked, it is strongly suggested that you do not use any third-party programs related to RuneScape botting.
Identifying and reporting macros
Many macros or gold farmers can be found performing highly repetitive tasks such as chopping trees, or fishing lobsters. Although many activities can lead to suspicion of macroing, keep in mind that players who display the following characteristics are not always bots.
- Names that are extremely difficult to report; a common example is a mixture of uppercase i and lowercase L, to produce a name similar to "IIIIlIlIlI", or just random letters. A typical name would be "ftdhfdjhb". Reporting these player names can be difficult, but this can be remediated by turning on right-click reporting.
- Low combat level players crafting, fishing, woodcutting, or using magic at high levels.
- Only one skill trained (usually woodcutting, fishing, mining, or melee combat). This can be checked by looking up the name on the hiscores, Adventurer's Logs (P2P only), casting Stat Spy (P2P only) on a suspected bot or right clicking on the player, select 'Examine' and go into the skills tab. However, there are some bots that are able to enter worlds which require a skill total of 1500.
- May demonstrate strange behaviour such as not being able to fish in certain spots and thus running backwards and forwards from the fishing spot (or just not interacting at all with certain spots). Also something that is common for fletching macros in the Soul Wars is accidentally trading other people instead of clicking on the chest, unless it is a Soul Wars-specific macro, in which case it utilises the one-click bank feature.
- Stopping in front of a door or gate that has closed.
- Acting oddly if a player, follower, item, or NPC is on or near the spot they are working on or moving to.
- Wearing very cheap equipment (for example, a dragon helm, granite body, dragon platelegs, dragon boots, abyssal whip and anti-dragon shield are worn by the dragon killing bots).
- Having no quests done, or only a few. This can be checked with the equipment the person wears, since some equipment needs the completion of a quest to wear. For example, a rune platebody requires the completion of Dragon Slayer.
- Using only a bronze sword. Many of these bots are skiller bots, spam bots, and Sorceress's Garden bots.
- Training firemaking with multiple fires, rather than using bonfires.
- Dropping ore, and even gems (without cutting them), when training mining (This is NOT a reliable method of identifying bots as many players utilise drop-mining as a method of training. If the only reason you have for thinking that someone's a bot is that they're dropping ores and gems, they probably aren't one)
- Setting traps in a straight lines, and simply standing on top of fires when a fire is lit in that location (can be used to steal traps from bots, as most bots will still drop the trap).
- Using Furnace or Anvil even when a Portable forge is present and much nearer to a bank or bank chest (especially near the bank chest in the Combat Tutor area) (This may not be a reliable method of identifying bots as some traditional players prefers the way of running between bank and furnace/anvil).
Current bots usually have complex code that can respond to, and overcome, attempts to disrupt their task. Prior to the use of these more advanced bots, players would throw gnomeballs at bots, lure them to aggressive monsters, or close a door or gate to trap bots. Although simple techniques like these no longer work consistently, many players spend a great deal of time discovering new ways to impede the actions of bots. Jagex also continues to add features to the game that make macroing more difficult and to remove macroers from the game.
Macros and the economy
Some players argue that macros benefit the game by performing tasks that no person would want to do, such as cutting yews constantly. Many disagree however, arguing that macros sell vast amounts of resources, causing the price of those resources to drop. This then hurts legitimate players who are trying to make money selling that same item.
Many monsters that are monotonous and relatively safe to kill are targets for macroers, such as chaos druids (frequent good herb drops), which then causes those herb prices to drop. However, areas that require difficult and/or complex quests to complete most likely have no macros. In addition, unique drops from monsters that require human intelligence to kill will not have their prices fall because of bots. Examples include the Drygore weaponry from the Kalphite King or a Spirit sigil from the Corporeal Beast.
Macros can also cause the price of rare items to rise. Firstly, by spending their millions that were made easily through cheating they out-bid honest players for rare items, pushing their prices up. When the macroer finally gets banned for cheating, the rare items remain with the banned player, meaning there are fewer of those items in the game, which further drives up their prices.
After the 25 October update, the price of a lot of consumables such as fish or coal started to drop mainly because of the decrease in the number of combat bots (who used to consume a lot of food) and of bots training skills such as Smithing.
Macros making money are known as gold farmers and most are for gold selling sites.[source needed]
Response by Jagex
Free trade removal
Jagex has responded to the use of macros by banning thousands of accounts, wiping stats, and deleting items. The most prominent response by Jagex was the removal of free trade and other changes that occurred on 10 December 2007. While the changes were highly controversial, they did succeed in greatly decreasing the prevalence of bots in RuneScape. These changes did not, however, eradicate botting altogether, and Jagex continues to enhance its ability to ban bot accounts and disrupt bot activities to this day. These improvements in macro and real world trading detection lead to the return of free trade on 1 February 2011. Jagex has further clarified its action against those who use bots in other posts on the forums. Bots continued to be a problem in game however, prompting a post by Mod Paul on the RuneScape forums in an attempt to address the concerns that some players have had about the high number of bots and Jagex's attempts to combat them.
On 25 October 2011, an update code-named ClusterFlutterer, also known as "Bot Nuking Day" or simply "Nuke Day", was implemented aimed at preventing reflection and injection bots from functioning. This aimed to prevent bots from functioning by directly reading the game's java code. Jagex believes that this consisted of 98% of all bots seen in the game. Also, upon revealing ClusterFlutterer, Jagex stated that over 1.5 million bots had been recently banned.
Botwatch and Botany Bay
September 2012 saw the addition of Botwatch, a set of aggressive bot-detection software intended to more accurately find macros and automatically ban them. Botany Bay was released shortly after, offering a means for players to participate in bot "judgement".