uv run revenant starts a session for your character and opens the window.
uv run revenant # the saved character, or a login prompt
uv run revenant Lanival # a named character: attach if online, else start
uv run revenant --pick # the character picker
uv run revenant-tui [character] # a terminal instead of the windowA session is a background process that owns the game connection; windows attach to it. Each character gets its own session.
- First run: a login window. Remember keeps the password in the OS keychain, never in a file.
- Windows:
tools/install_shortcut.ps1adds a Start Menu shortcut to the picker. - No Python? Use the installer or disk image from Releases.
- Closing the window logs the character out.
- File → Detach (Ctrl+D) closes the window and keeps the character in the game; the next launch reattaches.
| You edited | Do |
|---|---|
| a script or a helper it imports | ;stop x, then ;x |
| the GUI | Detach and relaunch |
| the session or engine | ;reexec — reloads the code without logging out |
revenant-send puts one command into a running session, for tools and AI agents. Every window shows it as >> [external] … (or >> [claude] …).
revenant-send exp all
revenant-send --origin claude --answer 4 "tdp" # print the game's answer
revenant-send --state room,vitals # read the parser's state, send nothing
REVENANT_ALLOW_SEND=1 revenant-send "stance set 100 80 0"- Read-only commands (INFO, EXP, WEALTH, HEALTH, LOOK...) always pass.
- Anything else needs
REVENANT_ALLOW_SEND=1or the setting in File → Settings. - The session refuses GIVE, SELL, WITHDRAW, TRAIN, DROP and similar from outside regardless; QUIT passes, behind the gate.
~/.revenant/policy/<name>.jsoncan allow one ({"allow": ["exchange"]}).
Autostarted. It rings the bell and echoes SENTINEL: when someone talks to you, a word is spelled to trick scripts ("J_u_M_p"), staff post a notice, or the same line spams. New lines collect in the Attention dock.
;sentinel ok— answer an alert.;sentinel quiet N— silence it for N minutes.sentinel_logout(off by default) ends the session if an alert goes unanswered for 10 minutes while a script runs.
It never replies for you.
File → Settings: fonts, autostarted scripts, whether closing quits, the idle-warning answer.
Highlights of your own go in ~/.revenant/highlights.json; an entry {"disable": "balance"} there turns off a default one (the balance, roundtime and spell-ready lines).
Logs are under ~/.revenant/logs/: game-<Name>-*.log has what the game sent, revenant_client-<Name>-*.log what the scripts did.
Tick Sync logs to Dropbox, filed by character in File → Settings on each machine, and every machine's logs gather in one place; nothing to run by hand.
- Every 10 minutes the session copies each new or grown log to
Dropbox/Revenant/<Character>/, the machine in its name:game-Lanival-<stamp>.<machine>.log(;dropbox;;dropbox nowcopies at once). - An old log whose name carries no character is filed by best effort (its login line, or the session before it);
_other/when nothing says. - Only logs go: the history database the dashboard reads stays on its own machine.
- The Dropbox folder is found on its own.
dropbox_dirin~/.revenant/settings.jsonnames another synced folder instead,dropbox_machinethis machine's name there (default: the host name). - Each machine keeps writing its own files, and nothing in Dropbox is ever deleted.