Game data: the rs-sdk wiki, LostHQ and world objects
Every avatar can look up the game the way a player looks things up on a fan site: in plain files it greps. There are three sources, plus a few notes from MindRune. All of them are read-only in every sandbox and the same for every avatar.
| In the workspace | Source | What |
|---|---|---|
wiki/ | rs-sdk's wiki, generated by rs-sdk from the engine's own content | items, NPCs, quests, shops and skills, with locations and spawn areas |
losthq/ | a snapshot of LostHQ, the 2004 archive site | exact item and NPC data, full drop tables with rates, shop stock and prices, item spawn coordinates, and LostHQ's quest, skill, clue, guild and minigame guides |
world/ | generated by MindRune from rs-sdk's map files and object configs | every interactive object in the world (doors, gates, stairs, ladders, railings, chests, crates, rocks, trees, quest objects) with its options, loc ids and coordinates, below |
notes/ | written by MindRune | a few short pages: travel and traps, what to do when stuck, waiting on other avatars, and rs-sdk's helpers (below) |
The LostHQ snapshot
LostHQ gave the MindRune owner permission to scrape the site. The 2004 game is an archive and doesn't change, so the snapshot was taken once and is kept in the repository. It is not refreshed on a schedule.
- Taken: the site's own data files (items, NPCs with their drops, the shared drop tables, shops, clue rewards) and the guide pages (quests, skills, clues, guilds, minigames, other guides). Only static game data.
- Not taken: hiscores, markets, the world map, calculators and images.
- The raw files are kept unchanged (pretty-printed) with a
SOURCE.mdthat lists every URL, the fetch date and the permission. The fetch was polite: one request at a time, a pause between requests, an identifying User-Agent.
MindRune turns the raw files into small markdown pages, about 2,700:
| Path | Pages | One page per |
|---|---|---|
losthq/items/<slug>.md | ~1,600 | item name: id, examine text, value, alchemy prices, weight, members, tradeable, actions, equipment bonuses, spawn coordinates; who drops it and at what rate, which shops sell it, which clue tier gives it, which guides mention it |
losthq/npcs/<slug>.md | ~820 | NPC name: combat level and stats, options, aggression, the drop table with rates (shared tables such as the herb table resolved to one rate per item) |
losthq/shops/<slug>.md | 112 | shop: owner, stock, buy and sell prices |
losthq/tables/, losthq/clues/ | 10 | the shared drop tables and the clue scroll rewards |
losthq/guides/<kind>/<slug>.md | ~110 | guide, converted to plain text (item pictures become item names, floors also get the game's level number) |
losthq/INDEX.md explains the layout. Pages put one fact per line (value: 4 gp, combat level: 2), so a grep answers most questions without reading a page.
Slugs and topic tags
A LostHQ page uses the same slug as the rs-sdk wiki page of the same name (losthq/items/nature-talisman.md and wiki/items/nature-talisman.md), and links to it. The topic tags use those slugs too, so item:nature-talisman means the same thing in a skill, a shared lesson, the wiki and LostHQ. Items, NPCs and quests that only LostHQ has (a few dozen, for example the quests the wiki lacks) are tags as well. A LostHQ name never takes over a name the wiki already uses.
How avatars use it
The agent's instructions get one line: item, NPC, drop and shop data from LostHQ is in losthq/ (grep it like wiki/). Nothing is added to each turn. The agent greps when it needs to know where to buy a pickaxe, what drops big bones or what a quest needs:
grep -l "Big bones" losthq/npcs/*.md
grep -h "^combat level" losthq/npcs/goblin.mdlosthq/ is mounted read-only like wiki/: the agent can read, grep and copy, never change it. A sandbox test checks that.
World objects
rs-sdk's wiki has pages for NPCs, items and shops, but none for the objects in the world: the doors, stairs, ladders, railings and rocks an avatar clicks. Without them an avatar walked to an area and scanned for a "Loose Railing" or a staircase. MindRune generates those pages in the wiki's style from the same server content rs-sdk's wiki generator reads (the map files' object placements, the object configs and their ids), and mounts them read-only at world/:
| Path | Files | What |
|---|---|---|
world/objects/<slug>.md | ~450 | one per object type with at least one option: name, description, options, loc ids, internal config names, the area or quest it belongs to, and a location table (area, map square, coordinates and level). Doors, gates, stairs, ladders, railings, chests, crates, quest objects and anything to climb, enter, squeeze through, search or open get every coordinate; trees, ore rocks and other gathering spots are counted per map square with sample coordinates. |
world/areas/m<X>_<Z>.md | ~390 | one per map square (64 × 64 tiles): every interactive object there by level, with coordinates |
world/INDEX.md, world/names.txt | 2 | how to use it, the objects grouped by action, the limits; every object name with its page, options and ids, for grep |
Stairs and ladders. rs-sdk's walkTo and pathfinder stay on the floor the avatar is on (and walkTo compares x and z only), so changing floors is up to the agent. Every staircase and ladder on the pages says where each of its options leads, read from the game's own scripts (the handler of that option, the case for that object's coordinate or rotation, and the destination it sets):
- level 2 at (2959, 3339): an exact landing;
- level 1, on the tile you climb from (or 4 north of …): most ladders and some stairs move you relative to where you stand;
- does nothing in this world: the script has no destination for it;
- unresolved: the script decides at run time (quest state, a dialogue, a computed place); never guessed.
From an exact landing, the page also lists the stairs and ladders an avatar can walk to from there, within 40 tiles, worked out with rs-sdk's own pathfinder and collision map. Dead end means the only one is the way back, as with the White Knights' Castle's main staircase, whose landing is a sealed walkway. rs-sdk's map counts doors as open, so a locked door can still stop an avatar. Of about 1,200 climb options, about 1,090 resolve (375 exact landings, 712 relative to the player's tile), 15 do nothing in this world and 119 are unresolved.
Ore rocks are all called "Rocks" in the game. Their pages are named by ore (world/objects/rocks-mithril.md) and list the loc ids, so an avatar can tell a mithril rock from an iron one by the id rs-sdk's findNearbyLoc returns; they also list the empty rock's ids. Other shared names ("Door", "Staircase") keep one page that lists every variant and its id.
The agent's instructions get one line: where the pages are, grep/cat examples, look there before walking to search or scanning a wide radius, ore rocks by loc id, that walkTo stays on its floor and the area pages say where stairs and ladders lead, and the limits:
- only objects the map files place: objects a script spawns at runtime are missing;
- doors and gates are shown in their starting state;
- the names are the game's own, and the map square names come from rs-sdk's NPC wiki.
The pages are rebuilt from rs-sdk with every rs-sdk update (Operations), in place, so running avatars see the new pages at once. Like wiki/ and losthq/, world/ is read-only; a sandbox test checks that.
MindRune notes
The avatars' own transcripts showed where they lost the most time: trapped in places they couldn't walk out of, waiting on other avatars, and boats. Almost every avatar had written the same boat lesson in its own lab log. MindRune keeps a few short pages in notes/, read only when they are needed:
| Page | What |
|---|---|
travel-and-traps.md | Boats: whom to talk to, the Customs officer's answers, and that you arrive on the deck and leave by crossing the gangplank. Places that trap you, and the way out of each: Draynor Manor, the Wizards' Tower, Brimhaven Dungeon, Black Knights' Fortress and the Waterfall Quest raft. Fast travel: each teleport spell with its Magic level, runes and landing spot, how to cast it, where to buy law runes and what a trip costs, plus the jewellery teleports, spirit trees, gnome gliders and the Shilo Village cart and ship. The instructions remind avatars of it before a long trip; whether to teleport is their choice. |
stuck.md | What to do when a walk, door or exit fails twice: look it up; check with rs-sdk's pathfinder whether the place is reachable; open the exact door; otherwise play what is reachable. |
siblings.md | When talking to another avatar pays off (tell it what you finished, offer what it needs, ask before buying, answer in one line), then waiting on one: check food first, ask once, keep playing, and take your own route after about ten minutes. |
heroes-quest.md | Heroes' Quest needs a player from each gang. Which gang does what, the exact dialog options, the key, lure and candlestick handoffs, and how avatars who already finished can still help. |
rs-sdk-tools.md | rs-sdk helpers for the loops avatars wrote by hand: dialogs, waits, searches, chat and mining. It also says that prayer and Grand Exchange price history exist, and points to rs-sdk's notes for each skill. |
- Pointers in the instructions, detail on demand. The instructions name each page once, at the moment it helps: about 670 bytes in all. The pages themselves are read only when needed, so they cost nothing on other turns.
- rs-sdk first. The pages link rs-sdk's own notes (
learnings/walking.md,learnings/draynor-manor.md,learnings/dialogs.md, …) and its API reference instead of copying them. They add only what rs-sdk has no note for. - Checked against the game. Every claim was checked against the game's content scripts, the world and wiki pages and rs-sdk's pathfinder. A test re-checks them after every rs-sdk update: the methods the notes name, the files they link, the boat tiles, the Customs officer's answers, and Heroes' Quest's dialog options, places and quest stages.
- Guidance, not control. The avatar decides when it is stuck, how long to wait and which route to take. Nothing in MindRune counts turns or stops it.
- Read-only. Like
world/andlosthq/,notes/is read-only; a sandbox test checks that. What an avatar learns itself still goes into its own lab log, and to its family throughfamily-skills/.
