游戏回放方法和系统与流程

文档序号:26093055发布日期:2021-07-30 18:02阅读:137来源:国知局
游戏回放方法和系统与流程

本申请实施例涉及计算机技术领域,尤其涉及一种游戏回放方法、装置、计算机设备、计算机可读存储介质以及游戏回放系统。



背景技术:

随着计算机技术的发展,人们可以在计算机设备上进行各类网络游戏。在网络游戏中,玩家需要控制虚拟角色执行各种动作,例如战斗、玩家之间互相pk、打怪、夺宝等。玩家的游戏水平很大程度上决定游戏的胜负,同时游戏中的漏洞或作弊行为等也可能成为胜负关键。因此,有必要进行游戏过程的复盘以排查上述问题。



技术实现要素:

本申请实施例的目的是提供一种游戏回放方法、装置、计算机设备、计算机可读存储介质以及游戏回放系统,用于进行游戏过程的复盘以排查游戏中出现的问题。

本申请实施例的一个方面提供了一种游戏回放方法用于服务器中,所述方法包括:将游戏对局中的多条战斗数据逐条下发到目标玩家的游戏终端,以使所述游戏终端存储多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳;当所述游戏对局被所述目标玩家上报异常,则通知所述游戏终端上传所述多个键值对;及接收所述多个键值对,并将所述多个键值对提供给回放终端,以便所述回放终端根据所述多个键值对依时间顺序进行回放操作。

可选的,所述当所述游戏对局被所述目标玩家上报异常,则通知所述游戏终端上传所述多个键值对,包括:获取所述目标玩家的玩家信息和所述游戏对局的场次信息;根据所述玩家信息,检测所述目标玩家是否通过所述游戏终端执行游戏登录操作;及当检测到所述游戏登录操作,则根据所述游戏对局的场次信息,通知所述游戏终端查询对应于所述游戏对局的所述多个键值对并将所述多个键值对上传至所述服务器。

可选的,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据;所述方法还包括:当所述其他虚拟角色被所述服务器控制,则比较所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据;其中,所述服务器保存的多条战斗数据为对应于所述游戏对局的战斗数据。

可选的,所述方法还包括:根据所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。

可选的,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据;所述方法还包括:当所述其他虚拟角色被所述其他游戏终端控制,则比较所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据;其中,所述其他游戏终端上传的多条战斗数据为对应于所述游戏对局的战斗数据。

可选的,所述方法还包括:根据所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。

本申请实施例的一个方面又提供了一种游戏回放装置,用于服务器中,所述装置包括:下发模块,用于将游戏对局中的多条战斗数据逐条下发到目标玩家的游戏终端,以使所述游戏终端存储多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳;通知模块,用于当所述游戏对局被所述目标玩家上报异常,则通知所述游戏终端上传所述多个键值对;及提供模块,用于接收所述多个键值对,并将所述多个键值对提供给回放终端,以便所述回放终端根据所述多个键值对依时间顺序进行回放操作。

本申请实施例的一个方面又提供了一种游戏回放方法,用于游戏终端中,所述方法包括:接收服务器逐条下发游戏对局中的战斗数据;将各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳;及响应于所述服务器的指令,上传所述多个键值对至所述服务器中,以使所述服务器将所述多个键值对下发至回放终端,以使所述回放终端根据所述多个键值对进行回放操作。

可选的,所述多个键值对位于一个数据文件中;所述响应于所述服务器的指令,上传所述多个键值对至所述服务器中,包括:根据所述指令中的场次信息,查询对应于所述游戏对局的所述数据文件并上传所述数据文件。

可选的,还包括:根据目标玩家的操作指令生成目标战斗数据,并将所述目标战斗数据上传到所述服务器;接收所述服务器下发的所述目标战斗数据;比较生成所述目标战斗数据时的时间戳和从所述服务器接收到所述目标战斗数据的时间戳;若生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔大于预设阈值,则判定所述游戏对局异常,并将所述异常上报至所述服务器。

本申请实施例的一个方面又提供了一种游戏回放装置,用于游戏终端中,所述装置包括:接收模块,用于接收服务器逐条下发游戏对局中的战斗数据;保存模块,用于将各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳;及响应模块,用于响应于所述服务器的指令,上传所述多个键值对至所述服务器中,以使所述服务器将所述多个键值对下发至回放终端,以使所述回放终端根据所述多个键值对进行回放操作。

本申请实施例的一个方面又提供了一种游戏回放方法,用于回放终端中,所述方法包括:接收所述服务器下发的数据文件,所述数据文件包括关联游戏对局的多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳;根据所述多个键值对,执行回放操作以模拟所述游戏对局:启动计时操作,将所述多个键值对中的第一键值对的时间戳与当前时间戳做插值,将所述第一键值对的各个后续键值对的时间戳分别加上所述插值,以得到更新后的各个时间戳;在模拟过程中,根据所述更新后的各个时间戳的时间顺序,相应地将各个战斗数据载入到游戏中,以使所述游戏根据所述各个战斗数据执行游戏回放操作。

可选的,所述方法还包括:根据所述各个战斗数据在所述回放终端的回放结果,查找所述游戏对局的漏洞。

可选的,还包括:根据目标玩家的玩家标识,从所述服务器下载所述数据文件;其中,所述数据文件是服务器从上报异常的游戏终端中获取的。

本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述游戏回放方法的步骤。

本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述游戏回放方法的步骤。

本申请实施例的一个方面又提供了一种游戏回放系统,包括服务器以及与所述服务器通信的游戏终端、回放终端,其中:所述游戏终端,用于在游戏对局中根据目标玩家的操作指令生成目标战斗数据,并上传所述目标战斗数据;述服务器,用于获取多条战斗数据,并逐条广播所述多条战斗数据;其中,所述多条战斗数据包括所述游戏终端上传的所述目标战斗数据和其他游戏终端上传的战斗数据;所述回放终端,用于所述回放所述游戏对局;中,所述游戏终端,还用于接收所述服务器广播的所述多条战斗数据,并将所述多条战斗数据中的各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳;所述服务器,还用于当所述游戏对局被所述目标玩家上报异常,则从所述游戏终端中获取对应于所述游戏对局的多个键值对,并将所述多条键值对提供给回放终端;所述回放终端,还用于根据所述多个键值对进行回放操作。

可选的,所述游戏终端,还用于:比较生成所述目标战斗数据时的时间戳和从所述服务器接收到所述目标战斗数据的时间戳;及若生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔大于预设阈值,则判定所述游戏对局异常,并将所述异常上报至所述服务器。

可选的,所述服务器,还用于:获取所述目标玩家的玩家信息和所述游戏对局的场次信息;根据所述玩家信息,检测所述目标玩家是否通过所述游戏终端执行游戏登录操作;及当检测到所述游戏登录操作,则根据所述游戏对局的场次信息,通知所述游戏终端查询对应于所述游戏对局的所述多个键值对并将所述多个键值对上传至所述服务器。

可选的,所述回放终端,还用于:接收所述服务器下发的所述多个键值对;根据所述多个键值对,执行回放操作以模拟所述游戏对局:启动计时操作,将所述多个键值对中的第一键值对的时间戳与当前时间戳做插值,将所述第一键值对的各个后续键值对的时间戳分别加上所述插值,以得到更新后的各个时间戳;在模拟过程中,根据所述更新后的各个时间戳的时间顺序,相应地将各个战斗数据载入到游戏中,以使所述游戏根据所述各个战斗数据执行游戏回放操作。

本申请实施例提供的游戏回放方法、装置、计算机设备、计算机可读存储介质以及游戏回放系统,当目标玩家反馈异常时,可以通过上述方案获取目标玩家所使用的游戏终端中保存的多个键值对,并通过回放终端进行回放操作,从而及时排查和跟进游戏对局中产生异常的细节问题,可以更高效率地找出游戏中的漏洞。

附图说明

图1示意性示出了根据本申请实施例的游戏回放系统的运行环境图;

图2示意性示出了基于图1的游戏回放系统的游戏回放流程示例图;

图3示意性示出了根据本申请实施例二的游戏回放方法的流程图;

图4为图3中步骤s302的子流程图;

图5示意性示出了根据本申请实施例二的游戏回放方法的新增步骤流程图;

图6示意性示出了根据本申请实施例二的游戏回放方法的另一新增步骤流程图;

图7示意性示出了根据本申请实施例三的游戏回放方法的流程图;

图8为图7中步骤s704的子流程图;

图9示意性示出了根据本申请实施例三的游戏回放方法的新增步骤流程图;

图10示意性示出了根据本申请实施例四的游戏回放方法的流程图;

图11示意性示出了根据本申请实施例四的游戏回放方法的新增步骤流程图;

图12示意性示出了根据本申请实施例五的游戏回放装置的框图;

图13示意性示出了根据本申请实施例六的游戏回放装置的框图;及

图14示意性示出了根据本申请实施例七中的计算机设备的硬件架构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。

本申请涉及的术语解释:

战斗数据保存:在玩家进行公会战战斗时,逐条保存战斗数据到本地文件中。其中键为当前时间戳,值为当前服务器下发的数据。

数据文件上载:玩家有报异常时,根据玩家playerid配置字段,玩家登陆游戏就可以上载战斗数据到云端服务器。

转换时间戳:根据拿到的数据文件,读取数据,存入到预先定好的数据结构中。把键值对中的key还原为对应的时间戳。

模拟服务器战斗:在本地跑一个计时器逻辑,把客户端数据中第一条key与当前时间戳做插值,把第一条key值当作当前的时间,之后每一条key加上这个插值,再计时器的循环逻辑中,随着时间的进行载入value值中的数据。模拟了服务器跑战斗的逻辑,逐条播放,完成回放功能。

kv:key-value键值对,其中,key是关键字,value是值。

图1示意性示出了根据本申请实施例的游戏回放方法的环境运行图。

如图1所示,所述环境示意图包括服务器2、网络4、游戏终端(6a、6b、...以及8a、8b、…)和回放终端10,其中:

服务器2,作为游戏服务平台,可以由单个或多个计算设备构成。该单个或多个计算设备可以包括虚拟化计算实例。虚拟化计算实例可以包括虚拟机,诸如计算机系统的仿真,操作系统,服务器等。计算设备可以基于定义用于仿真的特定软件(例如,操作系统,专用应用程序,服务器)的虚拟映像和/或其他数据来加载虚拟机。随着对不同类型的处理服务的需求改变,可以在一个或多个计算设备上加载和/或终止不同的虚拟机。可以实现管理程序以管理同一个计算设备上的不同虚拟机的使用。

服务器2可以接收各个玩家通过客户端上传的战斗数据,并根据各个玩家上传的战斗数据生成游戏效果数据或者将各个玩家上传的战斗数据广播到各个游戏客户端中。

服务器2可以被配置为通过网络4与游戏终端6a、6b、...以及8a、8b、…等通信。游戏终端可以包括任何类型的计算设备,诸如移动设备、平板设备、膝上型计算机、虚拟现实设备、游戏设备、机顶盒、车载终端、智能电视、电视盒等。

游戏终端(6a、6b、...以及8a、8b、…),用于运行游戏客户端。所述游戏客户端用于提供游戏登录、操作、支付等功能。游戏终端6a、6b、…和游戏终端8a、8b、…为一个游戏场景中的对战双方所使用的设备。需注意,上述设备是示例性的,在不同的游戏场景中,用于对战双方的游戏终端数量可以增减。

每个游戏终端可以配置一个游戏客户端,以游戏终端6a为例:

游戏终端6a可以配置一个游戏客户端。所述游戏客户端向用户输出(呈现、播放)内容。所述内容可以游戏登录页面、游戏画面、音频、评论和/或类似物。例如,所述游戏客户端用于提供游戏登录页面,并将用户输入的账号以及密码提供给服务器2,以根据服务器2确定是否进入游戏页面。在所述游戏页面中,玩家可以选择游戏虚拟角色,并向服务器2申请组建或加入某个游戏对局中。在游戏对局中,玩家可以通过输入指令来操作该游戏虚拟角色,如前进、后退、攻击等。

回放终端10,用于游戏的回放操作。回放终端10可以是平板设备、膝上型计算机、游戏设备、机顶盒、智能电视等。回放终端10也可以作为游戏终端使用。

需要说明的是,上述游戏对局可以是公会对战。所述公会对战,为定期举办的大规模战斗。

实施例一

继续参考图1,本实施例提供了一种游戏回放系统。该游戏回放系统包括:服务器2、游戏终端(如6a)和回放终端10。可选的,当游戏中需要多个玩家操作时,所述游戏回放系统还可以包括其他游戏终端6b、6c、…以及8a、8b、8c、…等。其中:

在游戏对局中,各个玩家需要通过终端输入操作指令,来控制各自在游戏中的虚拟角色。例如:

目标玩家play_1通过游戏终端6a输入指令以操控其在所述对局中的虚拟角色。其他玩家play_2通过游戏终端6b输入指令以操控其在所述对局中的虚拟角色。其他玩家play_3通过游戏终端8a输入指令以操控其在所述对局中的虚拟角色。

下面以游戏终端6a为例,介绍所述游戏回放系统的交互过程:

游戏终端6a,用于在游戏对局中根据目标玩家的操作指令生成目标战斗数据,并上传所述目标战斗数据。

服务器2,用于获取多条战斗数据,并逐条广播所述多条战斗数据;其中,所述多条战斗数据包括所述游戏终端6a上传的所述目标战斗数据和其他游戏终端上传的战斗数据。

回放终端10,用于所述回放所述游戏对局。

游戏终端6a,还用于接收所述服务器2广播的所述多条战斗数据,并将所述多条战斗数据中的各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳。

服务器2,还用于当所述游戏对局被所述目标玩家上报异常,则从所述游戏终端6a中获取对应于所述游戏对局的多个键值对,并将所述多条键值对提供给回放终端;

回放终端10,还用于根据所述多个键值对进行回放操作。

在本实施例中,当目标玩家反馈异常时,可以通过上述方案获取目标玩家所使用的游戏终端6a中保存的数据(所述多个键值对),并通过回放终端10进行回放操作,从而及时排查和跟进游戏对局中产生异常的细节问题,更高效率地找出漏洞。

另外,利用各个终端(游戏终端6a,以及其他游戏终端)实现玩家云存档,可以减轻服务器2的存储压力。同时,虽然服务器2将各条战斗数据无差别的广播到各个终端,但是,由于每个终端的网速、硬件等原因,相同战斗在不同终端上的展现可能具有差异性。因此,各个终端实际保存的数据可能存在差异性,通过取自相应终端保存的数据进行回放,可以更加真实的反应上报异常的终端(如游戏终端6a)运行和显示情况,更加具有针对性,更加容易找到各个终端的特殊问题。

在同一场游戏对局中,由于上述差异性,可能有些终端是正常的,有些终端出现异常。为提高效率,以下实施例采用上报机制,有针对性回放上报异常的终端保存的数据。作为示例,游戏终端6a,还用于:比较生成所述目标战斗数据时的时间戳和从所述服务器接收到所述目标战斗数据的时间戳;及若生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔大于预设阈值,则判定所述游戏对局异常,并将所述异常上报至服务器2。游戏一般强调即时性。当游戏终端6a生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔比较大时,则说明网络可以故障,需要上报异常。

当所述目标玩家反馈异常时,则从游戏终端6a中获取本地存储的对应于所述游戏对局的数据(即,所述多个键值对),需要说明的是,服务器2从游戏终端6a中获取所述多个键值对的过程,对所述目标玩家来说是无感的,不会影响到所述目标玩家正常的游戏过程和体验。具体如下:作为示例,服务器2,还用于:获取所述目标玩家的玩家信息和所述游戏对局的场次信息;根据所述玩家信息,检测所述目标玩家是否通过所述游戏终端执行游戏登录操作;及当检测到所述游戏登录操作,则根据所述游戏对局的场次信息,通知所述游戏终端查询对应于所述游戏对局的所述多个键值对并将所述多个键值对上传至所述服务器2。

作为示例,为了实现精确模拟和回放,回放终端10还用于:接收所述服务器下发的所述多个键值对;根据所述多个键值对,执行回放操作以模拟所述游戏对局:启动计时操作,将所述多个键值对中的第一键值对的时间戳与当前时间戳做插值,将所述第一键值对的各个后续键值对的时间戳分别加上所述插值,以得到更新后的各个时间戳;在模拟过程中,根据所述更新后的各个时间戳的时间顺序,相应地将各个战斗数据载入到游戏中,以使所述游戏根据所述各个战斗数据执行游戏回放操作。

为了使得本实施例所述的方案更加清晰明白,如图2所示,以下提供一个具体示例:

(一)在一场游戏对局中:

游戏终端6a提供游戏操作页面,根据目标玩家的输入指令生成目标战斗数据,并将所述目标战斗数据上传到服务器2中,以便服务器2广播该目标战斗数据。在这场游戏对局中,目标玩家会输入大量的指令,从而生成大量目标战斗数据。

服务器2接收进入这场游戏对局中的多个终端的多条战斗数据。该多条战斗数据包括来自游戏终端6a的所述目标战斗数据和来自其他游戏终端的战斗数据。

服务器2逐条广播所述多条战斗数据,以将所述多条战斗数据逐条下发到目标玩家的游戏终端6a以及将所述多个战斗数据逐条下发到其他玩家的其他游戏终端。

游戏终端6a接收所述服务器2广播的所述多条战斗数据,并根据所述多条战斗数据控制显示效果。

需要说明是,每条战斗数据可以包括各个虚拟角色的玩家id、位置坐标、血量值、属性值等。

游戏终端6a将服务器2广播的所述多个战斗数据逐条按键值对的形式写入到位于本地存储去的数据文件中。其中,每个键值对中的key值即对应的当前时间戳,value值即为一条战斗数据。当这场游戏对局完成,则所述数据文件保存完成。在一些实施例中,为方便存储,各个键值对中的key值可以为string类型的数据。

s1:目标玩家打完这场游戏对局,并使游戏页面返回到主页。

s2:将数据文件保存在所述游戏终端6a的本地存储器中。

该数据文件可以默认保存三天。

如果目标玩家没有上报异常,超过三天则删除该数据文件,防止存储空间占用过多。该保存及后续上传和删除,玩家都是无感的,不会影响到玩家正常的游戏过程和体验。

(二)所述目标玩家反馈在这场游戏对局中出现异常:

s3:若所述目标玩家反馈异常,服务器2根据所述目标玩家的玩家标识配置相应字段,比如具体哪天哪场。

s4:若检测到所述目标玩家通过是游戏终端6a登录游戏,服务器2通知游戏终端6a自动上传对应于这场游戏对局的所述数据文件,以将所述数据文件提供给服务器2。

可选的,针对pve(玩家对战环境,playervsenvironment)模式,服务器2会对比游戏终端6a上传的数据文件与服务器2保存的对应于这次游戏对局的数据文件,以验证所述目标玩家上传的数据文件的真实性以及判断所述目标玩家是否存在作弊行为。而在pvp(玩家对战玩家,playervsplayer)中,可能会有多个玩家上传该场游戏对局的数据文件,因此,可以将游戏终端6a上传的数据文件分别各个其他游戏终端上传的数据文件进行对比,以判断是否存在作弊行为。

s5:回放终端10根据所述目标玩家的玩家标识从服务器2拉取所述数据文件。

(三)回放终端10拿到所述数据文件之后,根据数据文件进行回放操作:

s6:回放终端10根据所述数据文件的各个键值对中的key值,获取时间载入逻辑,并基于该时间载入逻辑将所述各个键值对中的value值载入到游戏中,以完成回放操作。

拿到数据文件之后,通过回放终端10中的回放工具,选择所述数据文件以进行游戏回放;

解析所述各个键值对,将解析出的内容放入到预先定好的数据结构中。例如,将各个键值对中的key值还原为对应的时间戳,将value值还原为服务器2下发的数据结构。

执行一个计时操作,将第一个键值对中的key值与当前时间戳做插值,将该第一个键值对中的key值作为当前时间,将第一个键值对之后的各个键值对中的key值加上这个插值。因此,可以在所述计时操作的循环逻辑中,随着时间的进行载入相应的value值中的数据。此种做法,可以模拟游戏对局中的逻辑,逐条播放,完成回放功能。

本示例能做到在游戏没有回放功能的情况下,根据游戏终端的保存和上载,及数据解析和模拟逻辑,完成游戏对局的回放,从而可以进行bug排查,比单纯的分析战斗数据更加清晰明朗。同时也保留了在游戏本体中后续开发游戏回放模块的可能,

实施例二

本实施例以服务器2为执行主体进行描述,技术细节和效果可参考实施例一。

图3示意性示出了根据本申请实施例二的游戏回放方法的流程图。

如图3所示,该游戏回放方法可以包括步骤s300~s304,其中:

步骤s300,将游戏对局中的多条战斗数据逐条下发到目标玩家的游戏终端,以使所述游戏终端存储多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳。

以其中一个键值对kv为例,该键值对kv中的value值为服务器2下发的一条战斗数据,键值对kv中的key值为这条战斗数据的时间戳,该时间戳可以是游戏终端对这条战斗数据进行效果显示时的时间。需要说明的是,为方便保存,该key值的类型可以为字符串(string)类型。

步骤s302,当所述游戏对局被所述目标玩家上报异常,则通知所述游戏终端上传所述多个键值对。

步骤s304,接收所述多个键值对,并将所述多个键值对提供给回放终端,以便所述回放终端根据所述多个键值对依时间顺序进行回放操作。

作为示例,如图4所示,所述步骤s302可以包括:步骤s400,获取所述目标玩家的玩家信息和所述游戏对局的场次信息;步骤s402,根据所述玩家信息,检测所述目标玩家是否通过所述游戏终端执行游戏登录操作;及步骤s403,当检测到所述游戏登录操作,则根据所述游戏对局的场次信息,通知所述游戏终端查询对应于所述游戏对局的所述多个键值对并将所述多个键值对上传至所述服务器。

作为示例,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据。如图5所示,所述游戏回放方法还可以包括:步骤s500,当所述其他虚拟角色被所述服务器控制,则比较所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据;其中,所述服务器保存的多条战斗数据为对应于所述游戏对局的战斗数据。在本实施例中,可以高效分析目标玩家的游戏情况。

作为示例,所述游戏回放方法还可以包括:根据所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。在本实施例中,可以有效地识别所述目标玩家的作弊行为。

作为示例,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据。如图6所示,所述游戏回放方法还可以包括:步骤s600,当所述其他虚拟角色被所述其他游戏终端控制,则比较所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据;其中,所述其他游戏终端上传的多条战斗数据为对应于所述游戏对局的战斗数据。在本实施例中,可以高效分析目标玩家的游戏情况。

作为示例,根所述游戏回放方法还可以包括:据所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。在本实施例中,可以有效地识别所述目标玩家的作弊行为。

实施例三

本实施例以游戏终端6a为执行主体进行描述,技术细节和效果可参考实施例一。

图7示意性示出了根据本申请实施例三的游戏回放方法的流程图。

如图7所示,该游戏回放方法可以包括步骤s700~s704,其中:

步骤s700,接收服务器逐条下发游戏对局中的战斗数据;

步骤s702,将各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳;及

步骤s704,响应于所述服务器的指令,上传所述多个键值对至所述服务器中,以使所述服务器将所述多个键值对下发至回放终端,以使所述回放终端根据所述多个键值对进行回放操作。

作为示例,所述多个键值对位于一个数据文件中。如图8所示,所述步骤s704包括:步骤s800,根据所述指令中的场次信息,查询对应于所述游戏对局的所述数据文件并上传所述数据文件。

作为示例,如图9所示,所述游戏回放方法还可以包括:步骤s900,根据目标玩家的操作指令生成目标战斗数据,并将所述目标战斗数据上传到所述服务器;步骤s902,接收所述服务器下发的所述目标战斗数据;步骤s904,比较生成所述目标战斗数据时的时间戳和从所述服务器接收到所述目标战斗数据的时间戳;步骤s906,若生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔大于预设阈值,则判定所述游戏对局异常,并将所述异常上报至所述服务器。

实施例四

本实施例以回放终端10为执行主体进行描述,技术细节和效果可参考实施例一。

图10示意性示出了根据本申请实施例四的游戏回放方法的流程图。

如图10所示,该游戏回放方法可以包括步骤s1000~s1002,其中:

步骤s1000,接收所述服务器下发的数据文件,所述数据文件包括关联游戏对局的多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳;

步骤s1002,根据所述多个键值对,执行回放操作以模拟所述游戏对局:启动计时操作,将所述多个键值对中的第一键值对的时间戳与当前时间戳做插值,将所述第一键值对的各个后续键值对的时间戳分别加上所述插值,以得到更新后的各个时间戳;在模拟过程中,根据所述更新后的各个时间戳的时间顺序,相应地将各个战斗数据载入到游戏中,以使所述游戏根据所述各个战斗数据执行游戏回放操作。

作为示例,该游戏回放方法还可以包括:根据所述各个战斗数据在所述回放终端的回放结果,查找所述游戏对局的漏洞。在本实施例中,基于回放结果可以高效查找漏洞。

作为示例,如图11所示,所述游戏回放方法还可以包括:步骤s1100,根据目标玩家的玩家标识,从所述服务器下载所述数据文件;其中,所述数据文件是服务器从上报异常的游戏终端中获取的。

实施例五

图12示意性示出了根据本申请实施例五的游戏回放装置的框图,该游戏回放装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。

如图12所示,该游戏回放装置1200可以包括下发模块1210、通知模块1220和提供模块1230,其中:

下发模块1210,用于将游戏对局中的多条战斗数据逐条下发到目标玩家的游戏终端,以使所述游戏终端存储多个键值对,每个键值对包括一条战斗数据和该条战斗数据的时间戳;

通知模块1220,用于当所述游戏对局被所述目标玩家上报异常,则通知所述游戏终端上传所述多个键值对;及

提供模块1230,用于接收所述多个键值对,并将所述多个键值对提供给回放终端,以便所述回放终端根据所述多个键值对依时间顺序进行回放操作。

作为示例,所述通知模块1220还用于:

获取所述目标玩家的玩家信息和所述游戏对局的场次信息;

根据所述玩家信息,检测所述目标玩家是否通过所述游戏终端执行游戏登录操作;及

当检测到所述游戏登录操作,则根据所述游戏对局的场次信息,通知所述游戏终端查询对应于所述游戏对局的所述多个键值对并将所述多个键值对上传至所述服务器。

作为示例,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据。所述游戏回放装置还可以包括比较模块(未标识),用于当所述其他虚拟角色被所述服务器控制,则比较所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据;其中,所述服务器保存的多条战斗数据为对应于所述游戏对局的战斗数据。

作为示例,所述游戏回放装置还可以包括防作弊模块(未标识),用于:根据所述多个键值中的多条战斗数据和所述服务器保存的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。

作为示例,所述多条战斗数据包括被所述游戏终端控制的虚拟角色的战斗数据以及其他虚拟角色的战斗数据。所述游戏回放装置还可以包括比较模块(未标识),用于当所述其他虚拟角色被所述其他游戏终端控制,则比较所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据;其中,所述其他游戏终端上传的多条战斗数据为对应于所述游戏对局的战斗数据。

作为示例,所述游戏回放装置还可以包括防作弊模块(未标识),用于:根据所述多个键值对中的多条战斗数据和所述其他游戏终端上传的多条战斗数据之间的比较结果,判断所述目标玩家是否有作弊行为。在本实施例中,可以有效识别用户的作弊行为。

实施例六

图13示意性示出了根据本申请实施例六的游戏回放装置的框图,该游戏回放装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。

如图13所示,该游戏回放装置1300可以包括接收模块1310、保存模块1320和响应模块1330,其中:

接收模块1310,用于接收服务器逐条下发游戏对局中的战斗数据;

保存模块1320,用于将各条战斗数据分别以键值对形式保存到本地存储器中,以得到多个键值对;每个键值对包括一条战斗数据和该条战斗数据的时间戳;及

响应模块1330,用于响应于所述服务器的指令,上传所述多个键值对至所述服务器中,以使所述服务器将所述多个键值对下发至回放终端,以使所述回放终端根据所述多个键值对进行回放操作。

作为示例,所述多个键值对位于一个数据文件中。所述响应模块1330还用于:根据所述指令中的场次信息,查询对应于所述游戏对局的所述数据文件并上传所述数据文件。

作为示例,所述游戏回放装置还可以包括异常判断模块(未标识)。所述异常判断,用于:

根据目标玩家的操作指令生成目标战斗数据,并将所述目标战斗数据上传到所述服务器;

接收所述服务器下发的所述目标战斗数据;

比较生成所述目标战斗数据时的时间戳和从所述服务器接收到所述目标战斗数据的时间戳;

若生成所述目标战斗数据时的时间戳和接收到所述目标战斗数据的时间戳之间的时间间隔大于预设阈值,则判定所述游戏对局异常,并将所述异常上报至所述服务器。

实施例七

图14示意性示出了根据本申请实施例七的适于实现游戏回放方法的计算机设备1400的硬件架构示意图。所述计算机设备1400可以作为服务器2、游戏终端6a、6b、…及8a、…、以及回放终端10中的任意一个。本实施例中,计算机设备1400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、膝上笔记本、个人电脑、工作站、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图14所示,计算机设备1400至少包括但不限于:可通过系统总线相互通信链接存储器1410、处理器1420、网络接口1430。其中:

存储器1410至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1410可以是计算机设备1400的内部存储模块,例如该计算机设备1400的硬盘或内存。在另一些实施例中,存储器1410也可以是计算机设备1400的外部存储设备,例如该计算机设备1400上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,存储器1410还可以既包括计算机设备1400的内部存储模块也包括其外部存储设备。本实施例中,存储器1410通常用于存储安装于计算机设备1400的操作系统和各类应用软件,例如游戏回放方法的程序代码等。此外,存储器1410还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器1420在一些实施例中可以是中央处理器(centralprocessingunit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1420通常用于控制计算机设备1400的总体操作,例如执行与计算机设备1400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1420用于运行存储器1410中存储的程序代码或者处理数据。

网络接口1430可包括无线网络接口或有线网络接口,该网络接口1430通常用于在计算机设备1400与其他计算机设备之间建立通信链接。例如,网络接口1430用于通过网络将计算机设备1400与外部终端相连,在计算机设备1400与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,简称为gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。

需要指出的是,图14仅示出了具有部件1410-1430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。

在本实施例中,存储于存储器1410中的游戏回放方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1420)所执行,以完成本申请实施例。

实施例八

本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的游戏回放方法的步骤。

本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,简称为smc),安全数字(securedigital,简称为sd)卡,闪存卡(flashcard)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中游戏回放方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1