The MUME client protocol is what clients use to communicates with MUME.

The protocol builds on Telnet (RFC 854) over TCP (or, optionally, TLS over TCP), with the following Telnet options supported:

All special MUME commands, which can be sent either from or to the client, are of the format <start> <command> <length> <newline> <data>.

<start> is the MPI (MUME Protocol Isomething) start sequence "~$#E" (without the quotes). The MPI must follow a newline.

<command> is one of the following letters:

<length> is the length in bytes of <data> as a string of ASCII digits.

<newline> is a single newline, ASCII 10.

The I command

The I command takes no arguments:


The E command

The E command involves several different messages. One of these is sent by the server, and the other two are sent by the client.

The E command sent by the server

When requesting that the client begin a new editing session, the server sends the following:

For the purposes of computing the length field, the message starts with the first byte after the newline at the end of the field.

The E command sent by the client

The client may end an active editing session in one of two ways: by uploading the text generated by the editor, or by canceling the message.

Here's what the "cancel" message looks like:

The "upload" message looks like this:

The V command

The V (or view) command is even simpler. It consists of one message, from server to client:

Again, for the purposes of computing the length field, the message begins with the byte following the newline that terminates the length field.

Remote editing (E & V commands) in the protocol stack

MUME processes the Telnet IAC sequences before the received MUME Protocol data and escapes them in the sent data. In other words, the MUME protocol stands on top of the Telnet layer and not the other way around.

The P command

The P command accepts a number of prompt-related flags:

For example, the following sequence enables IAC GA. The "data" is made of two characters: G and the final newline.


The X command

The X command enables or disables XML mode. It is a variable-length command, with a mode for the first character and options as following characters.



Example 1:


Example 2:


Credits: The documentation of the E and V commands was contributed by Kron.


This page was automatically generated on Mon Jan 7 11:13:11 2019