MSDP [protocol]
The Mud Server Data Protocol — the same job as GMCP, done with a compact binary
encoding and a discovery mechanism GMCP lacks.
https://www.mudhalla.net/tintin/protocols/msdp/
Measured adoption
96 of 886 listed games were observed offering it (10.8%)
/games?protocol=MSDP
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 16 of 32 offered it
Evennia 11 of 11 offered it
CircleMUD 9 of 47 offered it
ROM 6 of 55 offered it
SMAUG 5 of 20 offered it
tbaMUD 4 of 5 offered it
DikuMUD 3 of 35 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
PennMUSH 0 of 34 offered it
RhostMUSH 0 of 40 offered it
TinyMUSH 0 of 9 offered it
MSDP is telnet option 69, and it solves the same problem as GMCP
[/reference/protocols/gmcp]: sending structured data alongside the text so a
client does not have to scrape prose for numbers.
The differences are two. MSDP's encoding is binary and compact — variables and
values are marked with single control bytes rather than wrapped in JSON — and
MSDP defines a discovery conversation: a client can ask LIST for COMMANDS,
REPORTABLE_VARIABLES and so on, and be told what a given game supports. GMCP has
no equivalent, which is why a GMCP client generally has to be configured per
game.
In practice GMCP won on adoption and MSDP persists in the servers and clients
that implemented it, often alongside GMCP.
WHAT WE MEASURE
A game counts here when its server offered MSDP in a handshake we observed. As
with every figure in this section, that is a positive observation and the
remainder is not its opposite — a game not counted may not implement MSDP, or
may simply not have had its handshake read by us yet.
See also
GMCP — /reference/protocols/gmcp
TinTin++ — /reference/clients/tintin
Blightmud — /reference/clients/blightmud