OpenOSRS is a desktop client for Old School RuneScape that runs on Java and centers on plugins loaded from external repositories. It offers queries for NPCs, players, objects and ground items, along with inventory, equipment, event, overlay, widget and dialogue services. Movement and world state helpers cover paths, tiles, camera state, scenes and maps. A profiles sidebar manages Jagex accounts and characters.
The client is distributed with a companion launcher that verifies downloads and caches files across separate update channels. Builds are produced with Gradle from source, and versioned Javadocs and source JARs accompany releases. A separate repository contains three example plugins for game events, NPC overlays and inventory changes, which show how the API is used in practice.
Development is handled by the OOSRS organization through public issues and pull requests. The published baseline is revision 240, and release notes describe compatibility limits and supported revisions. The open-source client and API are covered by repository license files, while the separately downloaded game dependency has its own terms.
| Finds NPCs, players, objects and items via filters | Build targeting and tracking plugin logic |
| Reads inventory slots, item counts and equipped gear | Implement banking and resource management routines |
| Subscribes to game events and draws screen overlays | Render timers, highlights and contextual labels |
| Detects open widgets, dialogue text and menu actions | Automate interface navigation and state detection |
| Reports player position, tiles, camera and scene data | Support pathfinding and minimap rendering |
| Provides helpers for skills, combat, prayer and banking | Simplify common gameplay automation tasks |
| Installs third-party plugin JARs from GitHub manifests | Extend client without modifying core code |
| Stores multiple accounts and switches at login screen | Reduce manual credential entry steps |
| Checks and verifies launcher and client updates | Keep cached files intact after failed downloads |
| Compiles client from source using pinned Gradle dependency | Reproduce builds without private maintainer tools |