延时敏感型网络游戏中异步计算同步回朔方法及系统的制作方法

文档序号:7579099阅读:312来源:国知局
专利名称:延时敏感型网络游戏中异步计算同步回朔方法及系统的制作方法
技术领域
本发明属于网络游戏开发技术领域,涉及一种异步计算同步回朔方法,尤其涉及 一种延时敏感型网络游戏中异步计算同步回朔方法;同时,本发明还涉及一种延时敏感型 网络游戏中异步计算同步回朔系统。
背景技术
延时敏感型网络游戏开发过程中会碰到这样一个矛盾,即网络游戏数据的公平公 正安全性和用户客户端操作及时反馈,良好体验的矛盾。普通网络游戏中逻辑计算的结果最终保存到数据库,用户在客户端通过对交互系 统的操作输出数据,把这些操作数据输送到服务器端;逻辑计算在服务器进行,并由服务器 直接将结果保存到数据库。这样可以避免用户通过技术手段修改游戏程序而不当得利。但 用户每个操作都需要经过2次网络消息传递到服务器上,通过服务器的逻辑计算,进而改 变内存中的数据变量。传统网络游戏把数据安全放到很高的位置,把所有逻辑计算放至服务器端进行, 因此对数据实时型响应要求不高,受网络数据延迟和数据丢包率影响较小;延时敏感型网 络游戏的网络数据延迟对用户游戏体验过程的影响非常之大,会造成人物位置偏移及伤害 对象效果反馈效果之后或出错等现象,游戏体验感很差,同时因为用户之间网络环境的差 异,造成用户之间数据延迟和丢包率的不同,导致无法公平开展游戏;延时敏感型网络游戏一般选择把逻辑计算部分放在用户自己的客户端系统中进 行,并将计算结果发送给服务器,再由服务器保存到数据库。这样用户可以获得比较及时的 人机交互回馈响应。但由于用户很容易就可以通过一些常规内存修改查验工具,对本地客 户端内存的计算过程和计算结果进行修改,造成服务器收到被篡改的结果。最终造成游戏 正常的规则被破坏,游戏环境的公平公正和安全无法保证。传统的防护措施是对客户端内存进行加密和动态存储的方法,使玩家难以破解和 查询到,计算和临时存放计算结果的内存地址,但这也只能杜绝一些低端用户的破解方法, 高端用户通过专业工具依然可以很轻松地破解和修改内存地址,从而使延时敏感型网络游 戏公平公正和安全无法保证对操作延时敏感的游戏类型,需要设计一种兼顾用户操作及时性以及防止客户端 篡改数据的游戏结构。本发明正是为了实现该目的。

发明内容
本发明所要解决的技术问题是提供一种延时敏感型网络游戏中异步计算同步回 朔方法,可避免用户通过技术手段修改游戏程序而不当得利。此外,本发明进一步提供一种延时敏感型网络游戏中异步计算同步回朔系统,可 避免用户通过技术手段修改游戏程序而不当得利。为解决上述技术问题,本发明采用如下技术方案
一种延时敏感型网络游戏中异步计算同步回朔方法,所述方法包括如下步骤将游戏的逻辑计算模块分别安装于客户端和服务器端;客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻辑计 算模块产生的计算结果发送给服务器端;服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结果不 一致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常 客户端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。作为本发明的一种优选方案,发现失败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户端,进入服务器计算模式;通过序列化将当时服务器端 上各用户的状态重新同步给所有客户端以覆盖掉客户端当时的异常状态。作为本发明的一种优选方案,整个过程服务器计算的结果始终保持正确,将服务 器的结果保存到数据库。作为本发明的一种优选方案,所述方法包括如下步骤Si、把逻辑计算过程从客户端和服务器端代码中独立出来,形成一个单独的逻辑 层;所述逻辑层包括逻辑计算模块;S2、将逻辑层嵌入到客户端和服务器端;S3、在客户端用户产生一个操作时,该操作首先被客户端消息处理机制捕获并翻 译为逻辑层的输入消息;S4、在同步回朔模式下,该输入消息将首先被分发到本地客户端以及服务器端;随 后由两端的逻辑层分别处理;S5、逻辑层处理完成后,根据当时逻辑状态和不同消息的差别,产生一个或者多个 逻辑层输出消息;S6、逻辑层输出消息被逻辑层或者逻辑层之外的模块捕获并处理;同时,客户端的 输出消息还被发送到服务器端进入一个待同步回朔消息队列;S7、服务器端将其产生的输出消息与来自客户端的待同步回朔的输出消息进行比 对,决定是否需要中断同步回朔模式;S8、若同步回朔模式中断,将游戏运营者的决策进行中断模式后的处理;同时,将 服务器端本地产生的消息替代客户端传输来的消息,进行反馈和替换。一种延时敏感型网络游戏中异步计算同步回朔系统,所述系统包括服务器端、一 个或多个客户端;所述客户端和服务器端分别安装有游戏的逻辑计算模块;所述客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻 辑计算模块产生的计算结果发送给服务器端;所述服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结 果不一致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常 客户端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。作为本发明的一种优选方案,发现失败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户端,进入服务器计算模式;通过序列化将当时服务器端上各用户的状 态重新同步给所有客户端以覆盖掉客户端当时的异常状态。作为本发明的一种优选方案,整个过程服务器计算的结果始终保持正确,将服务 器的结果保存到数据库。作为本发明的一种优选方案,所述回朔系统的回朔方法包括如下步骤Si、把逻辑计算过程从客户端和服务器端代码中独立出来,形成一个单独的逻辑 层;所述逻辑层包括逻辑计算模块;S2、将逻辑层嵌入到客户端和服务器端;S3、在客户端用户产生一个操作时,该操作首先被客户端消息处理机制捕获并翻 译为逻辑层的输入消息;S4、在同步回朔模式下,该输入消息将首先被分发到本地客户端以及服务器端;随 后由两端的逻辑层分别处理;S5、逻辑层处理完成后,根据当时逻辑状态和不同消息的差别,产生一个或者多个 逻辑层输出消息;S6、逻辑层输出消息被逻辑层或者逻辑层之外的模块捕获并处理;同时,客户端的 输出消息还被发送到服务器端进入一个待同步回朔消息队列;S7、服务器端将其产生的输出消息与来自客户端的待同步回朔的输出消息进行比 对,决定是否需要中断同步回朔模式;S8、若同步回朔模式中断,将游戏运营者的决策进行中断模式后的处理;同时,将 服务器端本地产生的消息替代客户端传输来的消息,进行反馈和替换。本发明的有益效果在于本发明提出的延时敏感型网络游戏中异步计算同步回朔 方法及系统,同时满足了用户操作响应及时以及防止用户破坏游戏规则的要求。


图1为本发明系统的组成示意图。图2为本发明方法的流程图。
具体实施例方式下面结合附图详细说明本发明的优选实施例。实施例一名词解释延时敏感型网络游戏指游戏客户端短时间内输入输出量极大,人机交互极为频 繁,实时响应时间、操作精准度要求很高的网络游戏,比如动作型、体育运动型、第一视角射 击类网络游戏。这类网络游戏拥有庞大的用户基础,受众群极广,为广大网络游戏用户所喜 欢的类型。用户对这类游戏除了基本游戏内容之外,非常看重公平公正安全的游戏环境,对 此类游戏开发者提出很高的要求。数据延迟及其影响数据延迟是指数据在传递过程中,在正常网络传输协议所设 计的传输时间之后再传输到相关接受器中。中国国内网速经过平均测算是150ms延迟和 5%的丢包率,高峰时段延迟300ms和10%丢包率;
客户端实时计算、反馈和通信指将网络游戏中根据用户人机交互界面传输的数 据信息,在用户客户端内存中进行全部的逻辑计算,并把计算结果及时快速反馈给本地人 机交互系统,并通过PTP方式,将实时结果传输给其他相关用户的人机交互系统和服务器 系统PTP:又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力 和带宽,而不是把依赖都聚集在较少的几台服务器上。PTP网络通常用于通过Ad Hoc连接 来连接节点。这类网络可以用于多种用途,各种文件共享软件已经得到了广泛的使用。PTP 技术也被使用在类似VoIP等实时媒体业务的数据通信中。纯点对点网络没有客户端或服 务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。这种网 络设计模型不同于客户端-服务器模型,在客户端-服务器模型中通信通常来往于一个中 央服务器。异步计算两个完全一致的计算系统,在相同的环境情况下进行计算。将相同的输 入分别送到这两个计算系统中去进行计算同步回朔两个相同系统在相同条件下进行计算,得出的结果存在差异,则判断一 方数据不可信任,用安全系数高的一方数据加以覆盖。请参阅图1,本发明揭示了一种延时敏感型网络游戏中异步计算同步回朔系统,所 述系统包括服务器端、一个或多个客户端。所述客户端和服务器端分别安装有游戏的逻辑计算模块。所述客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻 辑计算模块产生的计算结果发送给服务器端。所述服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结 果不一致,判断为客户端逻辑不正常。若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常 客户端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。具体地,发现失败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户 端,进入服务器计算模式;通过序列化将当时服务器端上各用户的状态重新同步给所有客 户端以覆盖掉客户端当时的异常状态。整个过程服务器计算的结果始终保持正确,将服务 器的结果保存到数据库。实施例二本发明揭示了一种延时敏感型网络游戏中异步计算同步回朔方法,所述方法包括 如下步骤将游戏的逻辑计算模块分别安装于客户端和服务器端;客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻辑计 算模块产生的计算结果发送给服务器端;服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结果不 一致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常 客户端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。本实施例中,发现失 败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户端,进入服务器计算模式;通过序列化将当时服务器端上各用户的状态重新同步给所有客户端以覆盖掉客户端当时 的异常状态。整个过程服务器计算的结果始终保持正确,将服务器的结果保存到数据库。具体地,请参阅图2,所述方法包括如下步骤Si、把逻辑计算过程从客户端和服务器端代码中独立出来,形成一个单独的逻辑 层;所述逻辑层包括逻辑计算模块;S2、将逻辑层嵌入到客户端和服务器端;S3、在客户端用户产生一个操作时,该操作首先被客户端消息处理机制捕获并翻 译为逻辑层的输入消息;S4、在同步回朔模式下,该输入消息将首先被分发到本地客户端以及服务器端;随 后由两端的逻辑层分别处理;S5、逻辑层处理完成后,根据当时逻辑状态和不同消息的差别,产生一个或者多个 逻辑层输出消息;S6、逻辑层输出消息被逻辑层或者逻辑层之外的模块捕获并处理;同时,客户端的 输出消息还被发送到服务器端进入一个待同步回朔消息队列;S7、服务器端将其产生的输出消息与来自客户端的待同步回朔的输出消息进行比 对,决定是否需要中断同步回朔模式;S8、若同步回朔模式中断,将游戏运营者的决策进行中断模式后的处理;同时,将 服务器端本地产生的消息替代客户端传输来的消息,进行反馈和替换。综上所述,本发明提出的延时敏感型网络游戏中异步计算同步回朔方法及系统, 同时满足了用户操作响应及时以及防止用户破坏游戏规则的要求。这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例 中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实 施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明 的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、 材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进 行其它变形和改变。
8
权利要求
1.一种延时敏感型网络游戏中异步计算同步回朔方法,其特征在于,所述方法包括如 下步骤将游戏的逻辑计算模块分别安装于客户端和服务器端;客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻辑计算模 块产生的计算结果发送给服务器端;服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结果不一 致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常客户 端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。
2.根据权利要求1所述的延时敏感型网络游戏中异步计算同步回朔方法,其特征在于发现失败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户端,进入服务器计算模式;通过序列化将当时服务器端上各 用户的状态重新同步给所有客户端以覆盖掉客户端当时的异常状态。
3.根据权利要求1所述的延时敏感型网络游戏中异步计算同步回朔方法,其特征在于整个过程服务器计算的结果始终保持正确,将服务器的结果保存到数据库。
4.根据权利要求1所述的延时敏感型网络游戏中异步计算同步回朔方法,其特征在于所述方法包括如下步骤51、把逻辑计算过程从客户端和服务器端代码中独立出来,形成一个单独的逻辑层;所 述逻辑层包括逻辑计算模块;52、将逻辑层嵌入到客户端和服务器端;53、在客户端用户产生一个操作时,该操作首先被客户端消息处理机制捕获并翻译为 逻辑层的输入消息;54、在同步回朔模式下,该输入消息将首先被分发到本地客户端以及服务器端;随后由 两端的逻辑层分别处理;55、逻辑层处理完成后,根据当时逻辑状态和不同消息的差别,产生一个或者多个逻辑 层输出消息;56、逻辑层输出消息被逻辑层或者逻辑层之外的模块捕获并处理;同时,客户端的输出 消息还被发送到服务器端进入一个待同步回朔消息队列;57、服务器端将其产生的输出消息与来自客户端的待同步回朔的输出消息进行比对, 决定是否需要中断同步回朔模式;58、若同步回朔模式中断,将游戏运营者的决策进行中断模式后的处理;同时,将服务 器端本地产生的消息替代客户端传输来的消息,进行反馈和替换。
5.一种延时敏感型网络游戏中异步计算同步回朔系统,其特征在于,所述系统包括服 务器端、一个或多个客户端;所述客户端和服务器端分别安装有游戏的逻辑计算模块;所述客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻辑计算模块产生的计算结果发送给服务器端;所述服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结果不 一致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常客户 端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。
6.根据权利要求5所述的延时敏感型网络游戏中异步计算同步回朔系统,其特征在于发现失败时服务器端的处理结果为正常逻辑;若发现逻辑不正常的客户端,进入服务 器计算模式;通过序列化将当时服务器端上各用户的状态重新同步给所有客户端以覆盖掉 客户端当时的异常状态。
7.根据权利要求5所述的延时敏感型网络游戏中异步计算同步回朔系统,其特征在于整个过程服务器计算的结果始终保持正确,将服务器的结果保存到数据库。
8.根据权利要求5所述的延时敏感型网络游戏中异步计算同步回朔系统,其特征在于所述回朔系统的回朔方法包括如下步骤S 1、把逻辑计算过程从客户端和服务器端代码中独立出来,形成一个单独的逻辑层;所 述逻辑层包括逻辑计算模块;S2、将逻辑层嵌入到客户端和服务器端;S3、在客户端用户产生一个操作时,该操作首先被客户端消息处理机制捕获并翻译为 逻辑层的输入消息;S4、在同步回朔模式下,该输入消息将首先被分发到本地客户端以及服务器端;随后由 两端的逻辑层分别处理;S5、逻辑层处理完成后,根据当时逻辑状态和不同消息的差别,产生一个或者多个逻辑 层输出消息;S6、逻辑层输出消息被逻辑层或者逻辑层之外的模块捕获并处理;同时,客户端的输出 消息还被发送到服务器端进入一个待同步回朔消息队列;S7、服务器端将其产生的输出消息与来自客户端的待同步回朔的输出消息进行比对, 决定是否需要中断同步回朔模式;S8、若同步回朔模式中断,将游戏运营者的决策进行中断模式后的处理;同时,将服务 器端本地产生的消息替代客户端传输来的消息,进行反馈和替换。
全文摘要
本发明揭示了一种延时敏感型网络游戏中异步计算同步回朔方法及系统,所述方法包括如下步骤将游戏的逻辑计算模块分别安装于客户端和服务器端;客户端将用户的输入同步给服务器端的逻辑计算模块,并将客户端通过其逻辑计算模块产生的计算结果发送给服务器端;服务器端将自己产生的正确计算结果与客户端发送的结果进行对比;如果结果不一致,判断为客户端逻辑不正常;若发现逻辑不正常的客户端,服务器端通过序列化将当时服务器端上逻辑不正常客户端的状态重新同步给该客户端以覆盖掉客户端当时的异常状态。本发明提出的延时敏感型网络游戏中异步计算同步回朔方法及系统,同时满足了用户操作响应及时以及防止用户破坏游戏规则的要求。
文档编号H04L29/08GK102130908SQ20111003323
公开日2011年7月20日 申请日期2011年1月30日 优先权日2011年1月30日
发明者印琼虎, 朱坚华, 李天石, 李红涛 申请人:上海盈游网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1