mu*index
読み方
プレーンテキスト
テーマ

プロトコル

MXP

MUD eXtension Protocol — テキストのストリームに埋め込まれたHTMLに似たマークアップで、クリックできるリンク、画像、フォームをもたらします。仕様は広く行き渡っていますが、実装はまちまちです。

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

実測した採用状況

122 掲載886件のゲームのうち — 13.8%

ここに数えていないゲームは、そのプロトコルを持たないゲームということではない。数えるのは、そのサーバーがハンドシェイクでそのオプションを提供するのを観測したとき。残りは、当サイトに提供しなかったサーバーと、ハンドシェイクをまだ読んでいないサーバーであり、どちらなのかは言えない。

ハンドシェイクでMXPを提供するのを観測したゲームを、動かしていると特定したコードベース別に示したもの。
コードベース 提供あり 特定済み
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は、サーバーが送るテキストに、HTMLに似た小さなマークアップ言語を埋め込みます。クリックできる コマンドのための<send>、リンクのための<a href>、色とフォントの要素、そしてサーバーが独自のタグを 定義するための仕組みです。telnetオプション91でネゴシエートします。

設計上の問題は本質的で、しかも興味深いものです。マークアップはテキストと同じストリームを流れるので、 サーバーはマークアップに見えるテキストに注意しなければならず、クライアントは何を描画するかに注意 しなければなりません。MXPがセキュリティレベルを定めているのは、まさにこのためです — 他のプレイヤーの 発言の行に混ざって届いたタグは、サーバー自身が出力したタグとは別物です。

求められる理由はクリックできること

MXPが実際に使われている用途の大半は、northやアイテム名を、クリックできるものに変えることです。 新しいプレイヤーにとってこれは大きな違いであり、複雑さにもかかわらずこのプロトコルが実装され続けて いる理由でもあります。

もう一方がPueblo

PuebloはMXPより古く、似た仕事を、より文字どおりHTMLの形をした別の方法で こなします。片方に対応しているクライアントがもう片方には対応していないことは多く、機能一覧を読むときに 両者は取り違えやすいものです — このセクションのクライアント表で、当サイトが気をつけなければならな かった間違いでもあります。

当サイトが実測するもの

当サイトが観測したハンドシェイクでtelnetオプション91を提供したサーバーです。MXPは帯域外のプロトコル ほど頻繁にはネゴシエートされません。その一因は、価値の多くが、まったくネゴシエートせずにマークアップを ただ送って期待するサーバーによって実現されていることにあります — それは当サイトからは見えません。

関連項目

  • Pueblo 同名のクライアントから生まれた、MUDにHTMLを載せる古いほうの方式。MUSH側のクライアントでは今も対応されており、MXPと取り違えられることがよくあります。
  • MUSHclient 長く定着しているWindowsのクライアント。5つのスクリプト言語、プロトコル対応の大半が置かれているプラグインのアーキテクチャ、そして緩やかになったリリースの歴史。
  • Mudlet クロスプラットフォームでLuaによるスクリプトを備え、この節でスクリーンリーダー対応が最も丁寧に文書化されているクライアント。