首页> 中国专利> 在线游戏不正当性检测方法

在线游戏不正当性检测方法

摘要

本发明提供一种在线游戏不正当性检测方法,该方法在多个客户机通过网络连接至游戏服务器的在线游戏系统中执行,在该方法中:在多个客户机中,从作为验证目标的客户机中获取表示在线游戏的执行状态的游戏日志;以及通过根据所获取的游戏日志再现在线游戏的执行,来验证游戏日志。因此,当由游戏日志示出的第一结果值不等于通过再现在线游戏的执行而获取的第二结果值时,作为比较第一结果值和第二结果值的结果,确定发生了非法行为。

著录项

  • 公开/公告号CN1713201A

    专利类型发明专利

  • 公开/公告日2005-12-28

    原文格式PDF

  • 申请/专利权人 世嘉股份有限公司;

    申请/专利号CN200510077463.9

  • 发明设计人 小沼卓儿;

    申请日2005-06-23

  • 分类号G06F19/00;G06F17/60;

  • 代理机构北京林达刘知识产权代理事务所;

  • 代理人刘新宇

  • 地址 日本东京都

  • 入库时间 2023-12-17 16:46:38

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-11

    未缴年费专利权终止 IPC(主分类):G06F19/00 授权公告日:20100106 终止日期:20160623 申请日:20050623

    专利权的终止

  • 2010-01-06

    授权

    授权

  • 2007-06-06

    实质审查的生效

    实质审查的生效

  • 2005-12-28

    公开

    公开

说明书

技术领域

本发明一般涉及一种在使用因特网进行在线游戏期间,检测不正当性的技术。

背景技术

近来,使用因特网的在线游戏已被广泛应用,大量用户(player,游戏者)加入到在线游戏中。

实际上,被称为“作弊”的不正当行为作为游戏癖好的一部分,已被游戏者进行了很长时间。正在处理的游戏数据被故意篡改、非法获取装备(item)、或者创建无敌状态,然后,游戏以不同于正常游戏的方式进行。此外,已发布了用来对游戏作弊的工具和程序代码。因此,这些行为进一步导致了各种不正当行为。

这些不正当行为不仅在传统的单机游戏、而且已在在线游戏中被广泛进行。由于与单机游戏不同,在在线游戏中,用户与其它用户竞争以成为获胜者,因此,部分用户的这些不正当行为给其他诚实地进行游戏的用户带来强烈的不愉快。因而,在线游戏失去了一些用户,在线游戏业务无法取得成功。鉴于上述情况,规范在线游戏的不正当行为是非常重要的。

在线游戏分为允许少量游戏者同时进行的MO(multiplayer online,多人在线)型、和允许大量游戏者同时进行的MMO(massively multiplayer online,大型多人在线)型。通常,在前者MO型中,大约一半的处理在客户机侧进行,而在后者MMO型中,大多数处理在服务器侧进行。因此,不正当行为主要对于前者MO型会产生问题(客户机中的程序或数据可被篡改,以对游戏作弊),而对于后者MMO型则不易进行不正当行为(无法进行作弊,除非服务器被非法入侵(hack))。然而,即使是后者MMO型,在允许对游戏内容进行动作操作的情况下,由于在因特网中数据延迟的大小,有时仅靠服务器无法响应动作操作。因此,需要每个客户机来分担处理。这时,可以进行不正当行为。

传统上,针对这些不正当行为,对数据包(packet)进行加密,使程序变得复杂。具体来说,加密数据包,以使通过网络传送的数据被加密,从而使分析所传送的是什么数据变得困难。此外,使程序变得复杂,以使文件结构和程序的执行变得复杂,从而使分析程序和数据的内容变得困难。

另一方面,日本特开平No.9-218851公开了一种技术,该技术可在计算机网络系统中自动检测和恢复由于篡改和数据访问故障而导致的数据丢失。

如上所述,传统上,主要通过加密数据包和使程序复杂来尝试防止不正当行为。但是,由于部分处理在用户侧进行(通过客户计算机),因而无法完全防止不正当行为。

也就是说,通过加密数据包,可以使分析所传送的是什么数据变得困难。即使对该部分进行更高的技术处理,也可能通过在客户机侧分析程序而求出解密算法。此外,当加密数据包时,由于服务器与全部客户机进行通信,工作负荷集中在服务器,因而需要大量成本进行该处理。

另一方面,通过使程序变得复杂,可以使分析程序和数据的内容变得困难。但是,程序和数据的结构最终可被分析出来,因而当程序和数据被复杂化不久,可能再次进行不正当行为。因此,目前尚无本质对策。而且,在使文件结构和程序的执行变得复杂的情况下,游戏的发展变得困难,导致了程序的缺陷。

在服务器中的程序维持更高的安全性,没有更高的技术例如非法入侵,无法进行篡改。因此,如果由服务器进行全部处理,并且如果仅在客户机显示处理结果,则可以防止非法篡改。但是,只要在线游戏使用例如因特网等数据发送的延迟较大的网络,并且当对于全部处理,将从每个客户机输入的信息发送到服务器、并将由服务器处理后的信息返回每个客户机时,就无法实现要求即时性的动作。

在日本特开平No.9-218851中所述的技术涉及对业务系统中的数据库的非法篡改等,而非在线游戏的不正当性。

也就是说,在对各种动作期望很高的在线游戏中,游戏者实时操作游戏人物(不限于人,而是包括机器人、汽车等),具有位置坐标的游戏人物在虚拟的三维空间中移动。而且,还有一些游戏人物,其每个可由一个以上的游戏者在虚拟三维空间中进行操作。因此,要处理与业务系统中的数据库的操作相比数据量大得多的数据。因此,无法应用在日本特开平No.9-218851中所述的技术,来检测在线游戏中的不正当性。

而且,在在线游戏中,在以每1/60秒或1/30秒的垂直消隐间隙在屏幕上绘制一帧时,在一些帧内,基于与帧时(frametime)内的时间有关的数据来进行输入操作的全部处理,例如游戏处理(每个游戏人物的移动、在虚拟三维空间中与其它对象的碰撞的判断等)、图像生成、将图像输出到显示装置、数据发送等。因此,要处理的数据发生在极短的时间内。

因此,从不是每隔几个帧由输入操作装置(控制板、键盘、鼠标等)进行输入的观点看,从游戏人物不在多帧装置的虚拟三维空间中移动的观点看,从不在多帧装置的虚拟三维空间中生成投影图像的观点看,以及从不在多帧装置上将图像输出到显示装置的观点看,日本特开平No.9-218851所公开的技术与所期望的技术存在相当大的差别。

此外,在应用于日本特开平No.9-218851所说明的业务系统的数据库中,因为目标计算处理不必由客户机来进行,而可由其它可替代的客户机来进行,因此,不非常需要专门的客户机,而只需静态监视数据库的状态即可。但是,对各种动作期望很高的在线游戏中,总是要求以在每个客户机中进行的游戏处理(游戏人物的移动、碰撞确定等)为对象。此外,需要监视包括细微定时的游戏处理。从该观点看,日本特开平No.9-218851所公开的技术与在线游戏所期望技术存在相当大的差别。

发明内容

因此,本发明的一般目的在于提供在线游戏不正当性检测方法,以消除上述一个或多个问题。

本发明更具体的目的在于提供一种在线游戏不正当性检测方法,在该方法中,能正确检测在线游戏中的非法行为,且有效防止该非法行为,而不加密数据包和使程序复杂化。

本发明的上述目的通过一种在线游戏不正当性检测方法来实现,该方法在多个客户机通过网络连接至游戏服务器的在线游戏系统中执行,包括以下步骤:在多个客户机中,从作为验证目标的客户机中获取表示在线游戏的执行状态的游戏日志;通过根据所获取的游戏日志再现在线游戏的执行,来验证游戏日志;当由游戏日志示出的第一结果值不等于通过再现在线游戏的执行而获取的第二结果值时,作为比较第一结果值和第二结果值的结果,确定发生了非法行为。

此外,在该在线游戏不正当性检测方法中,可在游戏服务器中验证游戏日志。

此外,在该在线游戏不正当性检测方法中,可由独立于游戏服务器而配置的参考机来验证游戏日志。

此外,在该在线游戏不正当性检测方法中,在多个客户机中,可由除了作为验证目标的客户机之外的一个客户机来验证游戏日志。

此外,在该在线游戏不正当性检测方法中,游戏日志可包括:初始数据,其表示在开始获取游戏日志时在线游戏的状态;动作数据,其表示在获取游戏日志期间,游戏者的操作内容;结果数据,其表示在结束获取游戏日志时,在线游戏的状态。

附图说明

图1是示出根据本发明实施例的系统配置的示意图;

图2是示出根据本发明实施例的游戏日志(play log)的内容的例子的示意图;

图3是示出根据本发明实施例的动作的例子的示意图;

图4是示出根据本发明实施例的动作数据的例子的示意图;

图5是示出根据本发明实施例的动作数据的另一个例子的示意图;

图6是示出用于说明根据本发明实施例,每个客户机中动作数据的获取处理的流程图的例子的示意图;

图7是示出根据本发明实施例的游戏服务器的详细内部配置的示意图;

图8是用来说明根据本发明实施例,获取游戏日志的操作的流程图;

图9是用来说明根据本发明实施例,基于游戏日志的不正当性检测的操作的流程图。

具体实施方式

参考图1至图5,给出本发明实施例的说明。

参考附图来说明根据本发明的实施例。

图1是示出根据本发明实施例的系统配置的示意图。

在图1中,在在线游戏的运营侧,配置有游戏服务器1,如果需要,还配置有参考机(referential machine)2。在游戏者侧,配置有多个客户机3和4(图中仅示出两个执行典型操作的客户机,但实际可配置更多的客户机)。游戏服务器1和客户机3和4通过网络,例如因特网,相互连接。

游戏服务器1包括:游戏服务器处理部分11,用来执行正常在线游戏的服务器处理;不正当性检测处理部分12,用来检测客户机的不正当性;以及游戏日志验证处理部分13,用来验证游戏日志,该游戏日志作为验证目标机的操作记录,用来检测不正当性。此外,参考机2包括游戏日志验证处理部分21,用来为了验证不正当性而验证游戏日志,该游戏日志作为验证目标机的操作记录。应注意的是,参考机2是与作为验证目标机的客户机3具有相同性能的个人计算机等,例如,参考机2安装与客户机3相同的操作系统,例如WindowsTM

另一方面,在该阶段作为验证目标的客户机3中,除了用来执行正常在线游戏的客户机处理的游戏客户机处理部分31之外,还动态配置有游戏日志发送处理部分32,用来获取客户机3的游戏日志并将该游戏日志发送游戏服务器1。而且,在作为验证机的客户机4中,除了用来执行正常在线游戏的客户机处理的游戏客户机处理部分41之外,还动态配置有游戏日志验证处理部分42,用来验证作为验证目标机的操作记录的游戏日志,以检测不正当性。应注意的是,根据游戏服务器1的处理,验证目标机和验证机可适当地、选择性地变化。

此外,在图1中,作为验证游戏日志(该游戏日志作为验证目标机的操作记录),以验证不正当性的功能部分,在游戏服务器1中配置有游戏日志验证处理部分13、在参考机2中配置有游戏日志验证处理部分21、以及在客户机4中配置有游戏日志验证处理部分42。无需同时使用全部处理部分13、21和42。也就是说,当游戏日志的全部验证由游戏服务器1中的游戏日志验证处理部分13来进行时,不需要参考机2,也不需要客户机4中的游戏日志验证处理部分42。类似地,当游戏日志的全部验证由参考机2中的游戏日志验证处理部分21来进行时,不需要游戏服务器1中的游戏日志验证处理部分13和客户机4中的游戏日志验证处理部分42。当游戏日志的全部验证由客户机4中的游戏日志验证处理部分42来进行时,不需要游戏服务器1中的游戏日志验证处理部分13和参考机2本身。

当游戏日志的验证由游戏服务器1中的游戏日志验证处理部分13来进行时,游戏服务器1通常是比个人计算机具有更高性能的机器,且由例如UNIXTM等的OS来操作。因此,对于游戏日志的验证,需要舍入误差,并稍微调整在游戏服务器1和客户机3之间的定时。当游戏日志的验证由参考机2中的游戏日志验证处理部分21、或客户机4中的游戏日志验证处理部分42来进行时,有利地,因为执行环境与应用的验证目标的客户机3相似,可以执行客户机处理程序本身。

图2是示出根据本发明实施例的游戏日志的内容的例子的示意图。在图2中,游戏日志包括:初始数据,其表示在游戏日志获取开始时的游戏状态;动作数据,其表示在游戏日志获取期间,游戏者的操作内容;以及结果数据,其表示在游戏日志获取结束时的游戏状态。初始数据和结果数据包括:HP(hitpoint,生命点数),其根据由敌人的攻击所造成的伤害而减少;当HP恢复时的最大值;MP(magic point,魔法点数),其在进行特殊动作例如魔法时而被消耗;当MP恢复时的最大值;以及对应于其它游戏类型的特定游戏时刻的特定状态的数据。而且,动作数据包括多个与游戏的时间信息相关的动作数据要素。每个动作数据要素包括每个游戏人物的位置信息。位置信息可以是绝对坐标值,或每帧的移动量。当移动速度为常数时,仅包括移动方向,作为位置信息。

图3是示出根据本发明实施例的动作的例子的示意图。在图3中,动作包括:游戏者可以指示的操作,例如移动(包括例如位置、方向、速度等属性);攻击(包括例如目标、武器、方向等属性);装备使用(包括例如装备、目标等属性)。

图4是示出根据本发明实施例的动作数据的例子的示意图。在图4中,一行配置一个动作数据要素。在图4中,示出了仅记录在其中执行动作的帧的数据的情况。动作数据要素包括:帧编号,用来识别帧;动作ID,用来示出动作的类型;动作参数1,用来示出动作的内容;以及动作参数2,用来示出动作的另一内容。因为帧单元的时间信息对于识别帧来说是必需的,因此,替代帧编号,可以使用包括小数点后面的秒信息的时间信息(例如,01小时23分钟45.67秒)。而且,动作参数的数量可以任意指定,动作参数本身可以省略(在图4中,当没有参数时,显示“00(无)”)。此外,动作ID等用数字数据来显示,但也可使用字符数据,例如“move”。

图5示出了根据本发明实施例的动作数据的另一例子的示意图。在图5中,动作数据的该例子示出了为每个帧记录数据的情况。因为帧以时间序列排列,因此,无需为每个帧指定时间位置,可以省略帧编号。应注意的是,可以额外提供帧编号,以确认没有数据损失。

与仅记录在其中执行了动作的帧的数据相比,在图5中的该例子中,数据量变大。但有利的是,可以自动进行记录,而无需确定是否发生了动作,还可简单地将其读出,以进行验证。

当通过网络发送和接收动作数据时,通过根据无损数据压缩方法,例如行程长度(run length)编码、霍夫曼(Huffman)编码、滑动字典(sliding dictionary)方法等来压缩动作数据,能够有效进行动作数据的数据发送。

图6是示出用来解释根据本发明实施例的每个客户机中动作数据的获取处理的流程图的例子的示意图。在图6中,以每1/60秒或1/30秒的垂直消隐间隙在屏幕上绘制一帧,周期性地处理一些帧。

首先,游戏服务器1的通信处理通过网络来进行(步骤S31)。接下来,从例如控制板、键盘、鼠标等的输入操作装置来输入游戏者的操作(步骤S32),并确定所输入的操作内容(步骤S33)。

接下来,根据所输入的操作内容,进行对游戏人物的行为(移动、攻击、装备使用、碰撞确定等)的处理(步骤S34)。然后,生成从虚拟三维空间中的预定观察点看的投影图像(步骤S35)。

之后,示出每个操作内容的动作数据被添加到动作数据列表3b中(步骤S36),获取处理等待图像显示装置3a的帧更新(步骤S37)。获取处理再一次进入与游戏服务器1的通信处理(步骤S31)。

在上述处理的例子中,与游戏服务器1的通信在获取处理开始时进行,动作数据在获取处理结束时被添加到列表3b(步骤S36)。但是,不局限于该顺序,步骤S31和S36可以在帧单元的周期性处理期间的任何时刻进行。

图7是示出根据本发明实施例的游戏服务器的详细内部配置的示意图。在图7中,不正当性检测处理部分12包括:验证目标选择处理部分14,用来从游戏服务器处理部分11获取游戏的每个游戏者的信息;游戏日志获取处理部分15,用来通过向被选择为验证目标机的客户机3的游戏日志发送处理部分32发出命令,来获取游戏日志;验证机选择处理部分16,用来选择执行验证的验证机;以及游戏日志验证控制部分17,用来通过将游戏目志发送到所选择的验证机,来进行验证。当客户机4被选择为验证机,以验证游戏日志时,验证机选择处理部分16选择客户机4,以将该客户机4设置为在游戏的全部游戏者的客户机中,除被设置为验证目标的客户机3之外的验证机。

图8是用来解释根据本发明实施例来获取游戏日志的操作的流程图。以下,将根据本发明的实施例来说明获取游戏日志的操作。

首先,游戏服务器1的不正当性检测处理部分12中的验证目标选择处理部分14选择验证目标机(步骤S101)。可以随机选择验证目标机。可替代地,可以根据以前的游戏记录,通过更高的优先级来选择被怀疑进行非法行为的指定游戏者。因为目的在于揭发不道德的非法行为,因而无需验证全部客户机,可以随机验证一个或更多的客户机。

接下来,游戏服务器1的游戏日志获取处理部分15向被选择为验证目标的客户机3发出指示日志开始的命令(步骤S102)。

客户机3进行如下循环处理:接收命令(步骤S301)、检查接收到的命令是否指示日志开始(步骤S302)、检查发送标志是否为ON(步骤S303)、检查接收到的命令是否指示日志结束(步骤S304)、以及执行游戏客户机处理(步骤S305)。当接收到的命令是指示日志开始的命令时,客户机3的游戏日志发送处理部分32接收表示在当前阶段下的游戏状态的数据,将该数据作为初始数据发送到游戏服务器1的游戏日志获取处理部分15(步骤S306),并将发送标志设置为ON(步骤S307)。然后,游戏服务器1的游戏日志获取处理部分15接收发自客户机3的初始数据(步骤S103)。

而且,在将发送标志设置为ON之后,每当接收到命令时,客户机3的游戏日志发送处理部分32将表示游戏者的操作的动作数据发送到游戏日志获取处理部分15(步骤S308)。游戏服务器1的游戏日志获取处理部分15接收动作数据(步骤S104)。

另一方面,当经过了预定时间之后,游戏服务器1的游戏日志获取处理部分15向作为验证目标的客户机3发出指示日志停止的命令(步骤S105)。

当客户机3接收指示日志停止的命令时,客户机3的游戏日志发送处理32接收表示在当前阶段中游戏的状态的数据,并将该数据作为结果数据发送给游戏服务器1的游戏日志获取处理部分15(步骤S309),然后重置发送标志(步骤S310)。然后,游戏服务器1的游戏日志获取处理部分15接收发自客户机3的结果数据(步骤S106)。通过上述处理,可以从验证目标机获取游戏日志。

图9是一流程图,其用来解释根据本发明实施例的游戏日志进行不正当性检测的操作。以下,将说明根据本发明实施例的不正当性检测的操作。

首先,在游戏服务器1的不正当性检测处理部分12中的验证机选择处理部分16,根据预定规则来选择验证机(步骤S111)。作为验证机,可以使用游戏服务器1中的游戏日志验证处理部分13、参考机2中的游戏日志验证处理部分21、以及客户机4中的游戏客户机处理部分41。当使客户机4验证游戏日志时,验证机选择处理部分16选择客户机4,将其设置为作为参与游戏的游戏者的全部客户机中的、除作为验证目标的客户机之外的客户机的验证机。验证目标机和验证机被分配为不同的客户机3和4,这是因为进行非法行为的客户机3也对验证处理进行非法行为的可能性也很高。此外,较佳随机选择验证机,以便不将验证处理集中在特定的客户机,例如客户机4。

接下来,游戏服务器1的游戏日志验证控制部分17将从游戏日志的初始数据和除结果数据之外的动作数据发送到验证机,并且请求验证机进行验证(步骤S112)。当验证机接收到请求时,验证机进行验证处理17(步骤S124),并将验证结果发送到游戏服务器1的游戏日志验证控制处理17(步骤S125)。也就是说,验证机根据包括在游戏日志中的初始数据和动作数据来执行正常的客户机游戏,正常的客户机游戏返回表示在根据最新动作数据进行处理的当前阶段中的游戏状态的数据。

当游戏服务器1的游戏日志验证控制部分17接收到验证结果时(步骤S113),游戏日志验证控制部分17将原始接收到的、作为验证请求的游戏日志结果数据与验证结果进行比较(步骤S114)。当结果数据与验证结果不同时,确定为进行了不正当处理(步骤S115)。另一方面,当结果数据与验证结果相同时,确定为未进行不正当处理(步骤S116)。也就是说,相同的客户机游戏处理开始于相同的初始数据,并根据相同环境下的相同动作数据而执行。如果进行了非法行为,则结果数据与验证数据不相等。因此,如果结果数据与验证数据之间不匹配,能简单地检测出非法行为。

当检测到非法行为时,在技术上可以强制结束执行非法行为的客户机3的处理,或者修改为正确的状态。但实际上,在检测到非法行为后,向游戏者发出警告已经足够了。因此,无需实时执行上述验证处理。可替代地,可以在接收到游戏日志后的适当时刻,执行验证处理。

而且,如果进行非法行为以篡改客户机4的验证处理的内容,即使作为验证目标的、由客户机4验证的客户机3不进行任何非法行为,客户机3也可能被怀疑进行了非法行为。因此,即使在检测到非法行为之后,不将客户机3确定为进行非法行为的客户机,而是较佳选择另一客户机作为验证机,以进行验证处理,然后,根据另一验证结果,可以确定出实际进行非法行为的客户机。

在根据本发明的在线游戏不正当性检测方法中,可以检测出在线游戏中的非法行为,有效防止非法行为,而无需加密数据包和使程序复杂化。

本发明不仅限于这些实施例,而是在不脱离本发明的范围内,可以做出各种变化和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号