Mudlet中使用GMCP扩展自动安装MUD扩展包和地图

自动包安装

如果 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 可以在用户首次打开地图工具时自动下载地图,也可以通过设置中的“地图”选项卡重新下载地图:

file

地图可以是 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开关地图组件显示。

file

京ICP备13031296号-4