MXP [protocol]
The MUD eXtension Protocol — HTML-like markup in the text stream, giving
clickable links, images and forms. Widely specified, unevenly implemented.
https://www.zuggsoft.com/zmud/mxp.htm
Measured adoption
122 of 886 listed games were observed offering it (13.8%)
/games?protocol=MXP
The games not counted here are not games without the protocol. A game is
counted when we observed its server offering the option in a handshake; the
rest are servers that did not offer it to us and servers whose handshake we
have not read, and we cannot tell you which.
By codebase, of the games we identified
CoffeeMUD 30 of 32 offered it
CircleMUD 9 of 47 offered it
ROM 9 of 55 offered it
DikuMUD 5 of 35 offered it
SMAUG 5 of 20 offered it
tbaMUD 4 of 5 offered it
Evennia 2 of 11 offered it
PennMUSH 1 of 34 offered it
AresMUSH 0 of 18 offered it
CobraMUSH 0 of 2 offered it
FluffOS 0 of 28 offered it
MUCK 0 of 24 offered it
RhostMUSH 0 of 40 offered it
TinyMUSH 0 of 9 offered it
MXP embeds a small, HTML-like markup language in the text a server sends: <send>
for a clickable command, <a href> for a link, colour and font elements, and a
mechanism for a server to define its own tags. It negotiates on telnet option
91.
Its design problem is inherent and interesting: the markup travels in the same
stream as the text, so a server has to be careful about text that looks like
markup, and a client has to be careful about what it will render. MXP defines
security levels for exactly this reason — a tag arriving in a line of chat from
another player is not the same as a tag the server emitted itself.
CLICKABILITY IS THE REASON PEOPLE WANT IT
Most of what MXP is actually used for is turning north and item names into
things you can click. For a new player that is a substantial difference, and it
is why the protocol keeps being implemented despite its complexity.
PUEBLO IS THE OTHER ONE
Pueblo [/reference/protocols/pueblo] predates MXP and does a similar job with a
different, more literally HTML-shaped approach. A client that supports one
frequently does not support the other, and the two are easy to confuse when
reading a feature list — which is a mistake we have had to be careful about in
the client tables in this section.
WHAT WE MEASURE
Servers offering telnet option 91 in a handshake we observed. MXP is less
commonly negotiated than the out-of-band protocols, partly because much of its
value is realised by servers that simply emit the markup and hope, without
negotiating at all — which we cannot see.
See also
Pueblo — /reference/protocols/pueblo
MUSHclient — /reference/clients/mushclient
Mudlet — /reference/clients/mudlet