MPI, MUME CLIENT PROTOCOL, PDU


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>.

<newline> is a single newline, ASCII 10.

The I command


The I command takes no arguments:

  ~$#EI

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.

  ~$#EP2
  G

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.

Modes:

Options:

Example 1:

  ~$#EX2
  1G

Example 2:

  ~$#EX1
  3

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

See also: XML, "LOCAL EDITOR", TLS


This page was automatically generated on Mon Jun 18 20:41:52 2018