MCPcopy Index your code
hub / github.com/MaxBittker/runebench

github.com/MaxBittker/runebench @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
395 symbols 863 edges 65 files 27 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

runescape-bench

View results website

Benchmark suite for evaluating AI coding agents on RuneScape gameplay tasks via rs-sdk.

<img src="https://github.com/MaxBittker/runebench/raw/main/views/hero.png" alt="Average XP per Skill over 30 minutes across models" width="800">

Agents play the game by writing and executing TypeScript snippets against an emulated game server running at 8x speed. Each agent also gets a folder of markdown files extracted from the game wiki for strategy reference. Agents are scored on their peak XP rate — the best XP/min measured in any 15-second window.

Built for Harbor, an open-source framework for running agent benchmarks. Built on rs-sdk and the LostCity engine/client.

Tasks

16 Skill XP tasks (15 min) — Train a single skill, scored on peak XP rate

16 Skill XP tasks (30 min) — Extended versions with time-series tracking

8 Gold accumulation tasks (4 starting conditions × 15 min / 30 min) — Maximize total coins using any strategy

All task directories are generated from generate-tasks.ts and should not be edited directly.

Tested Models

Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5, Gemini 3 Pro, Gemini 3.1 Pro, Gemini 3 Flash, Codex CLI 5.2, Codex CLI 5.3, GPT-5.4, GLM 5, Kimi K2.5, Qwen3 Coder Next, Qwen3.5 35B

Quick Start

bun install
bun generate-tasks.ts
harbor run

Architecture

Each task runs inside a Docker container based on a pre-built image that bundles the rs-sdk game server at 8x speed. The agent connects via an MCP server that exposes game interaction tools. A verifier script checks the final game state to produce a score.

Agent (Claude, Gemini, Codex, etc.)
  │
  ├── MCP Server (TypeScript SDK)
  │     └── Game Server (8x speed, headless)
  │
  └── Verifier (checks peak XP rate / gold)

License

MIT

Extension points exported contracts — how you extend this code

SkillDef (Interface)
(no doc)
generate-tasks.ts
ItemConfig (Interface)
(no doc)
wiki/generate-items.ts
StockItem (Interface)
(no doc)
wiki/generate-shops.ts
NpcConfig (Interface)
(no doc)
wiki/generate-npcs.ts
Quant (Interface)
(no doc)
scripts/extract-pairwise-v2.ts
VideoEntry (Interface)
(no doc)
scripts/upload-videos.ts
Totals (Interface)
(no doc)
scripts/backfill-opencode-tokens.ts
Trial (Interface)
(no doc)
scripts/analyze-opus-k4.ts

Core symbols most depended-on inside this repo

mk
called by 37
app/components/scatter-labels.js
p
called by 26
scripts/ngram-fable-vs-opus.py
push
called by 24
scripts/extract-sdk-audit.ts
truncate
called by 18
scripts/extract-sdk-audit.ts
navigate
called by 10
app/router.js
fmtNum
called by 10
scripts/analyze-opus-k4.ts
g2
called by 10
shared/check_gold.ts
per1k
called by 8
scripts/ngram-fable-vs-opus.py

Shape

Function 304
Interface 46
Method 31
Class 14

Languages

TypeScript84%
Python16%

Modules by API surface

wiki/generate-npcs.ts31 symbols
wiki/generate-items.ts23 symbols
app/components/TrajectoryModal.js22 symbols
wiki/generate-shops.ts18 symbols
shared/extract-utils.ts18 symbols
scripts/analyze-opus-k4.ts18 symbols
extractors/extract-skill-results.ts15 symbols
shared/skill_tracker.ts13 symbols
scripts/extract-sdk-audit.ts13 symbols
scripts/upload-videos.ts12 symbols
scripts/ngram-analysis.py12 symbols
views/cumulative-chart.js11 symbols

For agents

$ claude mcp add runebench \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact