参考
代码库是什么,客户端做什么,协议又意味着什么。由人手写,与爬虫一同存放在代码仓库里——这不是维基,本页上也没有任何可编辑的东西。这里的每一个数字都是另一回事:它取自目录,每次加载页面时都重新算出。
从这里开始
- 如何连接 一个主机、一个端口,加上 telnet。游戏页面上那个地址是什么意思,以及拿它来做什么。
- MUSH、MUD、MUCK、MOO——这些词是什么意思 四个词对应四种传统,没有一个是题材类型。它们真正告诉你的是什么。
- 你想找的是协作扮演 如果你想要的是和别人一起写场景,这里是一条捷径——该找哪些代码库、哪种客户端不会跟你作对,以及第一晚会是什么光景。
代码库
- AresMUSH 一个用 Ruby 写成的现代扮演服务器,自带 Web 前端和场景工具,而不是靠 softcode 写出来的。
- CircleMUD 文档写得完善到足以拿来教学的 DikuMUD 衍生代码库。被派生的次数多得惊人;至今仍在运行。
- CobraMUSH 一个 PennMUSH 分支,有自己的分部(division)与权限模型。部署量不大,仍在应答。
- CoffeeMUD 一个用 Java 写的 MUD 服务器,拥有我们探测过的一切当中最大的一份 MSSP 报告,协议面也宽得反常。
- DikuMUD 战斗类 MUD 家族的根。等级、职业、装备和区域文件——以及一份塑造了整整一代衍生代码库的许可协议。
- Evennia 一个 Python 框架,而不是一个做好的游戏。两个 Evennia 游戏之间,可能除了管道什么都不共享。
- FluffOS 仍在维护的 MudOS 后继者,也是幸存的 LPMud 游戏大多所用的驱动。游戏是用 LPC 写的,不是用 C。
- MOO 面向对象,完全从内部编辑,与其说是游戏引擎,不如说同样是一个研究与教学平台。
- MUCK TinyMUD 的一支后裔,有自己的类 Forth 游戏内语言,社群文化也与 MUSH 那一边不同。
- PennMUSH 部署最广的 MUSH 服务器。softcode、一段很长的发布史,以及在我们的调查中仅有的两个既回应 MSSP 又回应登录前 WHO 的代码库之一。
- RhostMUSH 一个以精细的权限模型和庞大的内置函数集著称的 MUSH 服务器。没有 MSSP;会回应登录前的 WHO。
- ROM Merc 最有名的后代,也是九十年代很大一部分 MUD 所建立在其上的战斗引擎。
- SMAUG 一个为大型主题世界打造的 Merc 衍生版本,有神祇、位面,以及规模数倍于其上游的区域集。
- tbaMUD CircleMUD 仍在维护的延续,也是“我今天想开一个 Diku 风格的 MUD”这个问题的常规答案。
- TinyMUSH MUSH 一脉的祖先,至今仍有游戏在跑。它让这个爬虫明白了:自己发出的协商字节,会毁掉它接下来发送的那条命令。
- TinyMUX 另一个大牌 MUSH 服务器。softcode 与 PennMUSH 的接近到足以让人争论不休,完全没有 MSSP,而登录前的 WHO 是好用的。
客户端
- Atlantis 一个只跑在 macOS 上的客户端,活得久,在 beta 里也待得久。它的脚本功能有文档说明已经不能用了,这是本节里唯一一个诚实的“否”。
- BeipMU 一个瞄准这个爱好中 MUSH 那一边的 Windows 客户端,输出窗口有屏幕阅读器支持,走的是 Pueblo 而不是 MXP。
- Blightmud 一个用 Rust 写的现代终端客户端,有 Lua 脚本、内置的文本转语音,以及一个会向服务器自报的屏幕阅读器模式。
- Mudlet 跨平台,用 Lua 编写脚本,也是本节中屏幕阅读器支持的文档写得最详尽的客户端。
- MUSHclient 老牌的 Windows 客户端。五种脚本语言,一套承载了它大部分协议支持的插件架构,以及一段已经放缓的发布史。
- Potato MUSHclient 一个为 MUSH 玩家写的跨平台 Tcl/Tk 客户端。编码支持不错,而它的整套文档对大多数协议只字未提。
- TinTin++ 一个有自己脚本语言的终端客户端,在每一个平台上都能跑,手机也不例外,并且有一个成文的屏幕阅读器模式。
- TinyFugue 经典的 UNIX 终端客户端。上游自 2007 年起就没有再发布过;一个仍在维护的分支把它带了下去。
- VIP Mud 一个从头为盲人玩家打造的商业 Windows 客户端。它点名了七款屏幕阅读器——却几乎没有公布任何关于协议支持的内容。
协议
- ATCP GMCP 的前身。带外数据,载荷格式更松散,如今大体已被取代,仍有一直没把它删掉的服务器在继续协商它。
- CHARSET RFC 2066 里用来商定编码的 telnet 选项。一个游戏中带重音符号的名字能完好走完全程,靠的就是它;而它缺席时,一些细微的故障也由此而来。
- GMCP Generic Mud Communication Protocol——与文本并行的结构化 JSON 消息,也是当下多数客户端所面向的带外通道。
- MCCP 流压缩。开销小、部署广,也是本项目历史上最有教益的那个 bug 的来源。
- MSDP Mud Server Data Protocol——和 GMCP 干同一件事,用的是一种紧凑的二进制编码,外加一套 GMCP 所没有的发现机制。
- MSP MUD Sound Protocol——服务器点名一个声音文件,客户端把它放出来。古老、简单,也很容易与另外两样东西弄混。
- MSSP Mud Server Status Protocol——一个游戏如何向爬虫讲述自己。它报告的一切都是自述而非实测,本站把这两者分得清清楚楚。
- MXP MUD eXtension Protocol——嵌在文本流里的类 HTML 标记,带来可点击的链接、图片和表单。规范写得详尽,实现却参差不齐。
- Pueblo 更早的那套“在 MUD 里用 HTML”的方案,出自同名的客户端。MUSH 那一侧的客户端仍在支持它,它也经常被人与 MXP 弄混。
- TLS 加密的连接。通常是另开一个端口,而不是协商式的带内升级;它也是本站唯一一项靠亲自连上去、而不是靠开口询问来核实的能力。
- TTYPE and MTTS 客户端如何告诉服务器自己是什么、能做什么——包括在它愿意开口的时候,说出正有人在使用屏幕阅读器。