MXP [protocol]
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 hebben we het zien aanbieden (13.8%)
/nl/games?protocol=MXP
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.
Naar codebase, van de spellen die we hebben vastgesteld
CoffeeMUD 30 van 32 boden het aan
CircleMUD 9 van 47 boden het aan
ROM 9 van 55 boden het aan
DikuMUD 5 van 35 boden het aan
SMAUG 5 van 20 boden het aan
tbaMUD 4 van 5 boden het aan
Evennia 2 van 11 boden het aan
PennMUSH 1 van 34 boden het aan
AresMUSH 0 van 18 boden het aan
CobraMUSH 0 van 2 boden het aan
FluffOS 0 van 28 boden het aan
MUCK 0 van 24 boden het aan
RhostMUSH 0 van 40 boden het aan
TinyMUSH 0 van 9 boden het aan
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 [/reference/protocols/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 — /nl/reference/protocols/pueblo
MUSHclient — /nl/reference/clients/mushclient
Mudlet — /nl/reference/clients/mudlet