游戏启动器/更新程序下载delta diff

时间:2017-03-13 18:36:35

标签: c# unity3d

我正在为我的游戏制作一个启动器(使用Unity3d)。

我希望它具有以下功能:

  • 将游戏版本与最新版本进行比较,并在必要时进行更新
  • 检查文件完整性并在发现差异时进行更新
  • 下载/修补所需文件

因此比较游戏版本很简单:我只需解析一个version.txt文件,并将其值与最新的服务器版本进行比较。

检查文件完整性听起来也很容易:列出游戏文件夹中的所有文件,订购列表,获取校验和并检查它是否对应。

现在这是困难的部分:下载所需的文件。

我的第一个想法是:如果文件校验和不同,请下载该文件。 但统一资产被压缩成大文件,所以即使是简单的更改也会导致下载2gb文件......

所以我现在正在寻找一种只下载不同部分的方法。 我听说过VCDIFF / xdelta,显然它们可以用来获得不同二进制文件的“增量补丁”。凉。 但是如果比较两个文件夹中的一个是遥远的,而不是之前全部下载,我怎么能比较呢?

torrent可以回答吗? 游戏开发者如何做到这一点?

1 个答案:

答案 0 :(得分:0)

这是Unity's Asset Bundle Technology的目的。他们相当直接,会帮助你解决问题。与Unity的文档链接将帮助您入门。我强烈建议您查看他们的Best Practices Documentation;在尝试使用它们之前,您应该注意一些警告。