学习过程,记录一下
文章目录
目录
GF中的热更新步骤
/*
* 一套完整的更新流程如下
* ProcedureCheckVersion -> ProcedureUpdateVersion -> ProcedureVerifyResources -> ProcedureCheckResources -> ProcedureUpdateResouces
* 检查版本流程 -> 更新版本流程 -> 验证资源流程 -> 检查资源流程 -> 更新资源流程
*/
具体操作
检查资源
首先在菜单栏中打开 Game Framework/Reources Tools/ Resources Editor,打开后如图所示,这里检查没有问题后点击 Save,如果点击了Clean,这里的数据就会被清理掉,就需要重新构建AB包。如果不小心点击了Clean,只需要复制一个原来的ResourceCollection.xml替换已有的ResourceCollection.xml即可(ResourceCollection.xml的地址在Assets/GameMain/Configs/ResourceCollection.xml)
1.打包设置
确定上面资源的没有问题之后,就可进行打包啦,在菜单栏中打开 Game Framework/Reources Tools/Resources Bulider, 然后设置一下打包的平台(Platforms)、压缩格式(Compression),以及构建(Build)。
这里我已经打过两次包了所以Internal Resource Version 后面数字的是3,如果是第一次打包,直接填1就行,其次在Output Path中选择你要保存的AB包的位置A,记好这个位置A。然后打包就行。
2.检查包是否可以运行
打包之后,会在StreamAssets中生成AB包,如下图所示(如果没有就去上文提到位置A中的Package\0_1_0_1\Windows,将下面打包好的AB包复制到StreamingAssets文件夹下)。
然后我们在初始场景StarForce Launcher中点击Game Framework/Builtin将Editor Resource Mode关闭
之后我们打开GameFramework/BuiltIn/Resource将Resources Mode 改为Package
之后我们点击运行看看效果,如果AB包没有问题的话,游戏是可以正常游玩的,如果提示加载有问题,就需要在Resource Editor中删除对应的AB包然后重新打一下这个AB包。
3.构建更新资源
打开Resource Editor 将需要替换的资源替换一下这里我替换了一个音乐文件,注意:替换的文件应该和老文件名字保持一致,这里我将新的背景音乐文件改名为music_menu,旧的背景音乐文件改名为music_menu_old,然后我们点击save按钮即可。
4.打包新资源
和打包设置一样,直接打包即可,需要注意的是,新生成的包会在StreamingAssets中也生成一份,这时,我们只需要去上文提到的位置A文件下面的\Package\0_1_0_1\Windows 复制旧的资源替换streamingAssets中新的资源即可。
这里我我打包了两次所以有两个文件夹
5.上传资源到服务器
下载HFS作为服务器HFS ~ HTTP File Server (rejetto.com)http://www.rejetto.com/hfs/?f=dl
打开后右键 Add folder from disk,
选择上文位置A文件夹下的Full文件夹你要上传的资源文件夹,我的旧版本资源是1,这里我上传新的资源上去。确定后选择第二个virtual folder 即可。
6.制作version.txt
打开位置A下的BuildReport新版本的文件夹下的BuildLog.txt
查看其中的这几条信息
建立一个version.txt文本文档,复制如下Json,保存后,将其放入服务器中
//使用时 删除所有的注释
{
//强制更新
"ForceUpdateGame": false,
//最新游戏版本
"LatestGameVersion": "0.1.0",
//内部游戏版本
"InternalGameVersion": 1,
//内部资源版本
"InternalResourceVersion": 2,
//服务器地址
"UpdatePrefixUri": "http://192.168.1.103/Windows/",
//以下四条复制上图中框选的4条数据即可
"VersionListLength": 7160,
"VersionListHashCode": 50591482,
"VersionListCompressedLength": 2629,
"VersionListCompressedHashCode": -1495585754
}
7.修改BuildInfo.txt
修改BuildInfo.txt如下,保存即可
{
"GameVersion": "0.1.0",
"InternalGameVersion": 0,
"CheckVersionUrl": "http://192.168.1.103/version.txt",
"WindowsAppUrl": "https://starforce.gameframework.cn",
"MacOSAppUrl": "https://starforce.gameframework.cn",
"IOSAppUrl": "https://starforce.gameframework.cn",
"AndroidAppUrl": "https://starforce.gameframework.cn",
"END_OF_JSON": ""
}
8.设置更新模式
打开GameFramework/Builtin/Resource 将 Resource Mode 改为Updatale 保存,运行游戏
游戏会进行热更新。