# runelite/runelite

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/runelite-runelite).**

5,391 stars · 5,733 forks · Java · BSD-2-Clause

## Links

- GitHub: https://github.com/runelite/runelite
- Homepage: https://runelite.net
- awesome-repositories: https://awesome-repositories.com/repository/runelite-runelite.md

## Description

RuneLite is an open-source game client for OldSchool RuneScape. It serves as a community-driven alternative to the official software, functioning as a modified client that allows for deep customization and feature extension.

The project provides a programmable game plugin system that enables the development and injection of custom tools directly into the running game environment. This framework allows for the creation of interface enhancements and the integration of custom logic to modify client behavior.

The system also includes a game cache data manager for reading and manipulating local assets and library files stored on disk. These capabilities support overall game client customization and the improvement of visual layouts and information displays.

## Tags

### Software Engineering & Architecture

- [Plugin-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility.md) — Provides a modular architectural pattern for injecting custom logic and event listeners into the game loop via plugins.
- [Event Bus Systems](https://awesome-repositories.com/f/software-engineering-architecture/event-bus-systems.md) — Uses an internal event bus system to distribute game state changes to registered plugins for asynchronous updates.
- [Plugin Extenders](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/developer-authoring-interfaces/custom-module-implementations/module-functionality-extenders/plugin-extenders.md) — Allows loading custom external libraries at runtime to augment core game functionality and interface behavior. ([source](https://github.com/runelite/runelite#readme))
- [Runtime Method Hooking](https://awesome-repositories.com/f/software-engineering-architecture/runtime-method-hooking.md) — Implements client-side hooking to intercept internal game methods for real-time data extraction and behavior modification.
- [Local Asset Indexing](https://awesome-repositories.com/f/software-engineering-architecture/local-first-architectures/local-asset-indexing.md) — Maps game assets to local storage using a structured index system to avoid redundant network requests.

### Game Development

- [Game Client Modifications](https://awesome-repositories.com/f/game-development/game-client-modifications.md) — Enables the creation and installation of custom plugins to add new features and automation to the game.
- [Game Interaction Plugins](https://awesome-repositories.com/f/game-development/game-interaction-plugins.md) — Ships a programmable framework for developing and injecting Java-based tools and features directly into the game environment.
- [Modified Game Clients](https://awesome-repositories.com/f/game-development/modified-game-clients.md) — Runs a modified game client to improve the user interface and provide access to helpful gameplay tools.
- [Open Source Game Platforms](https://awesome-repositories.com/f/game-development/open-source-game-platforms.md) — Provides an open-source alternative to the official game software, allowing for deep customization and extension.
- [Game Streaming Clients](https://awesome-repositories.com/f/game-development/open-source-game-platforms/game-streaming-clients.md) — Functions as a community-driven alternative game client that integrates custom plugins and interface enhancements.
- [Game Asset Management](https://awesome-repositories.com/f/game-development/game-asset-management.md) — Provides systems for managing internal engine resources and game assets by modifying local cache files.
- [Cache File Manipulators](https://awesome-repositories.com/f/game-development/game-asset-management/cache-file-manipulators.md) — Provides a system for reading and manipulating local game assets and library files stored on disk.

### Programming Languages & Runtimes

- [Runtime Process Wrappers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-process-wrappers.md) — Wraps the game executable in a custom Java environment to allow direct manipulation of the runtime memory.

### User Interface & Experience

- [Game Information Interfaces](https://awesome-repositories.com/f/user-interface-experience/game-information-interfaces.md) — Implements UI systems for displaying real-time game-state information, improving the overall user experience.

### Part of an Awesome List

- [Game Cache Managers](https://awesome-repositories.com/f/awesome-lists/data/data-and-asset-management/game-cache-managers.md) — Handles underlying data assets and library structures by reading and writing local cache files. ([source](https://github.com/runelite/runelite#readme))
- [Game Engine Remakes](https://awesome-repositories.com/f/awesome-lists/devtools/game-engine-remakes.md) — Open-source client for Old School RuneScape.

### DevOps & Infrastructure

- [UI Component Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-driven-initialization/ui-component-configurations.md) — Provides a system for determining the visibility and appearance of user interface elements based on local profile settings.
