自动包安装
如果 MUD 服务器提供相关功能,Mudlet 支持自动下载和安装 MUD 包。这些包可以包含游戏的图形扩展,或任何你希望玩家在其 Mudlet 配置文件中默认加载的内容。对于用户而言,此设置是全自动且无需费心的,并且还能以透明方式处理包更新。
设置
GMCP 协商完成后,服务器应通过 GMCP 发送以下消息:
Client.GUI {
"version": "<包版本>",
"url": "<下载链接>"
}
当 Mudlet 收到该消息后,会自动完成所有操作以显示最新界面:如果用户尚未安装该包,将从指定链接下载并安装;如果已安装但版本较旧,则会进行升级;如果已是最新版本,则不执行任何操作。
请确保文件名与包名一致,因为 Mudlet 会通过文件名判断该包是否已安装。
例如:
Client.GUI {
"version": "1.0.0",
"url": "https://mud.ren/storage/mudren.mpackage.zip"
}
注意:Mudlet 4.18+ 版本中,JSON 中的 "version" 参数也可以是整数类型。
注意:还有一种较旧的方式虽然不推荐但仍受支持,即通过 GMCP 发送以下格式的消息:
Client.GUI <包版本>\n<下载链接>
演示
请直接用mudlet客户端连接mud.ren 6666看看效果,会自动下载GUI扩展包。
更新
如果你将包版本修改为与之前不同的任何文本,Mudlet 会将其视为更新——它会卸载旧包并安装新包。此过程不会提示用户(因为如果用户拒绝可能会带来麻烦),因此用户对旧包所做的任何修改都将被清除。建议鼓励用户在包外部进行修改,并提供相应的钩子机制。
包版本可以使用任何你认为合适的文本格式。简单的版本号(从 1 开始,依次为 2、3 等)即可,也可以使用包含次要版本和/或补丁版本的格式,如 1.2、1.2.3 甚至 1.2.3-alpha(可参考 语义化版本 2.0.0 获取灵感)。你还可以直接使用发布日期(例如当前日期 2021-06-17,但如果同一天发布多个版本,需明确区分),甚至为每个版本起特殊名称(可以参考 情感化版本控制 获取灵感)。
自动地图下载
Mudlet 可以在用户首次打开地图工具时自动下载地图,也可以通过设置中的“地图”选项卡重新下载地图:

地图可以是 MMP 标准格式(文件名以 .xml 结尾)或从 Mudlet 导出的格式(在mudlet中map save指令保存的map.dat)。
注意:建议先发送 Client.Map 消息,再发送 Client.GUI 消息,以获得最佳效果。
设置
要让 Mudlet 知道地图的下载位置,请在 GMCP 启用后发送以下消息:
Client.Map {
"url": "https://mud.ren/storage/map.dat"
}
这里会自动下载炎黄的游戏地图。
如果在MUDLET中没有显示,可以输入指令map load重新加载地图数据,输入指令map show开关地图组件显示。
