Skip to content

Releases

v0.6.4

Choose a tag to compare

@MiYui34 MiYui34 released this 14 Nov 03:56

修复

  • 跨机同步速度:此前每个文件都新建一条 TCP 连接,下载完还要再发一次 /v1/stat 复核,几万个小文件时光是握手就要几个小时。现在每个线程复用一条 keep-alive 连接,连接被对端关掉时自动换新重试。
  • sync.concurrency 默认从 4 提到 8(跨机高延迟链路可以调到 16)。
  • 新增 source.agent.verify_copy(默认 true):设为 false 时不再对每个文件发复核请求,省掉一半往返;代价是文件在传输途中被改写时可能要到下一轮才发现。

Fix

  • Cross-machine throughput: every file used to open a new TCP connection, plus a second /v1/stat request to verify the download — tens of thousands of small files spent hours in handshakes. Each worker thread now reuses one keep-alive connection and reconnects transparently when the peer closes it.
  • sync.concurrency defaults to 8 (raise to 16 on high-latency links).
  • New source.agent.verify_copy (default true): set it to false to skip the per-file verification round trip.

v0.6.3

Choose a tag to compare

@MiYui34 MiYui34 released this 10 Nov 13:10

修复

  • 以 role: "exporter" 加载插件时,agent 绑定端口会走 HTTPServer.server_bind(),其中 socket.getfqdn() 的反向 DNS 查询在 macOS 上可能阻塞十几秒,触发 MCDR 的 TaskExecutor 线程已经 10 秒没有响应 警告。现在改为直接绑定,不再做反向解析。

Fix

  • Binding the exporter port no longer performs a reverse DNS lookup (socket.getfqdn()), which could block for seconds on macOS and trigger MCDR's watchdog warning (TaskExecutor has not responded for 10 seconds).

v0.6.2

Choose a tag to compare

@MiYui34 MiYui34 released this 10 Nov 12:53

修复 !!MCDR plugin install mirror_up 仍然报 Invalid chat component: Illegal character in path 的问题。

0.6.1 只改了 mcdreforged.plugin.json 的
equirements 字段,但插件库生成依赖列表时读的是仓库里的
equirements.txt,所以安装提示里仍然是 xxhash>=3.0。0.6.2 把
equirements.txt 也改成不带版本约束的 xxhash。

功能与 0.6.1 相同。

v0.6.1

Choose a tag to compare

@MiYui34 MiYui34 released this 10 Nov 11:44

修复 !!MCDR plugin install mirror_up 报 Invalid chat component: Illegal character in path 的问题。

原因:MCDR 会用 requirements 的原始字符串拼 PyPI 链接,xxhash>=3.0 里的 > 在 URL 中非法,服务端解析聊天组件时拒绝。现在依赖声明改为 xxhash(不带版本约束),安装提示恢复正常。

功能与 0.6.0 相同。

v0.6.0

Choose a tag to compare

@MiYui34 MiYui34 released this 09 Nov 07:21

MirrorUP v0.6.0

新增「就地同步」:在哪个服务器执行 !!mu sync,就同步哪个服务器(mirror_control.adapter: "self")。

新增

  • self 停服适配器:停掉插件所在 MCDR 管理的服务端,写完后自动拉起;没有变更时完全不碰服务器。
  • .mcc 外置 chunk 增量:外置容器的 region 只搬迁占位记录,内容按普通文件增量同步;不再被引用的 .mcc 自动清理。
  • 跨机 agent 传输:主服以只读 HTTP 提供数据(Bearer token,可选 TLS 证书固定),镜像侧不必挂载主服目录。
  • rcon / external 自动停服:停不下来就拒绝写入。
  • 多镜像目标:一份源、多个镜像目录,每个目标可以有独立的停服方式。
  • !!mu verify / !!mu history:核对源/镜像/索引三方一致(--deep 比哈希),查看每轮结果。
  • 定时同步:间隔 60 秒 ~ 7 天。

安装

  1. 把 MirrorUP-v0.6.0.mcdr 放进 MCDR 的 plugins/ 目录。
  2. pip install xxhash(MCDR 只校验依赖,不会自动安装)。
  3. 重启 MCDR,首次加载生成 config/mirror_up/config.json。

需要 MCDR ≥ 2.12.0、Python ≥ 3.9。