跳到主要内容
版本:v4

包体更新规则

本文为 TapTap PC 游戏更新机制 的参考部分,说明 TapTap 分发更新时,包体内文件与目录的处理规则。增量更新与差量更新的生效条件,见更新机制中的 增量更新与差量更新

TapTap 分发更新时,会对比新旧版本包体,按以下规则处理文件与目录的新增、删除与修改。遵循这些规则有助于生成更小的补丁、避免误删运行期数据。

文件规则

旧版本文件状态新版本文件状态TapTap 行为说明
❌ 不存在✅ 存在下载新文件
✅ 存在❌ 不存在删除文件不校验旧版本文件内容(即使在运行期被修改,也会删除)
✅ 存在✅ 存在且内容相同忽略不校验旧版本文件内容(即使在运行期被修改,也会忽略)
✅ 存在✅ 存在且内容不同仅下载差异块不校验旧版本文件内容;请确保旧版本文件在运行期未被改写
❌ 不存在❌ 不存在保留文件运行期生成的文件不会被删除或修改

目录规则

包体中的目录(包括空目录)会随包体一起被记录。新旧版本之间的目录差异按以下规则处理:

旧版本目录状态新版本目录状态TapTap 行为说明
❌ 不存在✅ 存在创建空目录安装 / 更新前 TapTap 会按新版本目录结构提前创建好整个目录树
✅ 存在❌ 不存在递归删除整个目录目录下任何运行期写入的内容(日志、缓存、用户数据等)也会一并被删除
✅ 存在✅ 存在保留目录本身不动;目录内文件按上节「文件规则」处理
警告

若某个目录在新版本中被移除,TapTap 会整体清理该目录,目录下运行期写入的文件也会被一并删除。涉及用户数据 / 存档的目录,请从一开始就放在包体之外的专用目录,避免后续版本调整目录结构时被误删。

开发者最佳实践

存档与用户数据

  • 游戏存档放置于专用目录(例如 Saves/),并在打包时排除该目录。
  • 玩家个性化配置(键位、画质、语言等)放置于专用目录(例如 UserSettings/),并排除在包体之外。
  • 切勿将用户数据放进包体已包含的目录——若该目录在后续版本被移除,目录下运行期写入的数据将一并被清理。

包内容

  • 只读原则:包体内文件运行期保持只读,禁止动态改写。
  • 路径稳定:相同资源在不同版本中保持一致的相对路径与文件名;目录结构尽量保持稳定,避免在版本间整体重命名或删除目录。
  • 移除冗余资源:删除不再使用的旧资源文件,减小补丁体积。

获得最佳增量 / 差量效果

  1. 相同文件保持路径与文件名不变。
  2. 不在目录结构中携带版本号信息。
  3. 旧版本文件在运行期不得被改写。
  4. 通过版本控制系统精确管理资源变动,避免临时文件进入包体。