リファレンス
コードベースとは何か、クライアントは何をするか、プロトコルは何を意味するか。人の手で書き、クローラーと同じリポジトリに置いている — ウィキではなく、このページに編集できるものはない。ここにある数値はどれも別物:カタログから取り、ページを読み込むたびに再計算している。
はじめに
- 接続のしかた ホストとポート、そしてtelnet。ゲームのページに載っているアドレスが何を意味し、それをどうするか。
- MUSH、MUD、MUCK、MOO — 言葉の意味するもの 4つの伝統を指す4つの言葉であり、そのどれもジャンルではありません。これらが実際に伝えていること。
- 共同ロールプレイがしたい 求めているのが他の人と一緒にシーンを書くことなら、これがその近道です — 探すべきコードベース、邪魔をしないクライアント、そして最初の晩に何が起きるか。
コードベース
- AresMUSH Rubyで書かれた現代的なロールプレイ用サーバー。Webのフロントエンドと、softcodeではなく機能として組み込まれたシーン用ツールを備えています。
- CircleMUD 教材に使えるほど丁寧に文書化されたDikuMUDの派生。膨大にフォークされ、今も動いています。
- CobraMUSH 独自のdivisionと権限のモデルを持つPennMUSHのフォーク。稼働数は少ないものの、今も応答しています。
- CoffeeMUD Javaで書かれたMUDサーバー。当サイトが探査したなかで最大のMSSPレポートを持ち、対応プロトコルの幅も異例の広さです。
- DikuMUD 戦闘型MUDファミリーの根。レベル、クラス、装備、エリアファイル — そして一世代分の派生を形づくったライセンス。
- Evennia 完成したゲームではなく、Pythonのフレームワーク。2つのEvenniaのゲームに共通するものが配管だけ、ということもありえます。
- FluffOS メンテナンスが続くMudOSの後継であり、生き残っているLPMudの多くが動いているドライバー。ゲームはCではなくLPCで書かれます。
- MOO オブジェクト指向で、すべて内側から編集され、ゲームエンジンであると同時に研究と教育のプラットフォームでもあります。
- MUCK Forth風の独自のゲーム内言語を持つTinyMUDの子孫。MUSH側とは異なる社交の文化を持っています。
- PennMUSH 最も広く使われているMUSHサーバー。softcode、長いリリースの歴史、そして当サイトの調査でMSSPとログイン前のWHOの両方に応答した2つだけのコードベースの一つ。
- RhostMUSH 深い権限モデルと大きな組み込み関数群で知られるMUSHサーバー。MSSPはなく、ログイン前のWHOに応答します。
- ROM Mercの最もよく知られた子孫であり、90年代のMUDの大きな割合がその上に建てられた戦闘エンジン。
- SMAUG 大きなテーマ世界のために作られたMercの派生。神々と次元界、そして親の数倍の規模のエリア群を備えています。
- tbaMUD メンテナンスが続くCircleMUDの後継であり、「今日Diku系のMUDを始めたい」への通常の答え。
- TinyMUSH MUSHの系統の祖先であり、今もゲームを動かしています。自分のネゴシエーションのバイトが次に送るコマンドを壊しうることを、このクローラーに教えた相手です。
- TinyMUX もう一つの大きなMUSHサーバー。PennMUSHのものと議論になるほど近いsoftcode、MSSPはまったくなし、そして機能するログイン前のWHO。
クライアント
- Atlantis macOS専用のクライアント。長命で、長らくベータのままです。スクリプト機能はもう動かないと文書化されており、それがこの節で唯一の正直な「いいえ」です。
- BeipMU この趣味のMUSH側に向けたWindowsのクライアント。出力ウィンドウにスクリーンリーダー対応があり、MXPではなくPuebloに対応します。
- Blightmud Rustで書かれた現代的なターミナルのクライアント。Luaのスクリプト、内蔵の音声読み上げ、そしてサーバーに自らを知らせるスクリーンリーダーモードを備えています。
- Mudlet クロスプラットフォームでLuaによるスクリプトを備え、この節でスクリーンリーダー対応が最も丁寧に文書化されているクライアント。
- MUSHclient 長く定着しているWindowsのクライアント。5つのスクリプト言語、プロトコル対応の大半が置かれているプラグインのアーキテクチャ、そして緩やかになったリリースの歴史。
- Potato MUSHclient MUSHのプレイヤーのために書かれた、クロスプラットフォームのTcl/Tkクライアント。エンコーディングへの対応は良好で、ドキュメントはプロトコルの大半について何も語りません。
- TinTin++ 独自のスクリプト言語を持つターミナルのクライアント。電話機を含むあらゆるプラットフォームで動き、文書化されたスクリーンリーダーモードがあります。
- TinyFugue 古典的なUNIXのターミナルクライアント。上流は2007年以降リリースしておらず、メンテナンスされているフォークがそれを前へ運んでいます。
- VIP Mud 目の見えないプレイヤーのために一から作られた商用のWindowsクライアント。7つのスクリーンリーダーを名指しする一方で、プロトコル対応についてはほとんど何も公開していません。
プロトコル
- ATCP GMCPの前身。ペイロードの形式がより緩い帯域外データで、大部分は置き換えられましたが、削除しなかったサーバーでは今もネゴシエートされています。
- CHARSET エンコーディングを取り決めるための、RFC 2066のtelnetオプション。ゲームのアクセント付きの名前が無事に届く理由であり、これがないときに起きる分かりにくい失敗の原因でもあります。
- GMCP Generic Mud Communication Protocol — テキストと並んで流れる構造化されたJSONメッセージであり、現代のクライアントの多くが土台にしている帯域外チャネルです。
- MCCP ストリームの圧縮。安上がりで広く普及しており、このプロジェクトの歴史で最も学ぶところの多い不具合を生んだプロトコルです。
- MSDP Mud Server Data Protocol — GMCPと同じ仕事を、コンパクトなバイナリ符号化と、GMCPにはない探索の仕組みでこなします。
- MSP MUD Sound Protocol — サーバーが音声ファイルを指定し、クライアントがそれを再生します。古く、単純で、他の2つと取り違えやすいプロトコルです。
- MSSP Mud Server Status Protocol — ゲームがクローラーに自分自身を伝える手段です。そこで報告されるものはすべて実測ではなく自己申告であり、当サイトはこの2つを分けて扱います。
- MXP MUD eXtension Protocol — テキストのストリームに埋め込まれたHTMLに似たマークアップで、クリックできるリンク、画像、フォームをもたらします。仕様は広く行き渡っていますが、実装はまちまちです。
- Pueblo 同名のクライアントから生まれた、MUDにHTMLを載せる古いほうの方式。MUSH側のクライアントでは今も対応されており、MXPと取り違えられることがよくあります。
- TLS 暗号化された接続。ネゴシエートによる切り替えではなく別のポートであるのが普通で、当サイトが訊くのではなく接続して確かめる唯一の機能です。
- TTYPEとMTTS クライアントが、自分は何であり何ができるかをサーバーに伝えるための仕組み — クライアントがそう伝えることを選べば、スクリーンリーダーが使われていることも含めて。