protocol
MSDP
Het Mud Server Data Protocol — hetzelfde werk als GMCP, gedaan met een compacte binaire codering en een ontdekkingsmechanisme dat GMCP niet heeft.
Gemeten adoptie
96 van 886 vermelde spellen — 10.8%
De spellen die hier niet meetellen zijn geen spellen zonder het protocol. Een spel telt mee wanneer we zijn server de optie in een handshake hebben zien aanbieden; de rest zijn servers die het ons niet aangeboden hebben en servers waarvan we de handshake niet gelezen hebben, en welke van beide het is kunnen we niet zeggen.
| codebase | bood het aan | vastgesteld |
|---|---|---|
| CoffeeMUD | 16 | 32 |
| Evennia | 11 | 11 |
| CircleMUD | 9 | 47 |
| ROM | 6 | 55 |
| SMAUG | 5 | 20 |
| tbaMUD | 4 | 5 |
| DikuMUD | 3 | 35 |
| AresMUSH | 0 | 18 |
| CobraMUSH | 0 | 2 |
| FluffOS | 0 | 28 |
| MUCK | 0 | 24 |
| PennMUSH | 0 | 34 |
| RhostMUSH | 0 | 40 |
| TinyMUSH | 0 | 9 |
MSDP is telnet-optie 69, en het lost hetzelfde probleem op als GMCP: gestructureerde gegevens naast de tekst sturen, zodat een client geen proza hoeft af te struinen op getallen.
De verschillen zijn er twee. De codering van MSDP is binair en compact — variabelen en waarden
worden met losse stuurbytes gemarkeerd in plaats van in JSON verpakt — en MSDP definieert een gesprek
voor ontdekking: een client kan met LIST naar COMMANDS, REPORTABLE_VARIABLES enzovoort
vragen, en te horen krijgen wat een bepaald spel ondersteunt. GMCP heeft daar geen equivalent voor,
en daarom moet een GMCP-client meestal per spel ingesteld worden.
In de praktijk heeft GMCP het gewonnen op adoptie en houdt MSDP stand in de servers en clients die het geïmplementeerd hebben, vaak naast GMCP.
Wat we meten
Een spel telt hier mee wanneer zijn server MSDP aanbood in een handshake die we waargenomen hebben. Zoals bij elk cijfer in dit onderdeel is dat een positieve waarneming, en de rest is niet het tegendeel ervan — een spel dat niet meetelt, implementeert MSDP misschien niet, of we hebben zijn handshake simpelweg nog niet gelezen.
Zie ook
- GMCP Het Generic Mud Communication Protocol — gestructureerde JSON-berichten naast de tekst, en het out-of-bandkanaal waar de meeste moderne clients tegenaan bouwen.
- TinTin++ Een terminalclient met een eigen scripttaal, op elk platform inclusief telefoons, en een gedocumenteerde schermlezermodus.
- Blightmud Een moderne terminalclient in Rust, met Lua-scripting, ingebouwde tekst-naar-spraak en een schermlezermodus die zichzelf aan de server bekendmaakt.