mu*index
lezen
platte tekst
thema

protocol

MXP

Het MUD eXtension Protocol — HTML-achtige opmaak in de tekststroom, goed voor klikbare links, afbeeldingen en formulieren. Breed gespecificeerd, ongelijkmatig geïmplementeerd.

https://www.zuggsoft.com/zmud/mxp.htm

Gemeten adoptie

122 van 886 vermelde spellen — 13.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.

Spellen die we MXP in een handshake hebben zien aanbieden, naar de codebase waarvan we vaststelden dat ze erop draaien.
codebase bood het aan vastgesteld
CoffeeMUD 30 32
CircleMUD 9 47
ROM 9 55
DikuMUD 5 35
SMAUG 5 20
tbaMUD 4 5
Evennia 2 11
PennMUSH 1 34
AresMUSH 0 18
CobraMUSH 0 2
FluffOS 0 28
MUCK 0 24
RhostMUSH 0 40
TinyMUSH 0 9

MXP bouwt een kleine, HTML-achtige opmaaktaal in de tekst die een server stuurt: <send> voor een klikbaar commando, <a href> voor een link, elementen voor kleur en lettertype, en een mechanisme waarmee een server eigen tags kan definiëren. Het onderhandelt op telnet-optie 91.

Het ontwerpprobleem zit er inherent in en is interessant: de opmaak reist in dezelfde stroom als de tekst, dus een server moet oppassen met tekst die er uitziet als opmaak, en een client moet oppassen met wat hij weergeeft. Precies daarom definieert MXP beveiligingsniveaus — een tag die binnenkomt in een regel chat van een andere speler is niet hetzelfde als een tag die de server zelf uitgestuurd heeft.

Klikbaarheid is waarom mensen het willen

Waar MXP in de praktijk vooral voor gebruikt wordt, is north en namen van voorwerpen veranderen in dingen waarop je kunt klikken. Voor een nieuwe speler scheelt dat aanzienlijk, en daarom blijft het protocol geïmplementeerd worden ondanks zijn complexiteit.

Pueblo is die andere

Pueblo is ouder dan MXP en doet soortgelijk werk met een andere aanpak, die letterlijker de vorm van HTML heeft. Een client die het ene ondersteunt, ondersteunt het andere vaak niet, en de twee zijn makkelijk te verwarren bij het lezen van een functielijst — een fout waarmee we in de clienttabellen in dit onderdeel hebben moeten oppassen.

Wat we meten

Servers die telnet-optie 91 aanboden in een handshake die we waargenomen hebben. Er wordt minder vaak over MXP onderhandeld dan over de out-of-bandprotocollen, deels doordat veel van zijn waarde gerealiseerd wordt door servers die de opmaak gewoon uitsturen en hopen, zonder ergens over te onderhandelen — en dat kunnen wij niet zien.

Zie ook

  • Pueblo Het oudere schema voor HTML in een MUD, afkomstig uit de gelijknamige client. Nog altijd ondersteund door clients aan de MUSH-kant, en stelselmatig verward met MXP.
  • MUSHclient De al lang gevestigde Windows-client. Vijf scripttalen, een plug-inarchitectuur waar het grootste deel van zijn protocolondersteuning in zit, en een releasegeschiedenis die vertraagd is.
  • Mudlet Platformonafhankelijk, met Lua-scripting, en de client met de grondigst gedocumenteerde ondersteuning voor schermlezers in dit onderdeel.