Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Travel (.go2)

Type where you want to be and put your hands back on the keyboard — .go2 bank walks you there, waiting out roundtime and standing you up on the way.

What it’s for

Crossing town is a dozen movement commands you already know, typed in the right order, with a stand in the middle because something knocked you down. It is not hard. It is tedious, and you do it forty times a session.

.go2 does the walking. Name a destination — a room id, a tag like bank, a name you saved, or plain text to search for — and the client paths there over the map database and walks it, waiting out roundtime, standing you up, and pausing while you are stunned or webbed. Press Esc and it stops.

This is VellumFE’s own engine, not a wrapper. It runs without Lich, which is why it works on the phone. If you are on Lich, you can hand the hard cases back to ;go2.

Set it up

  1. Get map data first — travel paths over the same database the map draws. Open SettingsMap and click Download map data. (Typed equivalent: .mapdb download.)

  2. Type a destination in the command input:

    .go2 bank          the nearest room tagged "bank"
    .go2 8966          a map database room id
    .go2 u7150105      a game uid
    .go2 town square   text search over room titles, with a pick list if several match
    
  3. Open SettingsTravel to decide what the engine may spend and use. Native Map Clicks is on by default; the paid-travel switches — Use Portmasters, Use Urchin Guides, Use Day Passes, Get Silvers — are all off until you turn them on.

📷 screenshot pending
Settings with the Travel section open, showing Native Map Clicks on and the paid-travel switches off.

Expected result: a line like [go2] -> Town Square Central (8966): 12 rooms, ETA 0:47, then your character walks it, and [go2] arrived at room 8966 - travel time 0:44 on arrival.

Common setups

Save the places you actually go

Stand somewhere you return to constantly and save it:

.go2 save home
.go2 save shop 8966

The first saves the room you are standing in; the second saves an explicit id. Afterwards .go2 home walks you there from anywhere, and .go2 saved lists everything you have saved. .go2 back returns to wherever your last trip started.

You’ll see: [go2] saved 'home' -> room 8966 (travel there with .go2 home), and from then on .go2 home is a one-line trip from any town.

Find the nearest shop without knowing its name

Run .go2 targets anywhere. It prints tagged destinations reachable from where you stand, nearest first, with an ETA on each.

You’ll see: a list like .go2 furrier -> room 1247 (0:22) — copy the line, run it, and you are walking. This is the fastest way to orient in a town you don’t know.

Tips & gotchas

⚠️ .go2 targets and .go2 saved are different lists. targets is the map’s directory of tagged destinations near you (banks, shops, guilds). saved is your named rooms from .go2 save.

⚠️ Paid travel is opt-in, and off by default. Ferries, portmasters, urchin guides, and Chronomage day passes are all supported, but each has its own switch in Settings ▸ Travel. With them off, routes that need them are excluded from pathing rather than attempted — so a trip may report no route where Lich’s ;go2 would have paid its way through.

Destinations are tried in a fixed order, and the first match wins: back, then a room id, then a u-prefixed uid, then your saved names, then a map tag, then a text search of titles and descriptions. That is why saving a target named for a tag shadows the tag — the client refuses names that would shadow a room id or back for the same reason.

There are more destination words than the usage line shows. .go2 guild and .go2 guild shop route to your profession’s guild, which needs your profession known — run INFO once if it reports the profession is unknown. .go2 locker and .go2 public locker find the nearest locker you can use. .go2 goback is an alias for .go2 back.

Ambiguous text gives you a pick list, not a guess. .go2 town square with several matches prints the candidates with their ids so you can rerun with an exact one.

Failures name their cause. [go2] your current room hasn't resolved against the mapdb yet is the common one — run .room to see how your room matched. Others are direct: room {id} is not in the mapdb, you're already here..., and map database not loaded - configure it in Settings > Map.

A trip that goes wrong re-paths instead of stranding you. Ending up somewhere unexpected — fleeing, being teleported, walking by hand mid-trip — re-paths from where you actually are. A move that keeps failing gets that edge disabled for the session and the route recomputed. Dying aborts the trip.

One automation drives at a time. Starting a trip while something else is running (a .foreach batch, for instance) reports [go2] {that} is driving - .stop to cancel it first. .stop cancels whatever is running; .go2 stop cancels a trip specifically.

Map clicks can be handed to Lich instead. Turn Native Map Clicks off and clicking a room sends ;go2 <id> to Lich rather than walking natively. Separately, Lich ;go2 Fallback hands off to Lich only when native travel hits an edge it cannot cross. Both need a Lich connection — a direct connection has no Lich to hand off to.

Some regions scramble movement, so their map edges are meaningless to walk. These are declared as mazes and the engine uses a per-maze strategy instead. The shipped example is the Mist Harbor Ranger Guild jungle approach, where each character has a personal route revealed by an NPC — the walker asks automatically, captures the answer, and reuses it on every later trip.

See also

  • Map — the picture behind click-to-travel, and where map data comes from
  • Compass — one room’s exits, for the step you are taking by hand
  • Room Window — the room prose and its exits as text
  • Travel & Day Passes — how routes are planned, what paid edges cost, and how day passes are bought and spent
Config reference (TOML)

Global (config.toml)

[go2] — every field below is editable in Settings ▸ Travel in the GUI, .settings in the terminal, and the settings sheet on the phone. GUI labels are given so you can find each switch.

FieldTypeDefaultGUI labelWhat it does
savedtableemptySaved targets, name to room id. Written by .go2 save; listed by .go2 saved.
native_map_clicksbooltrueNative Map ClicksMap clicks travel natively. Off sends ;go2 <id> to Lich.
lich_fallbackboolfalseLich ;go2 FallbackWhen native travel can’t cross an edge, hand off to Lich’s ;go2. Lich connections only.
use_seekingboolfalseUse Voln SeekingRoute through Voln Symbol of Seeking edges. Only takes effect for a Voln Master.
use_portmastersboolfalseUse PortmastersRoute through portmaster ship travel. Costs silver.
get_silversboolfalseGet SilversLet travel withdraw from the bank to fund paid travel when short.
get_return_trip_silversboolfalseGet Return Trip SilversAlso withdraw enough to fund the return trip.
use_urchinsboolfalseUse Urchin GuidesRoute through urchin guides. Needs active access; off while mounted.
use_day_passboolfalseUse Day PassesRoute through Chronomage day-pass edges, using a pass in your day-pass sack.
buy_day_passstringemptyBuy Day PassWhen to buy a pass if none is held: on/yes, off/no, or a town-pair list like "sol,wl imt,wl". Needs Get Silvers.
day_pass_sackstringemptyDay Pass SackContainer holding your day passes, as a noun or name fragment.
weaponsackstringemptyWeapon SackContainer the hands-stow uses for a weapon your ready sheath doesn’t cover.
lootsackstringemptyLoot SackFallback container for anything not routed by ready, sheath, or weapon sack.
pathcodestableemptyPersonal maze routes, captured automatically from the maze NPC. Never hand-edited.
[go2]
native_map_clicks = true
use_portmasters = false
get_silvers = false
use_day_pass = false
day_pass_sack = ""

Command surface

CommandWhat it does
.go2Print the usage line
.go2 <id | uid | tag | saved name | text>Travel there
.go2 back / .go2 gobackReturn to where the last trip started
.go2 guild / .go2 guild shopYour profession’s guild. Needs profession known — run INFO.
.go2 locker / .go2 public lockerThe nearest locker you can use
.go2 stopCancel the active trip. Esc does the same on the desktop.
.go2 statusRooms done, rooms total, and ETA for the active trip
.go2 save <name> [id]Save a target. Without an id, saves the current room.
.go2 savedList your saved targets
.go2 targetsReachable tagged destinations, nearest first, with ETAs
.go2 reloadForce a fresh load of the map database
.stopCancel whatever automation is running, travel included
.portal [n]Walk the room’s non-compass exit (go door, climb stair). Several offer a pick menu.
.roomHow the current room resolved against the map database

Files

  • ~/.vellum-fe/travel_overrides.toml — teach the engine an edge it cannot cross. Copy travel_overrides.toml from the defaults; the file documents its own format. Overrides beat whatever the map database says about that edge.
  • ~/.vellum-fe/mazes.toml — add or replace maze definitions by name, on top of the shipped set.