Native OSRS host
Dravix discovers and launches the official Windows client, then hosts its authenticated render window inside a standalone desktop shell.
PROJECT // 001 NATIVE CLIENT
DravixBot is a native OSRS client and automation framework, built through careful reverse engineering and human-first input.

CORE // PRINCIPLES
Capabilities verified against the current OSRS 239-1 implementation.
Dravix discovers and launches the official Windows client, then hosts its authenticated render window inside a standalone desktop shell.
One trusted automation script runs at a time on a dedicated worker, consuming immutable snapshots and game-tick callbacks.
A version-specific binding translates native structures into typed snapshots for client state, player position, scene objects, and inventory.
Cubic curves, minimum-jerk easing, Fitts-style timing, tapered noise, optional overshoot, and varied click holds shape every path.
Native support activates only for the known OSRS 239-1 executable hash and a stable, authenticated render-process identity.
Capture uses bounded ReadProcessMemory calls. The native backend performs no process-memory writes and injects no code.
For supported object actions and inventory Drop, Dravix revalidates live identity and menu state — no packets or direct menu calls.
Unsupported builds, incomplete captures, stale references, invalid game states, and changed targets are rejected before a click is sent.
THE DRAVIX DIFFERENCE // NATIVE FIRST
Dravix is not a RuneLite fork and does not depend on injected hooks.
Dravix observes the owned client process through bounded external reads. No code injection and no process-memory writes keep the mapping layer outside the game process.
Every stable capture becomes an immutable, sequence-scoped snapshot. Scripts reason over copied, typed state instead of mutable backend memory or a half-updated scene.
Native bindings are gated to an exact executable hash and checked against process identity and runtime invariants. Unknown or inconsistent builds do not silently continue.
Supported actions use authenticated client-local input with live target and menu revalidation—without packet manipulation or direct menu invocation.
Native does not mean pretending updates cannot break mappings. It means following the official client’s direction with explicit, replaceable build bindings. When the executable changes, Dravix rejects the unknown build until its hooks are validated again—safer than carrying stale assumptions forward.
REVERSE ENGINEERING // STATUS
Dravix separates live native mappings from API contracts that are ready for future bindings. Every status below reflects what the current OSRS 239-1 backend actually publishes today.
WHY IT MATTERSThe game tick is the heartbeat of tick-driven scripts and plugins, giving delays and decisions a game-time boundary instead of a wall-clock guess.
HOW IT'S MAPPEDThe hash-gated binding reads the native tick counter and only publishes a capture after tick, cycle, and state stability checks.
WHY IT MATTERSState prevents interactions while the client is at login, loading, disconnected, or otherwise outside a valid in-game capture.
HOW IT'S MAPPEDKnown native state values are normalized into login, loading, and logged-in states; unknown values remain explicitly unknown.
WHY IT MATTERSStructured scene objects let scripts query identifiers, names, actions, world positions, orientations, and distances without image recognition.
HOW IT'S MAPPEDThe OSRS 239-1 binding walks current-plane scene tiles and object layers, then resolves names and actions from the local Jagex cache.
WHY IT MATTERSThe model and scripting API already define NPC snapshots, queries, nearest-target selection, and exact-action requests.
CURRENT STATEThe live OSRS 239-1 binding currently publishes an empty NPC list and does not advertise the NPC capability. Native capture is still to be mapped.
WHY IT MATTERSA complete 28-slot snapshot supports item queries, free-slot checks, stable references, and an exact Drop path whose logged-in live acceptance is pending.
HOW IT'S MAPPEDThe native item-container table supplies slot IDs and quantities; item names and actions are resolved from the local Jagex cache.
WHY IT MATTERSBank snapshot, query, deposit, and withdrawal contracts are already defined across the model, runtime, and scripting layers.
CURRENT STATEThe Windows native backend does not yet supply a bank snapshot or banking backend, so bank observation and actions are not live.
NEXT PHASE // IN PROGRESS
DravixBot is actively being built. More systems, scripting primitives, and client tooling are on the way.