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

プロトコル

TTYPEとMTTS

クライアントが、自分は何であり何ができるかをサーバーに伝えるための仕組み — クライアントがそう伝えることを選べば、スクリーンリーダーが使われていることも含めて。

https://www.mudhalla.net/tintin/protocols/mtts/

実測した採用状況

0 掲載886件のゲームのうち — 0.0%

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

ハンドシェイクでTTYPEとMTTSを提供するのを観測したゲームを、動かしていると特定したコードベース別に示したもの。
コードベース 提供あり 特定済み
AresMUSH 0 18
CircleMUD 0 47
CobraMUSH 0 2
CoffeeMUD 0 32
DikuMUD 0 35
Evennia 0 11
FluffOS 0 28
MUCK 0 24
PennMUSH 0 34
RhostMUSH 0 40
ROM 0 55
SMAUG 0 20
tbaMUD 0 5
TinyMUSH 0 9

TTYPEはRFC 1091によるtelnetオプション24です。サーバーがクライアントに端末の種類を尋ね、クライアントが 答えます。歴史的には、その答えはVT100ANSIでした。

MTTS — Mud Terminal Type Standard — は、その上に慣習を重ねたものです。クライアントは3回答えます。 自分の名前、端末の種類、そしてMTTS <bitmask>であり、そのビットが機能を申告します。256色、 トゥルーカラー、UTF-8、MNES、帯域外でのMSP — そしてとりわけ**MTTS_SCREEN_READER**です。

スクリーンリーダーのビット

最後のものは、立ち止まって見る価値があります。このホビーのプロトコル群の中で、アクセシビリティが一級の 概念になっている唯一の場所だからです。

このビットを立てるクライアントは、スクリーンリーダーが使われていることをサーバーに伝えています。それに 気づいたサーバーは、そのように振る舞いを変えられます。ASCIIアートを出さない、部屋の説明を囲む飾り罫を 落とす、表の組み方を変える、といったことです。TinTin++Blightmudはどちらもこれを告知しますし、 Mudletにはそのための設定があります。

あるゲームが実際にそれに応じて動くかどうかは別の問題であり、当サイトに実測できる問題でもありません — サーバーに、何を変えるつもりなのかを尋ねることはできないからです。

ここでクローラーが負う務め

クローラーはTTYPEで自分が何者かを名乗りますし、そうすべきです。当サイトのクローラーは情報用のURLを 添えて名乗るので、ログを読む管理者は、自分のゲームに接続してきたのが誰なのか、そしてやめてほしいと 伝えるにはどうすればよいのかを知ることができます。ANSIとだけ答えてそれ以上は何も答えないクローラーは、 設計からして匿名であり、そうする正当な理由はありません。

当サイトが実測するもの

当サイトとTTYPEをネゴシエートしたサーバーです。これは当サイトのほうが尋ねられる側になる数少ない オプションの1つなので、ここの数値は、尋ねる気のあったサーバーの数だという点に注意してください。

関連項目

  • CHARSET エンコーディングを取り決めるための、RFC 2066のtelnetオプション。ゲームのアクセント付きの名前が無事に届く理由であり、これがないときに起きる分かりにくい失敗の原因でもあります。
  • TinTin++ 独自のスクリプト言語を持つターミナルのクライアント。電話機を含むあらゆるプラットフォームで動き、文書化されたスクリーンリーダーモードがあります。
  • Blightmud Rustで書かれた現代的なターミナルのクライアント。Luaのスクリプト、内蔵の音声読み上げ、そしてサーバーに自らを知らせるスクリーンリーダーモードを備えています。