GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)

上篇我们讲解了基本的实现流程,那么本篇我们来谈谈实际操作,从零开始一步步配置

先来捋一遍思路

首先,Full目录下的资源是Unity打出来的AssetBundle经过加密(如果选择了Load from memory and Decrypt或quick Decrypt)和Zip压缩(如果选择了Zip压缩)后,加上资源的hashcode在加上了一个dat后缀生成的。其中version.dat中记录了每个AssetBundle的原始大小,原始HashCode,压缩成Zip后的大小及Zip包的HashCode,你本地的AssetBundle的HashCode与服务器上的进行对比,如果不一致就需要更新,Zip包的HashCode是干啥的呢,因为你从服务器上下的资源是Zip压缩后的,资源下载下来后,需要计算你下载下来的这个资源的HashCode与服务器上这个资源的ZipHashCode做一个对比,不一致就说明你下载出错了,这个资源不能用。然后解压后,也需要将解压后计算得到的HashCode与服务器上的对比,ZipHashCode和解压后的HashCode都一致这个AssetBundle才能用。

version.hashcode.dat这个文件是放在服务器上的,做资源更新时,你首先就好获取这个文件,那么这个文件你怎么校验呢,这就到了GameResourceVersion_0_1_0.xml这个文件,里面记录了最新资源的版本号,以及你的version.hashcode.dat这个文件的特征值。

GameEntry.Config.BuildInfo.CheckVersionUrl是在Assets\GameMain\Configs\BuildInfo.txt中设置的,CheckVersionUrl指向版本信息配置表version.txt,是由GameResourceVersion_0_1_0.xml来的,于是乎我们也创建这样一个version.txt放到我们自己的服务器上。

因为这个文件的URL是从Assets\GameMain\Configs\BuildInfo.txt中获取的,所以这个文件也要改,把CheckVersionUrl指向你自己服务器上的version.txt。

具体操作

1.打AB包,比当前版本高一版本即可(默认为1,但是我打过一次了,所以当前版本为2,所以我要打版本为3的AB包)

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第1张图片

2.添加AB文件到HFS

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第2张图片

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第3张图片

4.配置文件

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第4张图片

新建version.txt文件,注意VersionListLength,VersionListHashCode,VersionListZipLength,VersionZipHashCode要对上GameResourceVersion_0_1_0.xml的数值

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第5张图片

拖到HFS

更改BuildInfo.txt,关键是CheckVersionUrl要配置好,其余的随意

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第6张图片

 这是下载资源的地址

OK,运行游戏

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第7张图片

GameFramework篇:StarForce资源热更新讲解(二:具体操作步骤)_第8张图片

参考:QQ:471812771(李春)

你可能感兴趣的:(Unity相关,GameFramework)