CN110597657A - 客户端数据的校验方法、系统及服务器 - Google Patents
客户端数据的校验方法、系统及服务器 Download PDFInfo
- Publication number
- CN110597657A CN110597657A CN201910871530.6A CN201910871530A CN110597657A CN 110597657 A CN110597657 A CN 110597657A CN 201910871530 A CN201910871530 A CN 201910871530A CN 110597657 A CN110597657 A CN 110597657A
- Authority
- CN
- China
- Prior art keywords
- calculation result
- client
- operation instruction
- threshold range
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种客户端数据的校验方法、系统及一种服务器和计算机可读存储介质,该方法包括:接收客户端发送的操作指令及计算结果,其中,计算结果为客户端根据操作指令计算得到的;根据操作指令及预设误差规则确定阈值范围;当计算结果在阈值范围内时,确认计算结果无误。本发明所提供的技术方案,通过服务器根据操作指令及预设误差规则确定阈值范围,然后判断客户端计算得到的计算结果是否在该阈值范围内,若是则确认该计算结果无误,完成此次校验;不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦。
Description
技术领域
本发明涉及服务器技术领域,特别涉及一种客户端数据的校验方法、系统及服务器和计算机可读存储介质。
背景技术
在网络游戏进行的过程中,通常需要客户端接收用户的操作指令,然后得到相应的计算结果并发送至服务器,针对玩家的操作或玩家的状态等,客户端与服务器之间需要保持游戏数据的同步。
在服务器和客户端计算结果不一致时,需要进行计算校验,现有的校验方法通常通过设置各种规则天花板来校验部分客户端的计算结果,然而,由于规则天花板的复杂多变,使得客户端计算结果需要进行多方面的校验,导致校验的过程极为繁杂;现有的另一种校验方法是在服务器检测到计算结果不一致时,需要将客户端的计算结果重置为服务器的计算结果,并令客户端在此基础上根据新输入的操作指令进行计算,其缺陷在于客户端计算复杂,在网络延迟大时容易出现拉扯现象,影响用户游戏体验。
因此,如何实现客户端数据的快速校验是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种客户端数据的校验方法、系统及服务器和计算机可读存储介质,用于实现客户端数据的快速校验。
为实现上述目的,本发明第一方面提供了一种客户端数据的校验方法,该方法包括:
接收客户端发送的操作指令及计算结果,其中,所述计算结果为所述客户端根据所述操作指令计算得到的;
根据所述操作指令及预设误差规则确定阈值范围;
当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
结合本发明第一方面,在本发明第一方面的第一种实施方式中,
根据所述操作指令及预设误差规则确定阈值范围,包括:
确定所述操作指令对应的操作类别;
根据所述预设误差规则确定所述操作类别下每个影响因素对应的误差允许范围;
利用碰撞检测算法根据每个所述影响因素对应的误差允许范围计算所述阈值范围。
结合本发明第一方面的第一种实施方式,在本发明第一方面的第二种实施方式中,当所述计算结果不在所述阈值范围内时,还包括:
根据所述操作指令或所述阈值范围确定最终计算结果;
将所述最终计算结果发送至所述客户端,以使所述客户端根据所述最终计算结果控制游戏表现。
结合本发明第一方面,在本发明第一方面的第三种实施方式中,根据所述操作指令或所述阈值范围确定最终计算结果,包括:
获取所述客户端的游戏操作算法;
根据所述游戏操作算法对所述操作指令进行计算,得到所述最终计算结果。
结合本发明第一方面,在本发明第一方面的第四种实施方式中,根据所述操作指令或所述阈值范围确定最终计算结果,包括:
计算所述阈值范围内的每个值与所述计算结果的差值;
选择所述差值的绝对值最小的值作为所述最终计算结果。
结合本发明第一方面的第四种实施方式,在本发明第一方面的第五种实施方式中,在选择所述差值的绝对值最小的值作为所述最终计算结果之后,还包括:
判断所述最终计算结果与所述计算结果的差值的绝对值是否超过预设值;
若是,则发送提示信息至所述客户端。
为实现上述目的,本发明第二方面提供了一种客户端数据的校验系统,该系统包括:
接收模块,用于接收客户端发送的操作指令及计算结果,其中,所述操作指令为用户输入至所述客户端的;所述计算结果为所述客户端根据所述操作指令计算得到的;
计算模块,用于根据所述操作指令及预设误差规则确定阈值范围;
确认模块,用于当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
为实现上述目的,本发明第三方面提供了一种服务器,该服务器包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收客户端发送的操作指令及计算结果,其中,所述计算结果为所述客户端根据所述操作指令计算得到的;
根据所述操作指令及预设误差规则确定阈值范围;
当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
为实现上述目的,本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述客户端数据的校验方法的步骤。
通过以上方案可知,本发明提供的一种客户端数据的校验方法,包括:接收客户端发送的操作指令及计算结果,其中,计算结果为客户端根据操作指令计算得到的;根据操作指令及预设误差规则确定阈值范围;当计算结果在阈值范围内时,确认计算结果无误。
本发明所提供的技术方案,通过服务器根据操作指令及预设误差规则确定阈值范围,然后判断客户端计算得到的计算结果是否在该阈值范围内,若是则确认该计算结果无误,完成此次校验;不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦。本发明还公开了一种客户端数据的校验系统及一种服务器和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为本发明实施例提供的一种服务器校验系统的架构图;
图2为本发明实施例提供的一种客户端数据的校验方法的流程图;
图3为图2所提供的一种客户端数据的校验方法中S105的一种实际表现方式的流程图;
图4为本发明实施例所提供的一种人物移动速度在客户端中的表现方式的示意图;
图5为本发明实施例所提供的一种人物移动速度在客户端中的计算方式的示意图;
图6为本发明实施例所提供的一种人物移动速度在服务器中的表现方式的示意图;
图7为本发明实施例所提供的一种人物移动速度在服务器中的计算方式的示意图;
图8为本发明实施例提供的另一种客户端数据的校验方法的流程图;
图9为图8所提供的一种客户端数据的校验方法中S304的一种实际表现方式的流程图;
图10为本发明实施例提供的一种客户端数据的校验系统的结构图;
图11为本发明实施例提供的一种服务器1100的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明提供的客户端数据的校验方法,下面对其使用的系统进行介绍。参见图1,其示出了本发明实施例提供的一种服务器校验系统的架构图,如图1所示,包括服务器10和终端20,服务器10与终端20之间通过网络30通信连接。
其中,此处不限定终端的数量,即终端20可以包括多个终端,终端20可以为如手机等移动终端或如PC(中文全称:个人计算机,英文全称:personal computer)端等固定终端,其上安装有客户端。终端20会展示游戏操作界面,用户通过输入相应的操作指令完成对游戏的操作,当用户输入操作指令时,终端20会执行预表现操作,即先根据该操作指令计算得到计算结果,并根据该计算结果控制游戏表现,然后将计算结果发送至服务器10,以使服务器10对计算结果进行校验。
本发明的申请人经研究发现:现有的校验方法通过设置各种规则天花板来校验部分客户端的计算结果,例如针对于游戏人物的移动操作,服务器会判断该游戏人物的用户操作速度是否超过最大值、游戏人物的垂直方向的速度大小和方向是否异常等等,然而,由于规则天花板的复杂多变,使得客户端计算结果需要进行多方面的校验,导致校验的过程极为繁杂;而且规则难以维护,在一次游戏更新中可能需要更改所有的校验规则,工作量太过庞大;
现有的另一种校验方法是在服务器检测到计算结果不一致时,令客户端重新计算,其缺陷在于客户端计算复杂,在网络延迟大时容易出现拉扯现象,这里提到的拉扯现象,即为在客户端重新计算时,得到的新计算结果会覆盖原有的计算结果,造成游戏画面出现短暂的无法控制的情况,例如在游戏人物移动时,由于终端执行的预表现操作,会使用户在对游戏人物进行操作的同时,游戏人物几乎同时移动,而在检测到该游戏人物的移动速度或者位移与服务器的计算结果不一致时,客户端需要重新计算该游戏人物的移动位置,导致游戏人物会出现短暂的停滞不前,然后瞬移至某个新位置的情况,这就是拉扯现象。
因此,为了简化校验流程,实现对客户端数据的快速校验,服务器10通过根据操作指令及预设误差规则确定阈值范围,然后判断客户端根据操作指令计算得到的计算结果是否在阈值范围内,若是则确定客户端此次计算结果无误,完成此次校验。相对于第一种现有技术,本发明不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦;相对于第二种现有技术,本发明不需要保持客户端与服务器的计算结果完全一致,允许存在计算误差,只要该计算结果在阈值范围内即可,降低了客户端重新计算的概率,也减少了拉扯现象的出现。
本发明实施例公开了一种客户端数据的校验方法,实现了服务器的快速校验。
参见图2,本发明实施例提供的一种客户端数据的校验方法的流程图,如图2所示,其具体包括如下步骤:
S101:客户端响应用户输入的操作指令,得到计算结果控制游戏表现;
在具体实施中,针对于射击类游戏,用户输入的操作指令可以包括移动指令、瞄准指令、射击指令等,而移动指令又可以包括爬行指令、跑步指令、走路指令、下蹲指令、跳指令等等;客户端响应用户输入的操作指令,得到计算结果控制游戏人物进行各种对应的操作;
这里提到的计算结果为客户端根据操作指令计算得到的,在具体实施中,每个游戏都有用于响应操作指令的算法,利用该算法根据该操作指令计算得到计算结果,然后根据该计算结果控制游戏表现,完成客户端的预表现操作,其中预表现操作的意义在于令游戏表现能够快速响应用户输入的操作指令,降低延迟时间。
S102:客户端将操作指令及计算结果发送至服务器;
本步骤中,客户端将操作指令及计算结果发送至服务器,以使服务器对计算结果进行校验,校验的主要目的在于抵制游戏外挂,保证游戏环境的健康;
当游戏中外挂泛滥时,对于开挂用户来说,短时间便能够在游戏中获得各种成就,各种关卡毫无难度的瞬间通过,使得该游戏越玩越无聊;而对于未开挂用户来说,自己辛辛苦苦得到的成就被开挂用户瞬间超越,甚至在玩家对战中精湛的技术毫无作用,会极大的打击为开挂用户玩游戏的积极性;也就是说游戏外挂泛滥会导致用户的大量流失,进而导致游戏无法运营下去,因此服务器对客户端数据进行校验是十分必要的;
可选的,针对于手机、平板电脑、游戏机等移动终端,客户端可以通过WiFi、4G、GPRS等无线通信方式将操作指令及计算结果发送至服务器;而针对于PC等固定终端,客户端可以通过光纤、金属导线等有线通信方式将操作指令及计算结果发送至服务器。
S103:服务器接收操作指令及计算结果,并根据操作指令及预设误差规则确定阈值范围;
一般而言,游戏外挂往往是通过对客户端中的游戏数据进行修改来达到开挂目的;现有技术中通过服务器根据操作指令进行计算,如果得到的计算结果与客户端的计算结果不一致,则认为客户端数据出现了异常,此时将客户端的计算结果重置为服务器的计算结果,然后在此基础上响应用户的下一个操作指令,导致了拉扯现象的出现;
而在本步骤中,服务器根据操作指令及预设误差规则确定阈值范围,允许客户端的计算结果存在误差,只要在该阈值范围内便认为其合法,不存在外挂行为,服务器采用的算法与客户端中的算法一致,也就是说,理论上计算结果是一定在阈值范围内的,如果不在,则可以确定客户端中的数据出现了异常;
这里提到的预设误差规则为预先制定的针对于不同操作类别下每个影响因素对应的误差允许范围,与现有技术中提到的规则天花板类似,区别在于现有技术需要根据规则天花板依次判断计算结果的每个影响因素是否超过其各自的误差允许范围,而本发明仅需要根据每个影响因素对应的误差允许范围确定最终的阈值范围,然后判断计算结果是否在阈值范围内即可,不需重复计算,极大地提高了校验速度。例如,针对于游戏人物的移动操作,现有技术需要分别判断该游戏人物的用户操作速度是否超过最大值、游戏人物的垂直方向的速度大小和方向是否异常等等,而本发明仅需根据游戏人物的移动操作及预设误差规则确定游戏人物的速度阈值范围,并判断该游戏人物的速度是否在该速度阈值范围内即可;而且,影响因素越多,现有技术的检验速度与本发明差距越明显。
S104:当计算结果在阈值范围内时,服务器确认计算结果无误。
这里提到的确定阈值范围的意义在于,通过判断计算结果是否在阈值范围内来确定计算结果是否在误差允许范围内,当计算结果在该阈值范围内时,则可以认为计算结果的误差可以被忽略,此时也可以继续等待接收客户端下一次发送的操作指令及计算结果,并对下一次的计算结果进行校验;
相对于第一种现有技术,本发明不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦;相对于第二种现有技术,本发明不需要保持客户端与服务器的计算结果完全一致,允许存在计算误差,只要该计算结果在阈值范围内即可,降低了客户端重新计算的概率,也减少了拉扯现象的出现。
基于上述技术方案,本发明所提供的一种客户端数据的校验方法,通过服务器根据操作指令及预设误差规则确定阈值范围,然后判断客户端计算得到的计算结果是否在该阈值范围内,若是则确认该计算结果无误,完成此次校验;不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦。
请参见图3,本实施例是对图2对应的实施例中S103的具体描述,以图1中的服务器10为执行主体进行说明,提供了利用碰撞检测算法根据每个影响因素对应的误差允许范围计算阈值范围的技术方案,可以将本实施例与图2对应的实施例相结合得到更为优选的实施方式,本实施例可以包括以下步骤:
S201:确定操作指令对应的操作类别;
本步骤中,针对于射击类游戏,这里提到的操作类别具体可以包括移动操作、瞄准操作、射击操作中的至少一项。
S202:根据预设误差规则确定操作类别下每个影响因素对应的误差允许范围;
例如,针对于移动操作,其影响因素可以包括重力影响因素、技能影响因素、地形影响因素等;针对于瞄准操作,其影响因素可以包括护目镜影响因素、瞄准镜影响因素等;针对于设计操作,其影响因素可以包括枪支影响因素、风速影响因素、重力影响因素等;
这里提到的误差允许范围可以根据预设误差规则进行详细设定,例如,针对于移动操作,可以设定其重力影响因素的误差允许范围为0,即不允许重力影响因素出现误差,防止出现游戏人物在天上飞的情况;可以设定其技能影响因素的误差允许范围为[-5,5],其地形影响因素的误差允许范围为[-3,3],即对地形影响因素的要求严于对技能影响因素的要求。
S203:利用碰撞检测算法根据每个影响因素对应的误差允许范围计算阈值范围。
这里提到的碰撞检测算法,是以计算两个物体之间的距离为基础来进行碰撞检测的,本发明实施例通过用碰撞检测算法根据每个影响因素对应的误差允许范围计算阈值范围,将多个判断过程转化为多个几何体的求和运算,简化了判断过程。本发明实施例可以应用于一维、二维、三维甚至更多维度的误差计算和校验。
下面以王牌战士移动逻辑为例,对本发明实施例进行详细说明:
在王牌战士的人物移动计算中,人物的移动速度包括用户操作速度Vuser、重力和技能速度Vgs以及斜坡滑动速度Vslide,把这些速度相加得到人物的最终速度移动V,Vuser_c、Vgs_c和Vslide_c在客户端中的表现方式请参见图4,客户端计算速度的方式请参见图5,如图5所示,客户端速度计算是简单的向量相加,其最终结果为
Vc=Vuser_c+Vgs_c+Vslide_c
其中,Vc为客户端计算得到的人物的最终移动速度,Vuser_c为客户端获取到的用户操作速度,Vgs_c为客户端获取到的重力和技能速度,Vslide_c为客户端获取到的斜坡滑动速度;
而在服务器中,针对于服务器获取到的用户操作速度Vuser_s,服务器只对Vuser_s最大速度的大小的要求较高,对其方向没有要求,只需要满足||Vuser_c||<=Vuser_smax即可,其中,||Vuser_c||为客户端获取到的用户操作速度Vuser_c的大小,Vuser_smax为人物预设的最大用户操作速度,固定不变;
针对于服务器获取到的重力和技能速度Vgs_s,服务器对于Vgs_s在垂直方向(即y轴方向)的速度大小和方向的要求较高,以避免飞行外挂的出现,而对于水平方向速度误差可以适当放宽要求,即:
Vgs_c.y==Vgs_s.y
||Vgs_c-Vgs_s||/||Vgs_s||<eps
其中,Vgs_c.y为Vgs_c在垂直方向的分速度,Vgs_s.y为Vgs_s在垂直方向的分速度,eps为预设的误差值;
针对于服务器获取到的斜坡滑动速度Vslide_s,服务器对Vslide_s的速度大小和方向均有要求,防止外挂逆斜坡运动,即:
Vslide_c==Vslide_s
Vuser_s、Vgs_s和Vslide_s三个速度的图形表示如图6所示,因为服务器只对Vuser的最大值有要求,因此Vuser_s的取值范围是以原点为圆心,Vuser_s的最大值为半径的一个圆形;
对于Vgs_s,要求Vgs_s.y==Vgs_c.y,且Vgs_s.x和Vgs_c.x值允许有误差,因此Vgs_s的取值范围是一个线段,其中,Vgs_s.x为Vgs_s在水平方向的分速度,Vgs_c.x为Vgs_c在水平方向的分速度;
对于Vslide_s的大小和方向均有要求,因此Vslide_s的取值范围是一个点;
在此基础上,服务器计算的人物的最终移动速度Vs=Vuser_s⊕Vgs_s⊕Vslide_s,其最终计算结果如图7所示,Vs的取值范围为一个胶囊区域,其中,⊕为闵可夫斯基和,用于计算两个几何体的任意点相加,得到一个新的几何体。
本发明实施例公开了一种客户端数据的校验方法,相对于前几个实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图8,本发明实施例提供的另一种热点挖掘方法的流程图,如图8所示,包括:
S301:客户端响应用户输入的操作指令,得到计算结果控制游戏表现;
S302:客户端将操作指令及计算结果发送至服务器;
S303:服务器接收操作指令及计算结果,并根据操作指令及预设误差规则确定阈值范围;
S304:当计算结果不在阈值范围内时,服务器根据操作指令或阈值范围确定最终计算结果;
S305:服务器将最终计算结果发送至游戏客户端;
在本步骤中,确定最终计算结果的目的在于,令客户端根据该最终计算结果控制游戏表现,以防止出现客户端显示的游戏表现与操作指令对应的游戏表现差距过大的情况,降低客户端的计算误差,同时防止外挂生效;
可选的,这里提到的服务器根据操作指令或阈值范围确定最终计算结果,其具体可以为:
获取客户端的游戏操作算法;
根据游戏操作算法对操作指令进行计算,得到最终计算结果。
S306:客户端根据最终计算结果控制游戏表现。
基于上述技术方案,本发明实施例在客户端得到的计算结果超出阈值范围时,令服务器获取客户端的游戏操作算法,并根据游戏操作算法对操作指令进行计算,得到最终计算结果,然后令最终计算结果覆盖客户端原有的计算结果,并在此基础上根据新输入的操作指令进行计算,以防止出现客户端显示的游戏表现与操作指令对应的游戏表现差距过大的情况,降低客户端的计算误差,同时防止外挂生效。
请参见图9,本实施例是对图8对应的实施例中S304的具体描述,同样以图1中的服务器10为执行主体进行说明,提供了根据阈值范围确定最终计算结果的技术方案,可以将本实施例与图8对应的实施例相结合得到更为优选的实施方式,本实施例可以包括以下步骤:
S401:计算阈值范围内的每个值与计算结果的差值;
S402:选择差值的绝对值最小的值作为最终计算结果。
当计算结果不在阈值范围内时,本发明实施例在阈值范围内选择与计算结果的差值的绝对值最小的值作为最终计算结果,以使最终计算结果既在误差允许范围之内,又缩小了与客户端计算得到的计算结果的差距,进而在客户端根据最终计算结果控制游戏表现时,更进一步的减小了出现拉扯现象的概率。
可选的,在选择阈值范围内选择最终计算结果之后,还可以判断最终计算结果与计算结果的差值的绝对值是否超过预设值;若超过,则发送提示信息至客户端,以提醒用户对客户端所在终端进行杀毒处理,避免外挂影响游戏;进一步的,当多次检测到最终计算结果与计算结果的差值的绝对值超过预设值时,和/或检测到最终计算结果与计算结果的差值的绝对值远大于预设值时,还可以对其账户进行下线操作,并进行封号处理。
下面对本发明实施例提供的一种客户端数据的校验系统进行介绍,下文描述的一种客户端数据的校验系统与上文描述的一种服务器校验方法可以相互参照。
参见图10,本发明实施例提供的一种客户端数据的校验系统的结构图,如图10所示,包括:
接收模块100,用于接收客户端发送的操作指令及计算结果,其中,操作指令为用户输入至客户端的;计算结果为客户端根据操作指令计算得到的;
计算模块200,用于根据操作指令及预设误差规则确定阈值范围;
确认模块300,用于当计算结果在阈值范围内时,确认计算结果无误。
本发明所提供的客户端数据的校验系统,通过服务器根据操作指令及预设误差规则确定阈值范围,然后判断客户端计算得到的计算结果是否在该阈值范围内,若是则确认该计算结果无误,完成此次校验;不需要设置各种规则天花板来对客户端的计算结果进行多方面的校验,简化了校验流程,在实现了服务器的快速校验的同时,避免了难以维护的麻烦。
在上述实施例的基础上,作为一种优选实施方式,计算模块200可以包括:
第一确定单元,用于确定操作指令对应的操作类别;
第二确定单元,用于根据预设误差规则确定操作类别下每个影响因素对应的误差允许范围;
第一计算单元,用于利用碰撞检测算法根据每个影响因素对应的误差允许范围计算阈值范围。
在上述实施例的基础上,作为一种优选实施方式,该操作类别可以包括移动操作、瞄准操作、射击操作中的至少一项。
在上述实施例的基础上,作为一种优选实施方式,还包括:
确定模块,用于根据操作指令或阈值范围确定最终计算结果;
发送模块,用于将最终计算结果发送至客户端,以使客户端根据最终计算结果控制游戏表现。
在上述实施例的基础上,作为一种优选实施方式,该确定模块可以包括:
获取单元,用于获取客户端的游戏操作算法;
第一计算单元,用于根据游戏操作算法对操作指令进行计算,得到最终计算结果。
在上述实施例的基础上,作为一种优选实施方式,该确定模块可以包括:
第二计算单元,用于计算阈值范围内的每个值与计算结果的差值;
选择单元,用于选择差值的绝对值最小的值作为最终计算结果。
在上述实施例的基础上,作为一种优选实施方式,该确定模块还可以包括:
判断单元,用于判断最终计算结果与计算结果的差值的绝对值是否超过预设值;
发送单元,用于当最终计算结果与计算结果的差值的绝对值超过预设值时,发送提示信息至游戏客户端。
关于上述实施例中的系统,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明还提供了一种服务器,参见图11,本发明实施例提供的一种服务器1100的结构图,如图11所示,可以包括处理器1101和存储器1102。
可选的,该服务器还可以包括通信接口1103、输入单元1104和显示器1105和通信总线1106。
处理器1101、存储器1102、通信接口1103、输入单元1104、显示器1105、均通过通信总线1106完成相互间的通信。
在本发明实施例中,该处理器1101,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器1101可以调用存储器1102中存储的程序。具体的,处理器1101可以执行上述客户端数据的校验方法的实施例中的步骤。
存储器1102中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,该存储器中至少存储有用于实现以下功能的程序:
接收客户端发送的操作指令及计算结果,其中,计算结果为客户端根据操作指令计算得到的;
根据操作指令及预设误差规则确定阈值范围;
当计算结果在阈值范围内时,确认计算结果无误。
在一种可能的实现方式中,该存储器1102可以包括存储程序区和存储数据区,其中,存储程序区用于存储操作系统、以及至少一个功能(比如服务器校验功能)所需的应用程序等;存储数据区用于存储根据计算机的使用过程中所创建的数据。
此外,存储器1102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口1103可以为通信模块的接口,如GSM模块的接口。
本发明实施例提供的服务器1100还可以包括输入单元1104和显示器1105等等。
当然,图11所示的服务器的结构并不构成对本发明实施例中服务器的限定,在实际应用中服务器可以包括比图11所示的更多或更少的部件,或者组合某些部件。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任一实施例服务器所执行的客户端数据的校验方法的步骤。
在一些实施例中,上述终端或服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种客户端数据的校验方法,其特征在于,包括:
接收客户端发送的操作指令及计算结果,其中,所述计算结果为所述客户端根据所述操作指令计算得到的;
根据所述操作指令及预设误差规则确定阈值范围;
当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
2.根据权利要求1所述的方法,其特征在于,根据所述操作指令及预设误差规则确定阈值范围,包括:
确定所述操作指令对应的操作类别;
根据所述预设误差规则确定所述操作类别下每个影响因素对应的误差允许范围;
利用碰撞检测算法根据每个所述影响因素对应的误差允许范围计算所述阈值范围。
3.根据权利要求2所述的方法,其特征在于,所述操作类别包括移动操作、瞄准操作、射击操作中的至少一项。
4.根据权利要求1-3任一项所述的方法,其特征在于,当所述计算结果不在所述阈值范围内时,还包括:
根据所述操作指令或所述阈值范围确定最终计算结果;
将所述最终计算结果发送至所述客户端,以使所述客户端根据所述最终计算结果控制游戏表现。
5.根据权利要求4所述的方法,其特征在于,根据所述操作指令或所述阈值范围确定最终计算结果,包括:
获取所述客户端的游戏操作算法;
根据所述游戏操作算法对所述操作指令进行计算,得到所述最终计算结果。
6.根据权利要求4所述的方法,其特征在于,根据所述操作指令或所述阈值范围确定最终计算结果,包括:
计算所述阈值范围内的每个值与所述计算结果的差值;
选择所述差值的绝对值最小的值作为所述最终计算结果。
7.根据权利要求6所述的方法,其特征在于,在选择所述差值的绝对值最小的值作为所述最终计算结果之后,还包括:
判断所述最终计算结果与所述计算结果的差值的绝对值是否超过预设值;
若是,则发送提示信息至所述客户端。
8.一种客户端数据的校验系统,其特征在于,包括:
接收模块,用于接收客户端发送的操作指令及计算结果,其中,所述操作指令为用户输入至所述客户端的;所述计算结果为所述客户端根据所述操作指令计算得到的;
计算模块,用于根据所述操作指令及预设误差规则确定阈值范围;
确认模块,用于当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
9.一种服务器,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收客户端发送的操作指令及计算结果,其中,所述计算结果为所述客户端根据所述操作指令计算得到的;
根据所述操作指令及预设误差规则确定阈值范围;
当所述计算结果在所述阈值范围内时,确认所述计算结果无误。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述客户端数据的校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871530.6A CN110597657B (zh) | 2019-09-16 | 2019-09-16 | 客户端数据的校验方法、系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871530.6A CN110597657B (zh) | 2019-09-16 | 2019-09-16 | 客户端数据的校验方法、系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597657A true CN110597657A (zh) | 2019-12-20 |
CN110597657B CN110597657B (zh) | 2023-03-10 |
Family
ID=68859779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910871530.6A Active CN110597657B (zh) | 2019-09-16 | 2019-09-16 | 客户端数据的校验方法、系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597657B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112604288A (zh) * | 2020-12-29 | 2021-04-06 | 珠海金山网络游戏科技有限公司 | 一种游戏角色控制方法与装置 |
CN114225381A (zh) * | 2022-01-07 | 2022-03-25 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105214310A (zh) * | 2015-10-13 | 2016-01-06 | 网易(杭州)网络有限公司 | 一种游戏战斗校验方法、系统及服务端 |
CN105498210A (zh) * | 2015-12-11 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 用于游戏应用的安全校验方法和装置及系统 |
CN109304034A (zh) * | 2018-10-25 | 2019-02-05 | 珠海市君天电子科技有限公司 | 一种游戏作弊检测方法及相关设备 |
CN109499069A (zh) * | 2017-09-14 | 2019-03-22 | 腾讯科技(深圳)有限公司 | 操作结果校验方法、装置、存储介质及电子装置 |
US20190168124A1 (en) * | 2017-12-06 | 2019-06-06 | Activision Publishing, Inc. | System and Method for Validating Video Gaming Data |
CN110166519A (zh) * | 2018-11-20 | 2019-08-23 | 腾讯数码(天津)有限公司 | 一种信息同步的方法以及相关装置 |
-
2019
- 2019-09-16 CN CN201910871530.6A patent/CN110597657B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105214310A (zh) * | 2015-10-13 | 2016-01-06 | 网易(杭州)网络有限公司 | 一种游戏战斗校验方法、系统及服务端 |
CN105498210A (zh) * | 2015-12-11 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 用于游戏应用的安全校验方法和装置及系统 |
CN109499069A (zh) * | 2017-09-14 | 2019-03-22 | 腾讯科技(深圳)有限公司 | 操作结果校验方法、装置、存储介质及电子装置 |
US20190168124A1 (en) * | 2017-12-06 | 2019-06-06 | Activision Publishing, Inc. | System and Method for Validating Video Gaming Data |
CN109304034A (zh) * | 2018-10-25 | 2019-02-05 | 珠海市君天电子科技有限公司 | 一种游戏作弊检测方法及相关设备 |
CN110166519A (zh) * | 2018-11-20 | 2019-08-23 | 腾讯数码(天津)有限公司 | 一种信息同步的方法以及相关装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112604288A (zh) * | 2020-12-29 | 2021-04-06 | 珠海金山网络游戏科技有限公司 | 一种游戏角色控制方法与装置 |
CN114225381A (zh) * | 2022-01-07 | 2022-03-25 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
CN114225381B (zh) * | 2022-01-07 | 2022-07-19 | 广州炫动信息科技有限公司 | 基于区块链分布式共识算法的战斗数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110597657B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10653960B2 (en) | Method for controlling interaction with virtual target, terminal, and storage medium | |
KR102034367B1 (ko) | 정보 처리 방법과 단말기, 및 컴퓨터 저장 매체 | |
KR101869819B1 (ko) | 사용자 캐릭터의 자동 공격 제어 방법 | |
KR101398086B1 (ko) | 온라인 게임에서의 유저 제스처 입력 처리 방법 | |
US11241625B2 (en) | Positioning information prompting method and apparatus, storage medium, and electronic device | |
EP3919145A1 (en) | Information interaction method and related device | |
CN108196765A (zh) | 显示控制方法、电子设备及存储介质 | |
CN109925720A (zh) | 信息处理方法和装置 | |
US20230076343A1 (en) | Virtual item selection interface | |
CN110597657B (zh) | 客户端数据的校验方法、系统及服务器 | |
US20170266556A1 (en) | Program and system | |
CN114344892A (zh) | 一种数据处理方法和相关装置 | |
US20170173469A1 (en) | Program and system | |
CN112717400B (zh) | 关卡画面的显示方法、装置、设备及介质 | |
KR101417947B1 (ko) | 온라인 게임에서의 유저 제스처 입력 처리 방법 | |
KR101929747B1 (ko) | 개인화된 게임 자동 플레이 제어 장치 및 방법 | |
US20150375122A1 (en) | Systems and methods for controlling multiple accounts | |
CN114011069A (zh) | 虚拟对象的控制方法、存储介质和电子设备 | |
US11219825B2 (en) | Non-transitory computer-readable medium and video game processing system | |
CN114733209A (zh) | 游戏场景中的城池升级方法、装置、设备及存储介质 | |
CN113680067A (zh) | 游戏中控制虚拟道具的方法、装置、设备及存储介质 | |
CN113797544A (zh) | 虚拟对象的攻击控制方法、装置、计算机设备及存储介质 | |
CN108234656B (zh) | 数据交互方法及系统 | |
JP6704017B2 (ja) | ビデオゲーム処理プログラム、及びビデオゲーム処理システム | |
KR102170825B1 (ko) | 게임 제어 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |