If you enjoy playing on a MUSH or a MUD, you need a mode for it. You can of course always use telnet. ‘M-x telnet’ even.

But there are other alternatives – mu.el and eMUDs. Some of us use Lisp:mudel.el written by JorgenSchaefer.


RMOO, with an eye to do actual programming.


Mu uses ComintMode to do its job. This has the added benefit of providing you with an entire communication infrastructure. MinibufferHistory, moving between prompts, highlighting of SGR (escape sequences controlling colors on a tty) using AnsiColor, etc.

Before you can open new connections, you must customize ‘mu-worlds’. As soon as you have done that, use ‘mu-open’ to play.

Get it from

mu.el was written by AlexSchroeder (still available here: Lisp:mu.el), and AidanGauland forked it in 2013.


Use AnsiColor. Here’s how to install it in your ~/.emacs:

 (autoload 'mu-open "mu" "Play on MUSHes and MUDs" t)
 (add-hook 'mu-connection-mode-hook 'ansi-color-for-comint-mode-on)

coding system

Switch to the output buffer and use ‘M-x mu-dos’ if your host is sending you DOS line endings (ie. you have a ^M at the end of every line). ‘set-process-coding-system’ can be used to set output and input coding systems. There is probably some smart way of adding this to ‘mu-connection-mode-hook’.

(defun mu-dos ()
  "Set coding system of the current buffer's process to DOS."
    (get-buffer-process (current-buffer))

I have this problem when playing on the Belerian Mush. – AlexSchroeder