rune
ᚱune
A MUD client you can script.
Play in your terminal. Use Lua to define commands, react to server output, and arrange panes and status bars.
$ rune mud.example.com 4000
LINUX · MACOS · WINDOWS · SINGLE BINARY, NO RUNTIME
Lua scripting
Define aliases, triggers, key bindings, and bar renderers. Customize the built-in scripts through the same Lua API.
GMCP · MCCP2 · TLS
Handle GMCP vitals and room data in Lua. Rune negotiates MCCP2 compression and uses TLS for tls:// connections.
Panes · Bars · Pickers
Arrange scrollable panes in rows and columns, render status bars, and open pickers from your scripts.
Feels like your shell
Prefix-matching history, tab completion that learns names from server output, and Ctrl+E to edit the input line in $EDITOR.
Searchable pickers
Filter saved worlds, command history, aliases, and slash commands as you type. Scripts can open the same picker with their own items.
/connect worldsCtrl+R historyCtrl+T aliases
Multiline, sent verbatim
Paste multiline text - or press Ctrl+Enter - and the input grows into a composer with numbered lines. Enter sends the draft line by line, preserving blank lines and whitespace. Use it for in-game boards and mail editors.
Ctrl+Enter composeEnter send as written
Your editor, mid-session
Ctrl+E opens the draft in $EDITOR. Save and exit to return the edited text to Rune. Multiline text opens in the composer.
Ctrl+E edit in $EDITOR
Tab completion that learns
Words the server has used complete after a single appearance - player names included. Keep pressing Tab and the candidates cycle on the status line; Shift+Tab goes back.
Tab complete / cycleShift+Tab back