MSP [协议]
MUD Sound Protocol——服务器点名一个声音文件,客户端把它放出来。古老、简单,也很容易与另外两样东西弄混。
https://www.zuggsoft.com/zmud/msp.htm
实测采用情况
在886个已列出的游戏中,有 0 个被观测到提供了它(0.0%)
/zh-Hans/games?protocol=MSP
未算进这里的游戏,并不是没有这个协议的游戏。一个游戏被算进这里,条件是我们观测到它的服务器在一次握手中提供了这个选项;其余的既包括没有向我们提供它的服务器,也包括我们还没有读到过握手的服务器,而我们说不出是哪一种。
按代码库,在我们已识别的游戏中
AresMUSH 18 个中有 0 个提供了它
CircleMUD 47 个中有 0 个提供了它
CobraMUSH 2 个中有 0 个提供了它
CoffeeMUD 32 个中有 0 个提供了它
DikuMUD 34 个中有 0 个提供了它
Evennia 11 个中有 0 个提供了它
FluffOS 28 个中有 0 个提供了它
MUCK 24 个中有 0 个提供了它
PennMUSH 34 个中有 0 个提供了它
RhostMUSH 40 个中有 0 个提供了它
ROM 55 个中有 0 个提供了它
SMAUG 20 个中有 0 个提供了它
tbaMUD 5 个中有 0 个提供了它
TinyMUSH 9 个中有 0 个提供了它
MSP 让服务器可以请求客户端播放一段声音:一条用方括号括起来的指令,点明文件、音量、重复次数, 以及在客户端手上没有这个文件时用来取回它的 URL。它在
telnet 选项 90 上协商, 而那些从不协商任何东西的服务器,也可以把它带内塞在文本流里发出来。
它确实古老,也确实仍在使用——文字游戏里的环境音,效果比听起来要大; 而对于靠客户端的音频提示而不是靠画面来玩的玩家,它不只是装饰。
它不是的三样东西
本节里的客户端对照表在这里必须格外小心,值得把原因写下来:
- MCMP——Mud Client Media Protocol——是另一个协议,干着类似的活。至少有一个客户端实现了 MCMP 而没有实现
MSP,把其中一个读成另一个,就会在表里放进一句谁也没说过的话。
- 客户端自己的“播放一段声音”脚本调用不是 MSP。它是在脚本这么说的时候播放一个本地文件; MSP 则是服务器告诉客户端该放什么。
- 以捆绑插件形式提供的支持,值得照实写明。 有一个客户端的 MSP 支持是以插件形式随附的, 而该插件明确不做任何 telnet 协商,因此它在带内发送
MSP 的服务器上可用, 在期待先协商的服务器上则不可用。
我们实测的是什么
提供了 telnet 选项 90 的服务器。由于 MSP 经常不经协商就带内发出,这个数字低估了实际的部署情况,
低估的幅度我们无法估计——这是一次握手所能看到的范围的局限,而不是关于这个协议的结论。
另见
MXP — /zh-Hans/reference/protocols/mxp
VIP Mud — /zh-Hans/reference/clients/vipmud