一种网络游戏版本更新方法技术

技术编号:5554187 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种网络游戏版本更新方法。本发明专利技术的这种网络游戏版本更新方法,通过对比服务器文件列表和本地文件列表中文件信息的不同,将文件内容MD5值发生变化的及服务器文件列表与本地文件列表相比新增的文件的文件名放入待更新文件列表,将待更新文件列表中的文件下载下来并放入客户端资源包,完成版本更新。应用本发明专利技术不需要将当前客户端版本和当前服务器版本之间的多个版本中的更新文件反复下载,只需要将当前客户端版本和当前服务器版本相比发生改变的以及新增的文件下载,因此,能够减少冗余文件下载。

【技术实现步骤摘要】

本专利技术涉及网络在线游戏的运营支持领域,特别涉及。
技术介绍
在各种网络游戏运营中,客户端的版本更新是一个非常基础也非常重要的环节。 游戏产品会通过频繁的更新版本来修正漏洞(bug),改善玩家体验,并增加新的游戏内容。 更新机制的稳定高效,决定了玩家是否能快速完成更新,正常进入游戏。现有的各种网络游戏,大多采用完整包的更新方案,例如完美时空的《诛仙》,畅游 的《天龙八部》,网易的《梦幻西游》等。假设客户端版本为1. 0,服务器版本为1. 2,完整包更新的过程包括以下步骤a、根据服务器信息文件判断当前客户端版本和服务器版本是否一致,如果不一 致,申请更新;b、客户端依次申请下载1. 0到1. 1的更新包,1. 1到1. 2的更新包,将更新包内的文件更新到客户端。可见,采用完整包的更新方案,不够高效,当需要跨版本更新时,频繁的版本更新 可能会造成大量冗余文件被反复下载;此外采用完整包的更新方案难以支持修复功能,客 户端若有损坏,很难提供独立的文件更新,只能重新安装。完整包的更新方案不够灵活,无 法支持逆向更新,如果网络游戏存在体验服,一般比正式服版本高,升级到体验服后就无法 快速回退到正式服了,因此,难以实现不同版本之间的切换。
技术实现思路
有鉴于此,本专利技术的目的在于提供,该方法能够减少 冗余文件的反复下载。为了达到上述目的,本专利技术提供了,该方法包括以下 步骤A、当检测确定需要进行客户端版本更新时,下载目标服务器中的服务器文件列 表;B、从服务器文件列表中读取一条文件信息,判断在本地文件列表中是否存在与该 条文件信息相对应的文件信息,如果是,则执行步骤C ;否则执行步骤D ;C、判断该条文件信息中的MD5值是否与在本地文件列表中与该条文件信息相对 应的文件信息中的MD5值相同,如果不相同,则执行步骤D ;否则,在该条文件信息是服务器文件列表中最后一条文件信息时,执行步骤E,在 该条文件信息不是服务器文件列表中最后一条文件信息时,返回步骤B执行;D、将该条文件信息中的文件名放入待更新文件列表;E、将待更新文件列表中的文件下载,并将下载后的待更新文件放入资源包,完成本次更新。步骤A所述检测确定需要进行客户端网络游戏版本更新的方法为下载目标服务 器中的服务器信息文件,判断服务器信息文件中的版本号与客户端版本号是否相同,如果 不相同,则需要进行版本更新。步骤A所述下载目标服务器中的服务器文件列表的方法为向目标服务器发送超 文本传输协议http请求,请求下载目标服务器中的服务器文件列表;所述下载目标服务器中的服务器信息文件的方法为向目标服务器发送http请 求,请求下载目标服务器中的服务器信息文件。执行步骤A之后,执行步骤B之前进一步包括判断是否是客户端网络游戏版本的 第一次更新,如果是,则遍历客户端版本的所有相关文件,生成本地文件列表。步骤B所述判断在本地文件列表中是否存在与该条文件信息相对应的文件信息 的方法为将该条文件信息中的文件名与本地文件列表中的所有文件信息中的文件名逐一 进行比较,如果在本地文件列表中存在一条文件信息中的文件名与该条文件信息中的文件 名相同,则本地文件列表中存在与该条文件信息对应的文件信息,否则,本地文件列表中不 存在与该条文件信息对应的文件信息。该方法进一步预先设置核心文件列表;步骤C判断该条文件信息中的MD5值与在本地文件列表中与该条文件信息相对应 的文件信息中的MD5值相同后,执行步骤B或E之前进一步包括CO、判断预设的核心文件列表中是否存在与该条文件信息对应的文件,如果存在, 则执行步骤Cl,否则,根据该条文件信息是否是服务器文件列表中的最后一条文件信息执 行步骤B或E ;Cl、计算该条文件信息对应的核心文件列表中的文件的文件内容的MD5值,判断 计算得到的MD5值与该条文件信息中的MD5值是否相同,如果不相同,则执行步骤D,否则, 根据该条文件信息是否是服务器文件列表中的最后一条文件信息执行步骤B或E。所述核心文件列表中存储重要文件的文件名;步骤CO所述判断预设的核心文件列表中是否存在与该条文件信息对应的文件的 方法为将该条文件信息中的文件名与核心文件列表中的所有文件名逐一进行比较,如果 有与该条文件信息中的文件名相同的文件名,则所述预设的核心文件列表中存在该条文件 信息对应的文件,否则,所述预设的核心文件列表中不存在该条文件信息对应的文件。步骤E所述将待更新文件列表中的文件下载的方法为采用多线程,每个线程从 待更新文件列表中获取一个或多个文件,向目标服务器发送http请求申请打包下载。步骤E所述将待更新文件列表中的文件下载后进一步包括将下载后的待更新文 件备份;所述将下载后的待更新文件放入资源包时进一步包括修改本地文件列表中待更 新文件的文件信息;所述将下载后的待更新文件放入资源包之后,完成本次更新之前进一步包括更 新客户端网络游戏的版本信息。步骤A所述当检测确定需要进行客户端网络游戏版本更新后,进一步包括下载 目标服务器中的待删除文件列表;步骤E所述将下载后的待更新文件放入资源包之后,完成本次更新之前进一步包 括将待删除文件列表中的文件从客户端文件中删除,并将被删除文件在本地文件列表中 对应的文件信息删除。由上面的技术方案可知,本专利技术的这种网络游戏版本更新方法,通过对比服务器 文件列表和本地文件列表中文件信息的不同,将文件内容MD5值发生变化的及服务器文件 列表与本地文件列表相比新增的文件的文件名放入待更新文件列表,将待更新文件列表中 的文件下载下来并放入客户端资源包,完成版本更新。应用本专利技术不需要将当前客户端版 本和当前服务器版本之间的多个版本中的更新文件反复下载,只需要将当前客户端版本和 当前服务器版本相比发生改变的以及新增的文件下载,因此,能够减少冗余文件下载。附图说明图1本专利技术实施例实现网络游戏版本更新方法的流程示意图;图2是应用本专利技术实现网络游戏版本自修复方法的流程示意图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例, 对本专利技术进行详细说明。本专利技术的主要思想是通过对比服务器文件列表和本地文件列表中文件信息的不 同,将文件内容发生改变的以及新增的文件重新下载并放入本地客户端资源包中,完成更 新。应用本专利技术,能够减少网络游戏版本更新过程中的冗余文件下载。参见图1,图1是本专利技术实施例网络游戏版本更新方法的流程示意图,包括以下步 骤步骤101、下载服务器信息文件,从服务器信息文件中读取服务器版本号。这里,服务器版本号存储在目标服务器中的服务器信息文件中,目标服务器中的 服务器版本的每个文件都是采用二进制加密压缩的方式存储;下载到本地后进行解密,加 密和解密均采用现有技术。下载服务器信息文件可以按照现有技术的多种方法下载,本实 施例中采用向目标服务器发送超文本传输协议(http)请求,请求下载服务器信息文件的 方式,这里的目标服务器是HTTP服务器。步骤102、判断客户端版本号和服务器版本号是否一致,如果是,则执行步骤114, 否则,执行步骤103。本步骤中,将读取的服务器版本号与客户端版本号进行比较,如果不一致,则开始 更新流程。步骤103、下载目标服务器中存储的服务器文件列表和待删除文件列表。这里,服务器文件列表和待删本文档来自技高网...

【技术保护点】
一种网络游戏版本更新方法,其特征在于,该方法包括以下步骤:A、当检测确定需要进行客户端版本更新时,下载目标服务器中的服务器文件列表;B、从服务器文件列表中读取一条文件信息,判断在本地文件列表中是否存在与该条文件信息相对应的文件信息,如果是,则执行步骤C;否则执行步骤D;C、判断该条文件信息中的MD5值是否与在本地文件列表中与该条文件信息相对应的文件信息中的MD5值相同,如果不相同,则执行步骤D;否则,在该条文件信息是服务器文件列表中最后一条文件信息时,执行步骤E,在该条文件信息不是服务器文件列表中最后一条文件信息时,返回步骤B执行;D、将该条文件信息中的文件名放入待更新文件列表;E、将待更新文件列表中的文件下载,并将下载后的待更新文件放入资源包,完成本次更新。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘毅钟文杰王洪彦
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1