热更新

第一步:客户端首先查看客户端版本号,如果服务器端的flist版本号不一致,意味着需要更新,如果一样,不需要更新,直接进入游戏;

1.在热更新的目录下(/Users/studnet/Desktop/2048/1.13/热更新/pyhttp )找到run.sh和mkflist.py,然后复制到一个文件夹中,然后打开run.sh进行修改,主要是更改两个目录,run.sh打开后如下:

sh ~/Documents/quick-3.3/quick/bin/compile_scripts.sh -i ~/Documents/quick-3.3/quick/samples/2048/src -o update.zip
python mkflist.py update.zip $1
python -m SimpleHTTPServer 8080

主要是改第一行的两个路径:第一个为quick-3.3安装目录下的compile_scripts.sh路径,比如:/Desktop/quick/quick-cocos2d-x-3.3/quick/bin/compile_scripts.sh 第二个为所要加密的项目的src路径:比如:/Desktop/quick/Code/mybutton/src

2.进行加密:在终端先cd到刚刚run.sh和mkflist.py所复制到的文件夹目录,然后在终端输入./run.sh,然后执行;执行成功以后,run.sh和.mkflist.py所在的文件夹中会生成一个update.zip压缩包(即将在服务器端更新的包,即加密后的包);

3.新建一个服务器:先随便建一个文件夹(英文路径)作为服务器;然后打开终端,cd到该文件夹,执行run.sh文件里的第三行代码(把代码复制到终端);

4.获取MD5码(主要是用于更新客户端的游戏),先把之前加密的update.zip复制到获取MD5码项目的upd目录下,具体步骤:新建一个quick项目,然后把获取MD5码的几个文件夹拷贝到新建的项目下(替代了里面有的东西),然后在该项目下的scr目录里面复制一个任意的quick项目下的src目录下的framework文件以及

cocos文件,然后运行新建的那个quick项目(用cocos文件可能出错),生成MD5码,此时就把update.zip复制到该项目下的upd里面,进行更换;

二:在服务器端获取更新

1.把热更新目录下的pyhttp目录下的flist文件拷贝到服务器文件夹中(

首先在服务器中添加一个经过加密的脚本资源,该资源需要被下载到客户端,进行在线更新,服务器端必须再提供一个flist(mainfest)文件,flist包含了以下信息:
①最新版本号
②要更新的资源的一些信息
③有时还需要在线删除客户端的某些资源,需要提供给remove的信息

),打开flist文件(比如用Sublime Text2打开),把之前生成的DM5码复制到里面,进行更换;

2.把之前所要放到服务器端的游戏项目下的res文件拷贝到热更新目录下进行更换,执行热更新;在update.lua中需要将221行中require修改为("app.MyAppp").new:run,在281行中也需这样修改;

3在终端打开服务器;cd到服务器文件夹,然后把run.sh中的第三行代码放在终端执行

4.运行热更新;

posted @ 2016-01-13 17:57  半世痴狂  阅读(1442)  评论(0编辑  收藏  举报