Skip to content
This repository was archived by the owner on Aug 27, 2026. It is now read-only.

Releases: YU322142/MCSync

MCSync 2.0.3

Choose a tag to compare

@YU322142 YU322142 released this 27 Aug 02:16

MCSync 2.0.3 发布说明 / Release Notes

发布日期 / Release date: 2026-08-26

中文

MCSync 2.0.3 是一次可靠性修复版。核心原则改为:云端或网络故障不能阻止玩家使用上一次完整可用的客户端;只有本地存在未能自动恢复的事务损坏时才阻止启动,避免继续写坏文件。

主要变更

  1. 云端故障放行

    • mods-v5.json、前置自更新入口、文件下载、平台来源或服务器列表临时失败时,保留当前客户端并正常进入游戏,下次启动自动重试。
    • 服务器列表同步独立于玩法 OTA;服务器列表故障不会推翻已经完成的核心更新。
    • 下载、校验和暂存阶段失败不会修改正式文件。
  2. 中断恢复与本体更新加固

    • 每次联网前先恢复未完成的本地发布事务,再检查新版本。
    • BakaXL 的持久实例与运行副本会先全部预检下载和哈希,再开始任一目录提交,避免双目录半升级。
    • 若自动回滚失败并留下 .modsync/RECOVERY_REQUIRED.txt,启动仍会被阻止,以免在已知损坏状态上继续运行。
    • 前置自更新不再先生成第二个文件名。退出后只原子替换当前 MCSync JAR 的内容,完整 OTA 在下一次启动整理文件名,消除强杀时出现两个相同 modId JAR 的崩溃窗口。
  3. 更快的平台匹配

    • 移除发布阶段的 SHA-512 查询。Modrinth 使用 SHA-1 定位固定文件元数据,客户端仍以清单锁定的大小和 SHA-256 验收实际下载。
    • CurseForge fingerprint/fileId 只用于锁定文件元数据;发布器不再为每个 Mod 重复下载完整 JAR。客户端最终 SHA-256 不符时拒绝该候选并保留旧客户端。
    • 未变化文件继续复用本地哈希与平台证据缓存。
  4. 故障回归覆盖

    • 新增 HTTP 500、无效 JSON、文件 503、下载失败、事务中断及人工恢复标记等故障测试。
    • 构建流程新增真实启动冒烟测试:云端不可用必须进入游戏,本地回滚不完整必须阻止启动。

兼容说明

  • 技术 modId 仍为 mcmodsync,schema-v5 和旧版升级入口保持不变。
  • 2.0.3 可以读取现有 2.0.x 发布项目和清单,不要求重新设计云端目录。
  • 云端故障放行不是跳过安全校验:任何下载仍必须匹配清单中的大小和 SHA-256;失败时使用旧文件,而不是安装未经确认的文件。

English

MCSync 2.0.3 is a reliability release. Its central rule is that cloud or network failures must not prevent players from using the last complete working client. Startup is blocked only when a local interrupted transaction cannot be recovered safely.

Highlights

  1. Fail-open cloud handling

    • Temporary failures of mods-v5.json, the updater bootstrap, artifact downloads, platform sources, or the server-list endpoint preserve the current client and allow the game to start. MCSync retries on the next launch.
    • Server-list synchronization is isolated from gameplay OTA, so a server-list outage cannot invalidate an otherwise successful core update.
    • Failures during download, verification, or staging do not modify live files.
  2. Interrupted-update recovery and safer self-update

    • Pending local release transactions are recovered before any new network work begins.
    • BakaXL persistent and runtime copies are fully prefetched and hash-checked before either copy is committed, preventing a half-updated pair.
    • If automatic rollback fails and leaves .modsync/RECOVERY_REQUIRED.txt, startup remains blocked to avoid operating on known-corrupt local state.
    • The bootstrap updater no longer creates a second updater filename first. After exit it atomically replaces the bytes of the current MCSync JAR; the next full OTA normalizes the filename. A hard kill therefore cannot leave two JARs with the same modId.
  3. Faster platform matching

    • Removed publisher-side SHA-512 lookup. Modrinth now uses SHA-1 to locate pinned file metadata, while the client still accepts downloaded bytes only after manifest size and SHA-256 verification.
    • CurseForge fingerprint/fileId is metadata location only. The publisher no longer redownloads every complete Mod JAR; a client-side SHA-256 mismatch rejects the candidate and preserves the old client.
    • Unchanged files continue to reuse local hash and platform-evidence caches.
  4. Fault-regression coverage

    • Added coverage for HTTP 500, invalid JSON, artifact 503, download failures, interrupted transactions, and explicit recovery markers.
    • The build now performs real startup smoke tests: cloud outages must reach the game, while incomplete local rollback must block startup.

Compatibility

  • The technical modId remains mcmodsync; schema-v5 and legacy upgrade entry points are unchanged.
  • 2.0.3 reads existing 2.0.x publisher projects and manifests without requiring a new cloud layout.
  • Fail-open cloud handling does not bypass integrity verification. Every downloaded artifact must still match its manifest size and SHA-256; on failure MCSync uses the old file instead of installing unverified bytes.

MCSync 2.0.2

Choose a tag to compare

@YU322142 YU322142 released this 25 Aug 08:47

MCSync 2.0.2 发布说明 / Release Notes

发布日期 / Release date: 2026-08-25

中文

MCSync 2.0.2 是面向 OTA 稳定性和更新器自更新链路的兼容维护版。它保留 schema-v5 和技术 modId=mcmodsync,重点解决旧版更新器必须先完整理解新清单、导致自身无法更新的问题。

主要变更

  1. 独立前置自更新通道

    • 稳定清单旁新增 mcsync-bootstrap-v1.json。
    • 客户端先只验证 MCSync 自身的版本、发布序号、文件大小、SHA-256 和 JAR 身份。
    • 有更新时只下载 MCSync,游戏退出后原子替换;下一次启动才处理完整玩法 OTA。
  2. 严格但可兼容的入口策略

    • 前置清单尚未部署并返回 HTTP 404 时,旧客户端继续走兼容路径。
    • 前置清单已经存在但格式、版本、大小、SHA-256 或下载失败时严格阻止,不自动绕过安全检查。
    • 发布序号仍执行单调防降级和同序号分叉保护。
  3. 发布器自动生成

    • 发布工作台从唯一的必需、本地托管 modId=mcmodsync JAR 自动生成前置清单。
    • MCSync 自身不依赖 Modrinth、CurseForge 或镜像站解析。
    • 发布指南明确要求先上传内容对象和前置清单,最后替换 mods-v5.json 稳定入口。
  4. 平台镜像回退修复

    • 旧清单把 Modrinth 官方 CDN 地址标记为镜像时,客户端会回退到固定官方地址。
    • 每个回退候选仍必须通过清单锁定的 SHA-256 和文件大小校验。

兼容说明

  • 技术 Mod ID 仍为 mcmodsync,旧的 1.9.x/1.6.x 网关仍可识别。
  • modRemovals 的最低兼容版本仍为 2.0.1;2.0.2 不改变既有 schema-v5 清单格式。
  • 旧客户端第一次跨越到独立前置通道时,仍需要一次可被旧版本读取的过桥更新;完成后后续更新不再依赖旧版完整清单解析能力。

English

MCSync 2.0.2 is a compatibility maintenance release focused on OTA reliability and updater self-update behavior. It preserves schema-v5 and the technical modId=mcmodsync, while removing the circular dependency that required an old updater to fully understand every future release before updating itself.

Highlights

  1. Independent updater bootstrap lane

    • Added mcsync-bootstrap-v1.json beside the stable manifest.
    • The client first verifies only the MCSync version, release sequence, file size, SHA-256, and JAR identity.
    • When an update is needed, only MCSync is downloaded and atomically committed after exit; the full gameplay OTA runs on the next launch.
  2. Strict but compatible endpoint policy

    • An undeployed bootstrap endpoint returning HTTP 404 keeps the legacy compatibility path.
    • Existing but malformed, divergent, size-invalid, hash-invalid, or failed bootstrap data blocks safely instead of bypassing verification.
    • Release sequences still enforce monotonic anti-downgrade and same-sequence fork protection.
  3. Automatic publisher generation

    • The publisher derives the bootstrap from the single required, publisher-hosted modId=mcmodsync JAR.
    • MCSync itself never depends on Modrinth, CurseForge, or mirror resolution.
    • Deployment guidance now uploads content objects and the bootstrap before atomically replacing mods-v5.json.
  4. Platform mirror fallback fix

    • If an older manifest labels a Modrinth official CDN URL as a mirror, the client falls back to the exact pinned official URL.
    • Every fallback candidate remains locked to the manifest size and SHA-256.

Compatibility

  • The technical Mod ID remains mcmodsync; legacy 1.9.x and 1.6.x gateways remain recognizable.
  • The modRemovals minimum compatibility version remains 2.0.1; 2.0.2 does not change schema-v5 semantics.
  • A legacy client still needs one readable bridge update to enter the independent bootstrap lane; after that, future updates no longer depend on old full-manifest parsing.

MCSync 2.0.0

Choose a tag to compare

@YU322142 YU322142 released this 19 Aug 06:14

MCSync 2.0.0

中文

  • 云端托管改为 SHA-256 内容寻址:objects/sha256/<前两位>/<完整哈希>,不再生成时间戳版本目录。
  • 完整历史清单位于 manifests/<releaseId>.json;正式入口仍为 channel/stable/mods-v5.json,并且必须最后替换。
  • 新增重新全量发布模式:可沿用同哈希的平台验证证据,但会完整导出全部本地托管对象;后续 OTA 只需上传新哈希对象。
  • 发布 GUI 可在完整发布中生成旧版网关,也可独立生成不触发全量扫描的 1.9.x、1.6.x/1.7.x 永久升级入口上传包,并附机器清单、SHA-256 清单和中英文说明。
  • 发布序号继续按当前系统时间生成并承担防降级,不参与文件 URL。
  • 修复 Iris、Indigo 和 PacketFixer 自写配置造成的反复重启。
  • 发布 GUI、命令行发布器、中英文文档和 106 项回归测试已同步更新。

English

  • Cloud hosting now uses SHA-256 content addressing at objects/sha256/<first-two>/<full-hash> instead of timestamp-named release directories.
  • Complete historical manifests live at manifests/<releaseId>.json; the stable entry remains channel/stable/mods-v5.json and must be replaced last.
  • Added a fresh full-publication mode that may reuse exact-hash platform verification evidence while still exporting every locally hosted object. Later OTA releases only need newly introduced hashes.
  • The publishing GUI can include legacy gateways in a complete publication or generate a standalone permanent 1.9.x and 1.6.x/1.7.x gateway upload package without a full rescan. The package includes a machine manifest, SHA-256 sums, and equivalent Chinese and English instructions.
  • Release sequences are still generated from the current system time and enforce anti-downgrade rules, but no longer participate in payload URLs.
  • Fixed restart loops caused by self-rewriting Iris, Indigo, and PacketFixer configuration files.
  • The publishing GUI, command-line publisher, bilingual documentation, and all 106 regression tests have been updated together.

MCModSync 1.9.6

Choose a tag to compare

@YU322142 YU322142 released this 18 Aug 08:56

中文

MCModSync 1.9.6 正式版。

主要更新

  • 修复 NeoForge/Linux 辅助进程的桌面同步窗口。
  • 默认最多使用 8 个并行下载线程。
  • Mod 或资源包下载失败时只重试失败任务,保留已经成功校验的文件。
  • 在客户端 mods 目录永久保留经过验证的 mods-v4.txt 云端清单副本。
  • 加宽独立清单发布器和必须/推荐清单编辑器。
  • 默认启用继续编辑上次清单,并自动匹配 mods/mods-v4.txt。
  • 继续编辑旧清单时生成新的当前时间 catalog-version。
  • 提供中英文界面与日志,以及 Fabric/NeoForge 1.21.1 元数据。

SHA256:9171B0FEC763AFAA03014EAA657430387411D659B28347516DED8E46482373AE


English

MCModSync 1.9.6 stable release.

Highlights

  • Fixes desktop synchronization dialogs for NeoForge/Linux helper processes.
  • Uses up to 8 parallel download threads by default.
  • Retries only failed Mod or resource-pack tasks while retaining successfully validated downloads.
  • Keeps a validated cloud catalog copy at mods/mods-v4.txt.
  • Widens the standalone catalog publisher and required/recommended catalog editor.
  • Enables previous-catalog continuation by default and automatically matches mods/mods-v4.txt.
  • Generates a fresh timestamp-based catalog-version when continuing an earlier catalog.
  • Includes bilingual UI/logging and Fabric/NeoForge 1.21.1 metadata.

SHA256: 9171B0FEC763AFAA03014EAA657430387411D659B28347516DED8E46482373AE