Techniques that made the run

Nine of them cut a cost in half or more

The game let us

Five dialogue clicks in one tick

Quests are told in pages of dialogue, and a player reads each page before clicking on, one page a tick. Where a page offered no choice, the run clicked blind, five times in one tick, the most the server accepts. Across every quest the plan priced that at 878 ticks. The server takes five actions a tick from any player, and the swarm’s coordinator ruled the blind clicks fair.

Used in Doric’s Quest, the Grand Tree quests, the Dwarf Cannon quest, Monkey Madness and the other quests on the route.

Ticks for one 10-page conversation
Read, then click10Five blind clicks a tick2

Lab, five runs, each exactly 2 ticks.

Father Aereck’s welcome conversation, twice. First the bot reads it page by page, one tick a page; then it sends up to five continues in one tick without waiting to read the pages between, and the same 16 pages close in 7 ticks instead of 16. The swarm’s own script, re-run in the lab on a local server.26 Oct 2026, 6:11:52–6:12:05 PM · Dialogue, rehearsed on a conversation any account can repeat · Lab film, rs-sdk 4f62822
sources
  • rs-sdk fork, docs/speedrun/quests/CONVENTIONS.md lines 54-85 (three dialogue columns; Carla’s 10 pages in 2 ticks, 5 of 5)
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md lines 100-109 (11,689 fixed against 10,811 burst, inferred)
  • issue rs/51 (blind continues, main’s ruling)
  • issue rs/200 (converse burst mode)
  • issue rs/287 (demo validation: 16 pages in 8.13 ticks, 0 failed bursts in 24)
  • issue rs/507 (the cap measured at five on the demo)

Wine that ferments without a Cooking check

Brewing wine needs Cooking level 35, and the experience arrives when a timer ferments the wine. The run banked stacks of unfermented wine that a helper had brewed and let the timer ferment them all at once. In the last attempt the first firing took Cooking to 60, and the second, one relog later and about 15 seconds after it, to 99. The fermenting timer is a game script with no level check, so it pays out at any level.

Used in the Cooking step near the end of the run.

Ticks to train Cooking from 1 to 99
Cooking kebabs131Fermenting banked wine45–51

Lab, three wine runs, all to 99. Kebabs from measured cooking times.

Cooking 60 from the first firing of the banked wine, a relog through the title screen, and Cooking 99 a few seconds after the account is back; the login form is cut out.25 Oct 2026, 1:26:01–1:26:16 PM · The wine step, Cooking 60 to 99 · The run host’s screen recording
sources
  • rs-sdk fork, docs/speedrun/skills/cooking.md lines 33-49 (45-51 active ticks, three runs; kebabs 131; the 450-wine model)
  • rs-sdk fork, docs/speedrun/research/wine-window.md section 1
  • issue rs/47 (the wine route, merged)
  • issue rs/61 (engine exploit sweep)
  • issue rs/468 (re-read on the demo engine)
  • issue rs/339 (the Cooking step module)
  • rs tenet 6
  • the run host’s screen recording of attempt 5, 25 Oct 1:25:43–1:26:17 PM, cropped to the game canvas (Cooking 60 after the first relog, 99 after the second)
  • the run host’s screen recording of attempt 5, 25 Oct 1:26:01–1:26:16 PM, cropped to the game canvas, the login form cut out (the clip)

Working through the Thieving stun

Pickpocketing a knight sometimes fails, and a failure stuns the thief for 11 ticks in which they cannot steal. In the run each stocked stun cast Superheat Item on ore twice, then Charge, then fletched arrows, while a courier beside the knights traded in the first load of runes and ore but never managed a top-up, so Superheat ran out of ore at Smithing 41; Magic and Fletching both reached 99 inside the Thieving step. The lab measured the first form, three bone burials with Charge and arrows in every stun: Thieving took no longer, and 470 to 510 ticks of other work moved inside it. The stun blocks stealing, not burying, casting or fletching.

Used in Thieving, from level 57 to 99.

In the last attempt the courier never topped up the food, and Thieving stopped for nine hours.

Ticks to train Thieving from 57 to 99
Stuns left idle1,986Stuns filled1,908–2,098

Lab, one idle run and three filled runs.

Just after the courier’s trade lands, the knights stun the account between pickpockets, and it spends each stun casting Superheat on the ore and Charge: Magic 82 to 84, Smithing 4 to 7.25 Oct 2026, 2:18:44–2:18:59 AM · Thieving at the knights, with the stun pack · The run host’s screen recording
sources
  • rs-sdk fork, docs/speedrun/research/stun-pack.md section 1, lines 23-37 (1,908, 2,098 and 1,997 against 1,986; 470-510 replaced, inferred)
  • issue rs/106 (the lab question)
  • issue rs/317 (the six-event stun window on the browser client)
  • issue rs/324
  • issue rs/335
  • the attempts timeline, attempt 5, 25 Oct 2:33 AM (Thieving stop) and the 9 h 08 min hold
  • rs-sdk fork, speedrun/runner/chain.ts line 1190 at the run commit 10215624 (S18: the stun pack with Superheat, 2 casts a stun, and Charge unlocked)
  • rs-sdk fork, speedrun/skills/thieving.ts lines 45-90 at 10215624 (the pack, and its Superheat form in place of the burials)
  • host's messages, 25 Oct 2:36 AM (the courier's asks: copper, tin, iron, sharks and arrow tips; Magic 99 and Fletching 99 at the stop)
  • attempt 5’s step log, from the swarm’s post-run export, attempt 5's fourth runner launch: one hand-off at the knights' anchor before the Thieving band, no top-up interval in its 2,223 ticks, and Smithing 41 at its last Superheat level-up
  • the run host’s screen recording of attempt 5, 25 Oct 2:18:44–2:20:06 AM, cropped to the game canvas (the courier's trade, stuns, Charge, Smithing levels from Superheat, Magic 99)
  • the run host’s screen recording of attempt 5, 25 Oct 2:18:44–2:18:59 AM, cropped to the game canvas (the clip: Magic 82 to 84, Smithing 4 to 7)

Charge, recast with no cooldown

Charge is a Magic spell unlocked by the Mage Arena quest, and a spell normally makes its caster wait before the next cast. Charge has no wait, so it can be cast again at once: in the lab, Magic went from 80 to 99 in 156 to 163 casts over 32 to 33 ticks. In the run, Charge went inside the Thieving stun pack, one or two casts a stun, and Magic reached 99 about 85 seconds into the Thieving step. Each cast is a legal click, and the spell’s script checks no timer.

Used in the Thieving stun pack.

Charge cast one or two at a time between the knights’ stuns, each cast a “You feel charged with magic power” line, while Magic climbs from 85 to 90.25 Oct 2026, 2:19:01–2:19:15 AM · Thieving at the knights, with the stun pack · The run host’s screen recording
sources
  • rs-sdk fork, docs/speedrun/skills/magic.md lines 45-49 (156-163 casts in 32-33 ticks, measured in the lab)
  • rs-sdk fork, speedrun/runner/chain.ts line 1190 at the run commit 10215624 (Charge unlocked inside the S18 stun pack)
  • the run host’s screen recording of attempt 5, 25 Oct 2:18:41–2:20:06 AM, cropped to the game canvas (Charge lines between stuns; Magic 85, 89, then 99)
  • issue rs/20 (Mage Arena and Charge)
  • issue rs/32 (the Magic 80-99 route)
  • issue rs/466 (demo probe: five sent, four landed in one tick; read as relay straddling)
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md line 111
  • main's thread, correction, 26 Oct 2:08 PM (publish the rate, not a per-tick count)
  • the run host’s screen recording of attempt 5, 25 Oct 2:19:01–2:19:16 AM, cropped to the game canvas (the clip: Magic 85 to 90)

Logged-out time is free

Most races are timed by a clock on the wall. This hiscore times an account by the in-game tick of its last level-up, and only logged-in ticks count. The run logged out between steps, so waits of up to nine hours for helpers and fixes cost nothing. It is the hiscore’s own rule.

Used in every planned logout and hand-off.

sources
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md lines 5-7 (the hiscore rule)
  • rs tenet 1
  • the attempts timeline, attempt 5 (holds of 9 h 08 min, 5 h 50 min and 6 h 46 min)

Quests picked for what they unlock

Quests are optional stories, taken in any order. The route took Mage Arena for the Charge spell and Dwarf Cannon for the cannon, ordered the rest by what they unlock and how far apart they are, and moved Agility from 75 to 99 to the very end. Quest order is the player’s choice.

Used in Doric’s Quest, the Grand Tree quests, the Dwarf Cannon quest, Monkey Madness and the Agility finish.

sources
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md lines 18-21
  • issue rs/3
  • issue rs/20
  • issue rs/111 (RUN-ORDER version 2)

A cannon carried by a helper

The Dwarf Cannon fires at monsters on its own and pays its owner Ranged experience, but the set and its cannonballs fill a pack. A helper held the set and the balls, the run’s account set the cannon up and picked it up again, and the cannon did the Ranged training. The cannon is ordinary game content, unlocked by the Dwarf Cannon quest.

Used in the Dwarf Cannon quest, the cannon step and the last cannon session.

Both of the rehearsal account’s deaths, and the last attempt’s only death, came at the cannon step.

Under the spiders in the Wilderness. The account is poisoned as it arrives, drinks its antipoison, sets the cannon down piece by piece and loads it with 30 cannonballs; the first Ranged level follows within seconds.26 Oct 2026, 3:28:39–3:28:53 AM · The cannon step, the run’s last combat · The run host’s screen recording
sources
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md, the cannon step row (104 to 128 ticks, n = 4, lab; no alternative measured)
  • issue rs/125 (the cannon helper)
  • issue rs/199 (the Ranged module)
  • issue rs/257 (the quest module)
  • issue rs/20
  • the attempts timeline, rehearsal 23 Oct 9:38 PM and 23 Oct 11:28 PM; attempt 5, 25 Oct 8:40 PM
  • the run host’s screen recording of attempt 5, 26 Oct 3:28:39–3:28:53 AM, cropped to the game canvas (the clip)

The client let us

Answering the level-up page at once

Each new level opens a congratulations page, and the player is busy until it closes. A bot that waits to see the new level loses a full cycle of work. The run answered the page in the tick it appeared, alongside the next action, so the work loop never paused. Closing the page is an ordinary click that arrives early.

Used in every skill loop on the route.

In the last attempt a Strength level-up page left open after the Dragon Slayer fight stopped the run until a resume closed it.

Ticks lost to each level-up, cutting oak
Page left open3Page answered at once0

Lab, 18 of 18 level-ups.

Firemaking 80 to 83. The bot answers each level-up page in the tick it opens and lights the next log in that same tick, so the four-tick rhythm holds. The lab server pays inflated experience, so the levels come far faster here than they did in the run.23 Oct 2026, 2:50:03–2:50:16 PM · Firemaking, rehearsed · Lab film, rs-sdk 3546291
sources
  • rs-sdk fork, docs/speedrun/research/levelup-cost.md lines 6-29 (0 when answered on the next label; 3 ticks on knife oak, 18 of 18)
  • issue rs/108
  • issue rs/97 (the next-label answer in the in-page programs)
  • rs-sdk fork, film/samples/firemaking-80 (clip.mp4, meta.json, trace.jsonl: level-ups at server ticks 72, 84 and 96, each answered in the same tick as the next light)
  • the attempts timeline, attempt 5, 25 Oct 1:35 PM

A relog that sees the world on its first tick

The swarm’s bots relogged by reloading the browser tab, and the account stood in the world for about 20 ticks before the bot could act. The rebuilt relog logs in again inside the same page, so the bot sees the world on the new session’s first tick, and the game’s own logout button leaves the world at once where a dropped connection can leave the player standing for hundreds of ticks. In the run’s own order the login turns run on first, so the first click goes out on the third tick: in the lab, the bank booth clicked on tick 3 was open on tick 4. Both are ordinary logins and logouts.

Used in the two logins of the Cooking step, the relog before the body-altar Runecrafting and every helper hand-off.

In the last attempt the game refused a logout in the middle of combat, and the account died in the world.

Tick at which the bot first sees the world after a relog
Reloaded tab20–22Same-page relog1

Three relogs each way; the lab film’s two same-page relogs also saw the world on tick 1.

The bot logs out with the game’s own button and logs back in inside the same page, as the run’s Cooking step relogs: the title screen through a two-second pause, then the account back beside the Varrock bank booths. It sees the world on the new session’s first tick, turns run on, clicks the booth on the third tick, and the bank is open on the fourth; at the end it logs out for the next relog. The swarm’s own code, re-run in the lab on a local server.26 Oct 2026, 6:34:09–6:34:19 PM · A relog, rehearsed · Lab film, rs-sdk 4f62822
sources
  • issue rs/174 (tab relog: first state at client tick 20, 21 and 22; the same-page relog at login plus one, 3 relogs per path)
  • rs-sdk fork, docs/speedrun/HELPERS.md line 86 (clean logout; the 16-tick combat rule)
  • rs-sdk fork, docs/speedrun/research/travel-and-overhead.md row 3
  • issue rs/168
  • issue rs/164
  • the attempts timeline, attempt 5, 25 Oct 8:36 PM
  • the lab film of the Cooking step’s relog, rs-sdk 4f62822f (first state on session tick 1, booth click on tick 3, bank open on tick 4, in 2 of 2 relogs)

Burying bones between woodcutting rolls

Prayer is trained by burying bones, one click each, usually beside a bank, and Prayer 1 to 99 takes 555 dragon bones. The knife reset left a free moment in every woodcutting cycle, and the run buried a bone in it while helpers traded fresh bones at the tree. In the last attempt Prayer reached 99 inside the woodcutting step. A burial is one item click, and five clicks fit in a tick.

Used in the willow woodcutting band and the iron mining band.

Attempt 2 stalled in the willow band when no helper delivered its bones.

Ticks spent per bone buried
At a bank booth2.07Inside the knife loop0.23

Lab, two 600-tick sessions on oak, 357 bones.

Chopping at the Taverley willows with the inventory open. Every third tick the bot buries a bone (“You dig a hole in the ground… You bury the bones.”) and the axe keeps swinging: 11 bones in 13 seconds, the pack going from 19 to 8 while the willow logs keep coming. The swarm’s own woodcutting step, re-run in the lab on a local server.26 Oct 2026, 7:53:51–7:54:04 PM · The willow band, rehearsed · Lab film, rs-sdk 4f62822
sources
  • rs-sdk fork, docs/speedrun/research/bones-placement.md lines 10-19 (0.23 against 2.07 per bone, 2 x 600 ticks, 357 bones)
  • rs-sdk fork, docs/speedrun/skills/interleaving.md section 7
  • issue rs/105
  • issue rs/182 (the mining bury option)
  • the attempts timeline, attempt 2, 23 Oct 12:48 PM
  • main's messages, 25 Oct 12:35 AM (attempt 5: Prayer 99 at chain tick 3622, inside the willow band; 26 bone loads traded)
  • the lab film of the willow band burying in the knife loop, rs-sdk 4f62822f (a bone every 3 ticks, 20 bones in 57 ticks while the chopping went on)

Banking five clicks at a time

The standard bot library deposits one item a tick, so 24 kinds of item take 24 ticks. The swarm’s library sends every bank click at once and the server takes them five a tick; it withdraws a whole stack with the fill button. Five actions a tick is the server’s own limit.

Used in every bank visit, from the starting kit to the bank booths late in the run.

Ticks to deposit 24 kinds of item
One click a tick24Five clicks a tick5

Lab bank measurement.

The same 24 kinds of item deposited twice into an open bank, shown side by side from the first click. Left, the standard bot library: one deposit a tick, and the pack is empty on tick 24. Right, the swarm’s library: the bot hands over all 24 deposits in the first tick, the server works through them five a tick, and the pack is empty on tick 5. The swarm’s own code, re-run in the lab on a local server.26 Oct 2026, 7:58:58–7:59:37 PM · A bank deposit, rehearsed · Lab film, rs-sdk 4f62822
sources
  • rs-sdk fork, speedrun/README.md lines 181-188 (lab/measure-bank.ts: 24 to 5, 28 to 6, 2 to 1)
  • issue rs/40
  • rs tenet 4 (quotes 48 for the stock deposit; unresolved against the README’s 24)
  • the lab film of measure-bank.ts’s two deposits, rs-sdk 4f62822f (24 ticks for the stock deposit and 5 for the swarm’s, in 4 of 4 rounds over two takes)

Trading in one burst

A trade runs through screens of offers, accepts and confirms, and the standard library clicks through them one at a time, then waits two ticks. The helper offers everything and accepts in one burst, and the run’s account accepts the moment the items arrive. Every click is one the trade screen offers.

Used in every helper hand-off.

In the last attempt a hand-off stopped because the account had three free slots and needed four.

Ticks to receive 23 stacks from a helper
Standard library29One burst8

Lab, timed from the receiving account’s first click.

Lumbridge, seconds after the recovery login: two helpers trade the rebuilt kit across. In the first trade the helper’s offer of an amulet, a scimitar and 700 rune arrows lands with the account’s accept, and the items are in the pack a second after the window opens. In the second, 1,500 cannonballs, the potions and the sharks fill the helper’s side in under a second with its accept already showing; three seconds after that window opens the inventory is full.26 Oct 2026, 3:27:15–3:27:27 AM · The recovery’s re-kit · The run host’s screen recording
sources
  • rs-sdk fork, speedrun/README.md lines 196-231 (lab/measure-trade.ts: 7 to 4, 29 to 8)
  • issue rs/22
  • issue rs/40
  • issue rs/267 (openTrade)
  • swarm post 399 (three X offers hung a trade)
  • the attempts timeline, attempt 5, 25 Oct 2:06 AM
  • the run host’s screen recording of attempt 5, 26 Oct 3:27:15–3:27:27 AM, cropped to the game canvas (the clip: two hand-offs at Lumbridge after the recovery login, each offer arriving with an accept)

One tick per dialogue page, not two

The standard bot client spent two ticks on every dialogue page, one to see it and one to click. The swarm’s client publishes the game’s state once a tick, so the click goes out in the tick the page appears. The fix is in the bot’s own client, and the server sees the same click a tick sooner.

Used in every conversation on the route.

Ticks per dialogue page
Standard client2Fixed client1

Lab.

Father Aereck’s welcome conversation read page by page on the fixed client: the bot answers each page in the tick it opens, so the 16 pages take 16 ticks; at the end the next conversation opens. The standard client, at two ticks a page, is no longer in the code, so only this side could be filmed. The swarm’s own script, re-run in the lab on a local server.26 Oct 2026, 6:12:05–6:12:15 PM · Dialogue, rehearsed on a conversation any account can repeat · Lab film, rs-sdk 4f62822
sources
  • rs-sdk fork, docs/speedrun/primitives.md lines 43-46
  • rs-sdk fork, docs/speedrun/quests/CONVENTIONS.md lines 61-69
  • issue rs/22 (publish once per tick)

The knife-on-logs reset

With a rune axe on a willow, the game rolls for a log every 4 ticks. One tick after each roll the bot uses a knife on its logs, picks a fletching option, drops a log and clicks the tree again, all in one tick. The next roll comes 3 ticks after the last, and the menu closes before anything is spent. Opening the fletching menu rewrites the player’s action timer, and the woodcutting script trusts that timer.

Used in the willow woodcutting band and the iron mining band.

Ticks per willow log
Plain cutting5.53With the knife reset4.23

Lab, 131 logs.

sources
  • rs-sdk fork, docs/speedrun/research/tick-manipulation.md lines 39-59 and 160-194 (willow 5.53 to 4.23, 131 gaps; fly fishing 5.56 to 3.80; iron 4.94 to 3.00 at the demo’s respawn)
  • issue rs/9 (the knife starter)
  • issue rs/5 (the mining rotation)
  • issue rs/53 (demo respawn measurements)
  • issue rs/130 and issue rs/151 (demo burst minute: 5.32 against 6.39)

The knife reset on a slow server

The reset works only when the server answers on time, and the live server was sometimes slow. Each woodcutting and mining band ran a small program inside the game page that counted how many of 20 actions landed on time. Below 14.5 it fell back to plain cutting, unless the band was burying bones, which only the knife loop can do. The program sends the same clicks a player could.

Used in the willow woodcutting band and the iron mining band.

Attempt 3 ended in the willow band: on a slow server it fell back to plain cutting, which could not clear the bones it carried.

Expected ticks for the whole run
Knife off37,808Knife on35,069

Inferred from two rows of the run plan.

sources
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md lines 117-120 (headline: 35,069.3 knife on against 37,808.3 knife off, expected)
  • rs-sdk fork, speedrun/lib/gated-program.ts
  • issue rs/97 (in-page programs)
  • issue rs/156 (the gate)
  • issue rs/642 (forced knife for burying bands; the attempt 3 stop)
  • issue rs/643 (break-even 14.5 of 20)
  • issue rs/684 (ragged server: 7.97 against 7.06)
  • the attempts timeline, attempt 3, 23 Oct 4:16 PM

Fitting extra actions into the gathering rhythm

A gathering skill keeps its rhythm only while the player clicks the tree or rock again on the right tick, and using an item normally breaks it. The run sent its extra actions earlier in the same tick as the gathering click, so the click landed last and the rhythm held. The server handles a player’s actions in the order they arrive, up to five a tick.

Used in the willow woodcutting band, the iron mining band, the Thieving stun pack, the Cooking step and the final arrow fletching.

sources
  • rs-sdk fork, docs/speedrun/skills/interleaving.md lines 119-155 (12.71 against 11.14 base xp a tick, called roll noise; 0.213 bones a tick on a plain clock)
  • rs-sdk fork, docs/speedrun/RUN-ORDER.md line 111 (the five-action cap)
  • issue rs/38
  • issue rs/507

The infrastructure let us

A fresh account that skips the tutorial

The swarm’s first account already carried 547 ticks of play, and a new player starts on Tutorial Island. The run used a new account, and on this server the tutorial guide offers to skip the island in one conversation, which took 6 ticks in the lab. The demo server runs without its production setting, and that leaves the skip on.

Used in the run’s first login.

Ticks on the clock before the first skill step
The first account547Fresh account, tutorial skipped6

The first account’s hiscore row, and the skip in the lab.

  1. Tutorial Island’s character design screen, with its Accept button
  2. The RuneScape Guide asks: Do you want to skip the tutorial?
  3. The choice: Yes please, or No, thank you
  4. The account in Lumbridge, the starter kit in its inventory
A new account on Tutorial Island accepts its character design and talks to the RuneScape Guide, who offers to skip the tutorial; it answers “Yes please.” and stands in Lumbridge with the starter kit three ticks after its first click. Four frames, because the whole moment is under three seconds. The swarm’s own step, re-run in the lab on a local server.26 Oct 2026, 6:11:27–6:11:30 PM · The run’s first step, rehearsed · Lab film, rs-sdk 4f62822
sources
  • rs-sdk fork, docs/speedrun/research/travel-and-overhead.md row 1 (about 540 ticks; the skip at 6 with the stock SDK)
  • rs-sdk fork, docs/speedrun/research/free-xp.md lines 35-44 (the guide’s skip while map_live is false)
  • rs tenet 1
  • issue rs/287 and issue rs/312 (the loopback gateway the skip needs)

A run host 3 ms from the server

The game server sits in a data centre in Virginia, and from Southern California a click takes 80 to 90 ms there and back, so a reaction often misses the tick it was meant for. The run’s bot ran on a machine in the same data-centre region, about 3 ms away, so a reaction to one tick landed in the next. Anyone can rent a machine near the game’s server.

Used in the knife bands, the Thieving stun pack, the Agility laps and every helper hand-off.

In the rehearsal the run host’s nine-hour session limit ran out, and the account dropped 13 times.

Next-tick reactions that landed, of 180
Through the hosted relay123Direct, 3 ms away180

Three paired runs.

sources
  • rs-sdk fork, docs/speedrun/research/demo-latency.md summary lines 23-24 (180 of 180 direct against 123 of 180 through the relay, three paired runs) and section 10 lines 1140-1146
  • issue rs/83
  • issue rs/85 (the latency analysis)
  • rs tenets 12 and 17
  • the attempts timeline, rehearsal 23 Oct 6:33 PM