跳到主要内容

KnotLink 协议与联动

KnotLink 是 FolderRewind 与外部程序(如游戏模组、脚本工具)通信的桥梁,基于 TCP 协议。

典型用途

  • 在备份前通知外部程序执行保存动作
  • 在还原后通知外部程序重新加载状态
  • 接收外部命令触发备份或还原任务
  • 查询当前备份状态和历史

在插件中的接入点

PluginHostContext API

通过 SetHostContext 注入的 PluginHostContext 提供以下通信方法:

方法用途
BroadcastEvent(eventData)向所有订阅者广播事件
BroadcastEventAsync(eventData)异步广播事件
QueryKnotLinkAsync(question, timeoutMs)发送请求并等待响应
SubscribeSignal(signalId, onSignal)订阅指定信号通道
SendKnotLinkCommand(message)发送命令(异步执行,不等待响应)

状态检查:

属性说明
IsKnotLinkAvailableKnotLink 整体是否可用
IsKnotLinkSenderReady发送器是否就绪
IsKnotLinkResponserReady响应器是否就绪

命令扩展接口

  • IFolderRewindKnotLinkCommandHandler — 扩展可识别的基础命令
  • IFolderRewindParameterizedKnotLinkCommandHandler — 扩展参数化命令

MineRewind 实战中的命令

命令说明
BACKUP_CURRENT备份当前活跃的 Minecraft 世界
BACKUP <config_id> <folder> [comment] [FORCE_FULL]指定配置和文件夹备份
RESTORE_CURRENT_LATEST热还原当前世界到最新备份
RESTORE_CURRENT <backup_file>热还原到指定备份
RESTORE_CURRENT_WITH_DATA [file]热还原并保留玩家数据
LIST_BACKUPS_CURRENT列出当前世界的所有备份

这些命令配合 KnotLink 事件广播实现「保存-退出-还原-重进」完整链路。

插件实现细节见 KnotLink Command API

相关链接