rune
ᚱune
Script the client, not just the game.
A fast, modern MUD client with careful terminal ergonomics and a Lua API that goes all the way down.
$ rune mud.example.com 4000
LINUX · MACOS · WINDOWS · SINGLE BINARY, NO RUNTIME
Everything is Lua
Core client functionality is Lua: input handling, the UI, the keymap. All of it can be overridden.
GMCP · MCCP2 · TLS
Vitals and room data arrive as Lua events. Compression and encryption are on by default.
Panes · Bars · Pickers
Dock chat panes, render live status bars, open fuzzy-filtered pickers. Every UI component is scriptable.
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.
Pickers for everything
Saved worlds, command history, your aliases, and every slash command sit one keypress away, fuzzy-filtered 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 exactly as written: no alias expansion, no splitting, no lost blank lines. Boards and mail editors just work.
Ctrl+Enter composeEnter send as written
Your editor, mid-session
When a draft deserves better than a one-line box, Ctrl+E opens it in Vim, Emacs, or whatever $EDITOR points at. Save and quit, and the whole letter lands back in the composer, ready to send.
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