Macro

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 trading worlds and cities, where a trade offer quickly disappears in the volume of other Public chat 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 as macroing Honour. If advertising a website, they can be reported as advertising / website. 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 or rapidly cleaning herbs.
 * 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 to other players.
 * 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.

Internal workings
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
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.

Injection Botting
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 called "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
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 play other games while using the bot) and to disable direct system access (say: faking runtime information) to mislead Jagex's servers.

OpenGL/Directx Bots
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 custiom-engineered game client. These bots can basically read the 3D models from the graphics card to determine what's onscreen.

Packet Bots
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 took a swipe at the packet bots by encrypting and changing communications, resulting in one of the first massive bans. Cheating was pronounced dead, for the first time.

Gaming engine
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. The high risk of being banned is enough to deter most players from using third-party botting software.

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 "IlllIlIllIlI ", or just random letters. A typical name would be fgtdfdthb. 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.
 * 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).
 * 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 adamant full helm, rune chainbody, rune platelegs, 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.
 * Dropping ore, and even gems (without cutting them), when training mining (This is NOT a reliable method of identifying bots as many players utilize 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).

Stopping macros
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 rare drops from the Dagannoth Kings. 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.

Macros making money are known as gold farmers and most are for gold selling sites.

ClusterFlutterer
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
September 2012 saw the addition of "Botwatch", a set of aggressive bot-detection software intended to more accurately find macros and automatically ban them.