Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.
Kell edited this page Dec 13, 2022 · 17 revisions

What is OSRS Bot COLOR?

OSRS Bot COLOR (OSBC) is a desktop application that allows you to organize, control, and monitor color bots for Old School Runescape and private server variants. Additionally, it is designed in such a way that allows for the development of new bots with intuitive syntax using our custom libraries.

What is the end goal for OSBC?

The goal for this project is to create a botting framework that is easy to use, easy to develop for, and easy to maintain. In the first official release of the project, the application will be a standalone executable. Bots will not need to be hardcoded into the project files - they will be able to be imported through the interface. An API will be exposed to allow developers to create bots and export them plugins for the OSBC program. It will be cross platform (at least Windows and Linux), and will likely have an improved user interface. At this stage, it will likely remain primarily suited for main account botting (I.e. single instance), but that may change in the future.

What is a color bot?

A color bot is one of the simplest ways to implement automation in Old School RuneScape. They've been around since RuneScape's debut and are still popular today. They typically function based on static pixel coordinates and their color values. Changes in pixel colors can prompt the bot to perform certain actions.

For more, see the OSRS Wiki.

Pros:

  • They're easy to create. Even novice programmers will find that the creation of color-based scripts is intuitive.
  • They're good programming practice.
  • They can be hard to detect when coded well. Color bots do not interact with the RuneScape/RuneLite client's code, so they cannot be affected by counter-injection methods.
  • They can be used with private servers that mirror the OSRS client.

Cons:

  • Color bots are prone to strange behaviour. Without careful design, they can lose their way and look very suspicious to nearby players.
  • They do not have access to the game's code (or RuneLite's API), meaning they don't have access to the most accurate details of the game's state (E.g., exact location of NPCs, nearby players, items matching IDs, etc.). This makes extracting game information challenging.

How OSBC compensates for drawbacks

Luckily, OSRS-Bot-COLOR was designed with the cons of color bots in mind. OSBC uses computer vision to compensate for the lack of access to game information (E.g., image searching, optical character recognition, color isolation, etc.). This means that even though we can't access RuneLite data directly, we can still make use of various plugins by scanning the game client for certain visuals, as we would with our eyes.

Color Isolation

For instance, for a combat bot, we can use NPC Indicators to tag the NPCs we'd like to attack with the blue outline -- then, our bot can identify each enclosed blue outline and decide which one to click.

cowscows_isolated

Optical Character Recognition

OSBC has a custom OCR utility that operates extremely quickly on the official RuneScape fontset. This is useful for all OSRS-based games. For example, you can quickly determine if your mouse is hovering over what you want to click.

mouseover

You can also take advantage of visual RuneLite plugins to extract game state information. The top-left of the game-view is home to plugins that monitor current activity (E.g., Opponent Information, resource harvesting plugins, etc.). You can use OCR to extract this information and use it to make decisions.

current_actioncurrent_action_isolated

It's also useful for checking your HP or prayer points.

pre_extract_textextract_text

Image Searching

OSBC has a custom image searching utility that can be used to find images on the screen. This is useful for all OSRS-based games. This is especially useful for locating UI elements, such as bank buttons, or item sprites in your inventory.

img_search

RuneLite API Integration

Some RuneLite based games host plugins that expose game data via a local API endpoint. These plugins are legal and easily found on the Plugin Hub. OSBC can use this API to extract accurate game state information one way. You can leverage this data to provide a more robust botting experience without the risks associated with modifying the game client's code. See the API utility folder for more.