Idle mode — the social hub guide

/idle is two things at once:

  1. An autonomous farming agent. Your character keeps fighting, looting,

resting, and upgrading while you're offline. It's the same character you log into — just driven by a state machine on the server.

  1. A social hub. Visit your /idle (or a friend's) to chat, send DMs,

form parties, and watch the live world from over your character's shoulder. Nothing about being away from the keyboard means being away from the conversation.

This guide is the player-facing companion to design/idle.md (which explains the how). Here we cover the what — every feature, what it does, when it kicks in, how to turn it on.


Getting started

Turning idle mode on

panel surfaces a Go Idle button. One click and the server spawns your character into the world from your last save.

Turning it off

reclaims the character.

Where you spawn

The agent spawns in the world you last logged off in — outside, outside2, dungeon, wherever. If a sell cycle takes the agent home through an autodoor, the persisted biome updates so your next login lands you in the new place.


The /idle panel — tour

The panel sits on the right of the page; the canvas is paused to save GPU. Four tabs along the top let you flip between sections.

Layout map (on /idle only — in-game positions are unchanged):

most-prominent action — clicking it un-pauses the 3D canvas so you see your character live.

Idle / Bag / Bank / Hub tabs + action log + Sound / pet controls).

— moved out of the top-left so the upper screen stays clean.

Header strip

Always visible at the top of the panel.

(SEEK, ATTACK, LOOT, REST, WANDER, FLEE, SELL, BANK_DEPOSIT, UPGRADE, TRANSIT, OFFLINE). Colour-coded.

the moment the agent transits.

Stat bars

only shown when a class is currently active.

Bag tab (live inventory)

Mirrors your character's inventory exactly — sectioned the same way as the in-game I panel. Section 1 is your starter section (free, 7×6 = 42 slots); sections 2–4 are unlock-gated by gold and show up as dimmed grids with an unlock for Xg CTA centered over them so you always see your expansion path.

Hover any item for a tooltip with the name, level, tier/category/slot meta line, effective stats (derived from gearStats), description, and decay countdown for upgraded gear.

Stack counts show in the bottom-right (gold), upgrade levels in the top-left (cyan). A small green→amber→red stripe on the right edge of each upgraded slot tracks remaining time to the next decay tick.

Bank tab (vault)

Same sectioned layout. Section 1 is 5 columns × 10 rows by default (can be widened to 9 columns with a one-shot cash purchase); sections 2–5 are gold-unlock-gated, same dim-grid + CTA shape as the bag.

The vault-gold strip at the top surfaces your separate banked gold balance (inflation taxes both pools at the same rate — design/balance.md).

When the auto-sell flow kicks in and your bag is full of items you asked to keep (see Keep & upgrade below), the agent walks to the banker and parks duplicate copies here instead of liquidating them.

Idle tab (config)

Five sections, all auto-saved 400 ms after any change — no Save button needed.

Behavior

for ranged classes; the agent backs off when mobs close).

break engagement and flee until safe (auto-resumes when HP is back above the rest threshold + 30 %).

(cross-world if needed) and sell the cheapest 50 % of non-protected items.

to a merchant and stock 50 potions.

Farm only

A pill-tag picker. Pick specific monster ids and the agent only engages those. Empty list = farm every hostile in range. Useful for focused leveling (e.g. only Trolls for Stardust).

When the current world has no matching mobs, the agent transits to an adjacent world that does — one autodoor hop away.

Keep & upgrade

Pick gear kinds and per-item target levels. Items listed here:

UPGRADE_SCROLL and a copy of the kind in the bag. The agent walks to the Fatewright (cross-world if needed), spends the scroll, and reads the roll. Stardust is consumed automatically as a booster when available.

The picker draws from every upgradeable gear kind in the manifest; non-upgradeable items (potions, scrolls, quest items) are filtered out at source so the picker can't smuggle nonsense into the config.

Each row has / + steppers (1..10) and a × remove button.

Survival

for HP to recover below this threshold. While resting, it actively flees from nearby threats so it actually heals (gear restores HP on level-up; potions are the main recovery).

before giving up.

targets mobs / loot inside [x1,y1]..[x2,y2]. Blank = whole world.

Support a friend

follows the named character around the world (cross-world supported via autodoor transit). When close to them, the kill/loot scan shifts to a bubble around their position (radius = stay-near radius).

online partymate.

friend before it'll start fighting again.

Bottom of the Idle tab: Disable Idle button (or Enable Idle if the character is offline).

Hub tab (social)

The non-farming side of /idle.

the /msg <name> <text> and /w <name> <text> slash-commands use. Recipients online see it land in their chat box in the dm-in colour; offline recipients pick it up on their next login via chat history.

live) in new tabs. The ledger is the alpha-changes journal; design is the in-browser sprite + system spec viewer.

Action log

Below the tabs, always visible. Last 8 events from the agent — what mob it just spotted, who it healed, how many items it sold, whether an upgrade succeeded or fizzled. Polled every 2 s.

Bottom action bar (panel footer)

volume. Persists in localStorage.

actively ticking).

(The Watch / Stop Watching action lives in the top-center hero band above the panel — clicking it resumes the 3D render so you see your character live, including weather, day/night, combat FX, and other players.)

Chat input

A normal chat bar pinned to the bottom of the screen. Whatever you type goes out under your own character's name. Slash-commands work exactly as in-game: /msg, /w, /pet, /idle, party invites, etc.


How the agent actually plays

State machine (the short version)

DECIDE → picks the next move:
  HP low                            → REST
  inventory full + non-kept items   → SELL
  inventory full of kept duplicates → BANK_DEPOSIT
  scroll + kept-item below target   → UPGRADE
  out of potions + no merchant here → TRANSIT (or RESTOCK_BUY)
  hostile mob in range              → SEEK → ATTACK
  chest / ground loot in range      → SEEK → LOOT
  none of the above                 → WANDER

FLEE interrupts everything when HP suddenly drops while a threat is
near (autoEscape only).

Combat phases

The agent alternates between two phases automatically:

expire. Re-enters COMBAT when nothing more is reachable.

Sell ladder (anti-loss)

When the bag is ≥ 75 % full, the agent walks through these gates in order:

  1. Sell cheapest 50 % of non-protected, non-upgraded items at the

merchant. Cross-world transit if needed.

  1. Bank duplicates of protected items (everything in the Keep &

upgrade list) into the vault, keeping the best copy of each kind in the bag. Cross-world transit if no banker is in the current world.

  1. Emergency sale — only if the bank is full AND your wallet is

zero, sell the cheapest half of the protected duplicates at the merchant. This is the only path that ever liquidates a kept item, and it requires literal bankruptcy with no vault space.

Auto-upgrade roll

When the agent has a kept-item below its target level AND an UPGRADE_SCROLL is in the bag, it walks to the Fatewright and rolls.

agent moves on.

the point). The kind goes on an 8 s cooldown so the agent doesn't immediately burn another scroll on the next copy.

The full upgrade + result FX broadcast plays just like a player-driven upgrade, so anyone watching nearby sees the flash and the result.

Auto-buy potions

When HP is below the rest threshold and the inventory has zero HP potions, the agent transits to a merchant (cross-world supported) and buys 50 potions at the regular price. If gold is tight, it falls back to minor potions. If both fail, it gives up on the restock until next DECIDE.

Auto-respawn

When the character dies, the agent waits for the free-respawn timer to expire and revives in place. The /idle observer panel updates automatically. Disable this in the Idle tab if you want the character to stay down (e.g. while you investigate what killed them).

Cross-world transit

The agent navigates through autodoors (the rectangular zones at the edges of every world). Transits happen automatically when:

world.

The agent always walks back home (the world with the merchant) when its task is done.

Anti-spazz

The agent commits to a heading for at least ~1 s before re-evaluating, so the sprite doesn't flicker between facing directions. This applies to wander, kite back-off, and stuck-jiggle recoveries.

Autodoor escape

If the agent accidentally drifts into an autodoor zone (e.g. a stray wander step), it immediately wanders out before the zone-transition fires. /idle agents must never trigger a map change they didn't explicitly choose.


Social features

Chat from /idle

The chat input at the bottom of every /idle page works exactly like the in-game one. Lines go out under your own character's name, are visible to everyone in the same world (or globally for system chat), and persist for 15 days.

Private messages (DMs)

DMs to online recipients land instantly. Offline DMs are stored and delivered as part of the recipient's chatHistory on their next login. No DM is silently lost — the worst case is a 15-day delay.

DMs render in their own colour (purple) with directional arrows (Mira → for incoming, → Jayson for outgoing).

Chat history

On every login and on every /idle observe attach, the server replays the last 20 visible chat lines (public + DMs sent and received). Lines older than 15 days expire automatically.

The replay is marked with a — recent history — separator so the visual seam between history and live is obvious.

Party from /idle

Every party action works from /idle exactly as it does in-game, except for party_teleport (which moves you physically — your idle character is busy, so it stays in idle mode).

party UI exposes the button.

yes/no buttons.

Visitors to a friend's /idle (logged in under their own session) can do all of this for their own party, not the friend's.

What others see

When you're idle:

players can attack, ally with, party with, or follow you.

in-world entity scans.

know you're not at the keyboard.


Quick reference

State badges

BadgeMeaning
OFFLINECharacter not in any world (idle mode disabled).
DECIDEPicking the next action.
SEEKPathing toward a target (mob, loot, merchant, …).
ATTACKStanding still attacking a mob (or kiting it).
LOOTOpening a chest / picking up a ground item.
RESTWaiting for HP to recover; fleeing from threats.
WANDERNo target nearby; roaming the area.
FLEEAuto-escape; moving away from a threat.
SELLSelling queued slots at a merchant.
BANK_DEPOSITBanking protected duplicates.
UPGRADESpending a scroll at the Fatewright.
RESTOCK_BUYBuying HP potions at a merchant.
TRANSITWalking through an autodoor toward another world.

Slash commands you can use anywhere

CommandWhat it does
/idleToggle idle mode for your character.
/msg <name> <text>Private message a player.
/w <name> <text>Alias for /msg.
/petToggle your companion pet.

File map (for the curious)

(sell / deposit / upgrade / buy / transit helpers).

panel's runtime.

chats Mongo collection (15 days).


What's coming next

The system has plenty more room to grow. Plausible additions:

shortcuts the agent re-equips on level-up / death respawn.

self-pauses during waking hours.

> 500 g", "never bother looting < 50 g".

at once, switch between their /idle views with a single click.

portraits + state badges + DM / invite buttons inline.

If any of these would change how you play, file a note and we'll schedule them.