游戏信息的检测方法和装置与流程

文档序号:17928613发布日期:2019-06-15 00:37阅读:338来源:国知局
游戏信息的检测方法和装置与流程

本发明涉及信息处理领域,具体而言,涉及一种游戏信息的检测方法和装置。



背景技术:

在游戏中校验a用户是否作弊,需要根据具体功能,例如主流的是攻击伤害异常,那么就需要校验攻击伤害,需要获取a的力量、智力、精神、武器攻击力、武器是否有附加伤害,被攻击者b的物理防御、智力、精神、攻击类型(暴击/背击等等),实际游戏业务中作用的因素过多,且持续会增加新的因素,导致校验持续有偏差,且需要维护。

例如,图1示出了现有校验用户是否作弊的校验流程,在该校验流程中需要量化每个结果s及其相关的所有影响因素a,b,c…,构造函数f,使其满足s=f(a,b,c…)。获取每次结果数据s1和影响因素a1,b1,c1…,判定结果s1是否远大于f(a1,b1,c1…),如果是,则检测出用户作弊。

传统技术在检测用户是否作弊时需要收集海量的结果和影响因素数据,且需要枚举所有的影响因素,而现实中由于结果和影响因素的数量巨大,往往因为枚举影响因素不足导致检测结果不准确。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种游戏信息的检测方法和装置,以至少解决现有技术检测帐号是否异常的结果不准确的技术问题。

根据本发明实施例的一个方面,提供了一种游戏信息的检测方法,包括:在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个所述第二帐号参与的一局游戏结束后,获取所述第一帐号的第一游戏属性信息和第i个所述第二帐号的第二游戏属性信息,所述第一游戏属性信息与所述第一帐号参与多局游戏的结果相关,所述第二游戏属性信息与所述第二帐号参与多局游戏的结果相关;根据所述第一游戏属性信息和所述第二游戏属性信息获取所述第一帐号对战第i个所述第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n;根据所述预设时间段内的n个所述获胜概率确定所述第一帐号获胜的概率偏离参考概率的偏离值,所述参考概率用于表示在所述第一帐号不存在异常的情况下所述第一帐号获得胜利的概率;在所述偏离值满足预设条件时,确定所述第一帐号存在异常。

根据本发明实施例的另一方面,还提供了一种游戏信息的检测装置,包括:第一获取单元,用于在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个所述第二帐号参与的一局游戏结束后,获取所述第一帐号的第一游戏属性信息和第i个所述第二帐号的第二游戏属性信息,所述第一游戏属性信息与所述第一帐号参与多局游戏的结果相关,所述第二游戏属性信息与所述第二帐号参与多局游戏的结果相关;第二获取单元,用于根据所述第一游戏属性信息和所述第二游戏属性信息获取所述第一帐号对战第i个所述第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n;确定单元,用于根据所述预设时间段内的n个所述获胜概率确定所述第一帐号获胜的概率偏离参考概率的偏离值,所述参考概率用于表示在所述第一帐号不存在异常的情况下所述第一帐号获得胜利的概率;判定单元,用于在所述偏离值满足预设条件时,确定所述第一帐号存在异常。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行上述的方法。

在本发明实施例中,由于第一游戏属性信息和第二游戏属性信息是与游戏结果相关的信息,游戏结果是每局游戏结束后确定不变的,而不是现有技术中帐号的游戏行为和游戏的逻辑等多种不确定的变量,避免了利用多个可变因素检测帐号异常,解决了现有技术中检测帐号是否异常的结果不准确的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种校验帐号作弊的流程图;

图2是根据本发明实施例的硬件环境的示意图;

图3是根据本发明实施例的游戏信息的检测方法的流程图;

图4是根据本发明实施例的获胜异常提示页面的示意图;

图5是根据本发明实施例的落败异常提示页面的示意图;

图6是本发明优选实施例的游戏信息的检测方法的流程图;

图7是根据本发明实施例的游戏信息的检测装置的示意图;

图8是根据本发明实施例的电子装置的架构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种游戏信息的检测方法。在本实施例中,上述游戏信息的检测方法可以应用于如图2所示的终端201和服务器202所构成的硬件环境中。如图2所示,终端201通过网络与服务器202进行连接,服务器202与数据库203通过网络连接。上述网络包括但不限于:广域网、城域网或局域网,终端201可以是手机终端,也可以是pc终端、笔记本终端或平板电脑终端。

图2所示的硬件环境的工作原理如下:

第一帐号和第二帐号通过终端201参与一局游戏,服务器202收集第一帐号和第二帐号参与的一局游戏的对战结果,以及第一帐号的第一游戏属性信息和第二帐号的第二游戏属性信息。服务器202将对战结果以及第一游戏属性信息、第二游戏属性信息存储在数据库203中。服务器202从数据库203中提取对战结果以及第一游戏属性信息、第二游戏属性信息,并根据对战结果、第一游戏属性信息和第二游戏属性信息来获取第一帐号的获胜概率,并且更新第一游戏属性信息和第二游戏属性信息。服务器202根据一段时间内第一帐号通过终端201与多个第二帐号进行游戏后得到的多个获胜概率,来判断第一帐号在游戏过程中是否存在作弊行为。

图3是根据本发明实施例的游戏信息的检测方法的流程图。如图2所示,该游戏信息的检测方法包括如下步骤:

步骤s302,在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个第二帐号参与的一局游戏结束后,获取第一帐号的第一游戏属性信息和第i个第二帐号的第二游戏属性信息,第一游戏属性信息与第一帐号参与多局游戏的结果相关,第二游戏属性信息与第二帐号参与多局游戏的结果相关。

第一帐号在一个时间段内可以与多个不同的第二帐号进行一一对战,即第一帐号和任意一个第二帐号进行一对一的游戏。第一帐号和第二帐号分别通过两个终端参与一局游戏。每次第一帐号和一个第二帐号完成一局游戏之后,就获得一次第一帐号的第一游戏属性信息和第二帐号的第二游戏属性信息,这样,在一段时间内如果第一帐号与n个第二帐号进行n场游戏,则得到n个第一游戏属性信息和n个第二游戏属性信息。第一游戏属性信息可以表示第一帐号参与游戏的游戏水平,该第一游戏属性信息可以根据第一帐号参与的所有游戏的胜负结果得到。同理,第二游戏属性信息可以表示第一帐号参与游戏的游戏水平,该第一游戏属性信息可以根据第一帐号参与的所有游戏的胜负结果得到。

步骤s304,根据第一游戏属性信息和第二游戏属性信息获取第一帐号对战第i个第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n。

在一段时间内第一帐号与n个第二帐号参与游戏得到n个第一游戏属性信息和n个第二游戏属性信息。在第一帐号与第i个第二帐号进行对战后,得到第i个第一游戏属性信息和第i个第二游戏属性信息,由此可以得到第i个获胜概率。每个获胜概率都可以根据当前一局游戏结束时的第一游戏属性信息和第二游戏属性信息得到。

采用以下公式获取第i个获胜概率rate(a>b):rate(a>b)=1/(1+10^((rank(b)-rank(a))/400))。其中,rank(a)表示第一游戏属性信息,rank(b)表示第二游戏属性信息。

游戏属性信息可以表示某个帐号的总体游戏能力保持在一个特定水平,虽然有可能会出现大波动,但通常情况下出现大波动的可能性较低。某个帐号在某一分段区间内的波动属于正常现象。某个帐号在某一分段区间内水平大致相同,胜出和落败的期望也大致相同。多个帐号在游戏中的上述表现接近于逻辑斯谛分布,因此根据逻辑斯谛分布得到上述获胜概率的公式。

根据游戏属性信息可以得到第一帐号的获胜概率,但是第一帐号参与一局游戏后的结果可能与获胜概率所期望的结果不同,在这种情况下就需要对第一游戏属性信息进行更新。此处需要说明的是,当第一帐号第一次进行游戏时,第一游戏属性信息为默认值,并且在得到获胜概率后,可以对根据对战结果对第一游戏属性信息进行更新。当第一帐号进行很多局游戏后,第一游戏属性信息偏离默认值,但是更能准确的表示第一帐号的游戏水平。也就是说,在第一帐号参与的当前一局游戏结束时,利用第一帐号参与当前一局游戏开始时的第一游戏属性信息和第二帐号参与当前一局游戏开始时的第二游戏属性信息来获得获胜概率,然后利用获胜概率去更新当前一局游戏时的第一游戏属性信息和当前一局游戏时的第二游戏属性信息,从而得到当前一局游戏结束时的第一游戏属性信息和第二游戏属性信息。下一次游戏结束时利用当前一局游戏结束时的第一游戏属性信息和当前一局游戏结束时的第二游戏属性信息来获得获胜概率,依次类推。

即,在根据第一游戏属性信息和第二游戏属性信息获取第一帐号对战第i个第二帐号时获得胜利的概率之后,在一局游戏结束后,获取第一帐号和第i个第二帐号对战一局游戏的胜负信息;根据胜负信息和第i个获胜概率更新第一游戏属性信息和第二游戏属性信息。

以下结合表1进行举例说明。

表1

第一帐号a一共进行了n场游戏,在进行第一场游戏时,第一个获胜概率根据第一游戏属性信息ra和rb得到,然后根据第一局游戏的胜负结果更新ra和rb得到ra1和rb1。假设第一帐号a和第二帐号b1在进行第一局游戏之前,没有参与过该游戏,则ra和rb为默认值。在第一帐号a和第二帐号b2的第二局游戏结束时,利用ra1和rb1获得第二个获胜概率,并根据第二局游戏的游戏结果和第二获胜概率更新ra和rb,从而得到ra2和rb2。按照上述方式在每局游戏结束后获取获胜概率,并且更新第一游戏属性信息和第二游戏属性信息。

采用以下公式更新第一游戏属性信息,得到更新后的第一游戏属性信息rank(a)′

rank(a)′=rank(a)+k*(1-1/(1+10^((rank(b)-rank(a))/400)))

其中,rank(a)为第一游戏属性信息,rank(b)为第二游戏属性信息。

在得到更新后的第一游戏属性信息之后,采用以下方式获取更新后的第二游戏属性信息rank(b)′:

rank(b)′=rank(b)-(rank(a)′-rank(a))。

第一游戏属性信息和第二游戏属性信息可以用数值来表示。更新后的第一游戏属性信息相比第一游戏属性信息增加一定的数值或者减少一定的数值。当第一帐号和第二帐号参与的一局游戏结束后,如果第一帐号的第一游戏属性信息对应的数值减少了,则参与游戏的第二帐号的第二游戏属性信息对应的数值增加相应的数值。

更新后的第二游戏属性信息也可以利用公式直接计算得到,计算公式与计算第一游戏属性的公式类似:

rank(b)′=rank(b)+k*(1-1/(1+10^((rank(a)-rank(b))/400)))

在上述公式中,k取32,k还可以取16。在游戏水平一般的帐号的异常检测中,k取32,但是,在游戏水平较高的帐号异常检测中,k取16,这样可以增加对较小的游戏属性信息的波动的敏感性,避免较小的游戏属性信息的波动对检测结果造成较大的影响。

步骤s306,根据预设时间段内的n个获胜概率确定第一帐号获胜的概率偏离参考概率的偏离值,参考概率用于表示在第一帐号不存在异常的情况下第一帐号获得胜利的概率。

参考概率是一个固定值,其可以反映在足够多的样本下,每个帐号胜负的概率都是该参考概率。例如,扔硬币判断硬币的正面和反面出现的次数。在扔硬币的次数足够多的情况下,出现正面的次数和出现反面的次数相同,则出现正面的概率为0.5,出现反面的概率也为0.5。该0.5可以作为参考概率。

例如:在游戏中不考虑帐号的排名和积分,一般的概率就是0.5,如果帐号的获胜概率是0.4,即有0.4的概率获胜,该帐号的获胜概率小于一般的概率0.5,如果结果是该帐号获胜,就是(0.5-0.4),异常增加了;如果该帐号是0.6的概率获胜,说明他本来获胜的概率就比较高,获胜也是正常的,就是(0.5-0.6),相当于异常减少了。那么,在一段时间内第一帐号和每个第二帐号对战的获胜概率与一般概率0.5的差值所表示的第一帐号在一个时间段内的出现异常和正常的情况,从而反映出在一个时间段内第一帐号是否出现异常。

第一帐号异常包括第一帐号的获胜异常和落败异常。获胜异常是指第一帐号通过一些辅助的程序来获得非正常的胜利,比如利用游戏外挂获得胜利;落败异常是指第一帐号通过故意失败让对手获胜。获胜异常和落败异常都可以通过第一帐号的偏移值来确定。

可选地,根据预设时间段内的n个获胜概率确定第一帐号的偏离值包括:分别获取n个获胜概率中每个获胜概率与参考概率的差值,得到n个差值;将n个差值之和作为偏离值。

采用以下公式获得偏离值

其中,0.5为参考概率,rate(a>bi)为第一帐号与第i个第二帐号参与一局游戏时第一帐号获胜的概率。

例如,在n=10的情况下,第一帐号参与的10局游戏的获胜概率分别为0.4、0.6、0.3、0.5、0.1、0.6、0.4、0.3、0.2、0.4,则第一帐号的偏离值为0.4+0.6+0.3+0.5+0.1+0.6+0.4+0.3+0.2+0.4=3.8。

可选地,在根据预设时间段内的n个获胜概率确定第一帐号的偏离值之后,还恶意确定第一帐号落败概率,并计算落败的偏离值,包括:根据n个获胜概率获取第一帐号分别和n个第二帐号对战时落败的落败概率,得到n个落败概率;分别获取n个落败概率中每个落败概率与参考概率的差值,得到n个差值;将n个差值之和作为偏离值。

第一帐号的落败概率可以根据获胜概率进行计算,即,落败概率=1-获胜概率。那么,在获取到第一帐号的获胜概率后,就能相应的得到第一帐号的落败概率。

例如,在n=10的情况下,第一帐号参与的10局游戏的获胜概率分别为0.4、0.6、0.3、0.5、0.1、0.6、0.4、0.3、0.2、0.4,则第一帐号参与的10局游戏的落败概率分别为0.6、0.4、0.7、0.5、0.9、0.4、0.7、0.8、0.6,那么第一帐号落败的偏离值为:0.6+0.4+0.7+0.5+0.9+0.4+0.7+0.8+0.6=5.6。

步骤s308,在偏离值满足预设条件时,确定第一帐号存在异常。

预设条件可以是预设阈值,当偏离值满足预设阈值时,确定第一帐号存在作弊行为,该作弊行为可以是获胜作弊或者落败作弊。预设阈值可以根据游戏情况调整。在对战结果波动比较大的游戏中,可以将预设阈值设置的高一些,避免误判;在对战结果波动比较小的游戏中,可以将预设阈值设置的小一些,避免漏掉恶意获胜或者落败的行为。

在检测获胜异常时,可以利用上述例子中的偏离值3.8与预设阈值进行比较,当偏离值大于预设阈值时,确定第一帐号存在获胜异常;在检测落败异常时,可以利用上述例子中的偏离值5.6与预设阈值进行比较,当偏离值大于预设阈值时,确定第一帐号存在落败异常。

在本实施例中,第一游戏属性信息和第二游戏属性信息是与游戏结果相关的信息,根据第一游戏属性信息和第二游戏属性信息可以获取帐号的获胜概率和落败概率,在一段时间内获胜概率或者落败概率的偏离值满足预设条件时,确定帐号异常。在此过程中,由于第一游戏属性信息和第二游戏属性信息是与游戏结果相关的信息,游戏结果是每局游戏结束后确定不变的,而不是现有技术中帐号的游戏行为和游戏的逻辑等多种不确定的变量,据此可以达到准确检测帐号是否异常的技术效果,避免了利用多个可变因素检测帐号异常,解决了现有技术中检测帐号是否异常的结果不准确的技术问题。

本实施例中第一游戏属性信息和第二游戏属性信息可以体现参与一局游戏的两个帐号的对战实力,即使两方实力悬殊,但是这种实力差距可以在第一游戏属性信息和第二游戏属性信息中体现,那么,在利用第一游戏属性信息和第二游戏属性信息获取获胜概率以及根据获胜概率获取偏离值判断异常时,都可以准确得到判断结果。

在判断出第一帐号异常后,可以弹出图4和图5所示的提示页面。图4示出了判断出第一帐号为获胜异常的提示页面,图5示出了判断出第一帐号为落败异常的提示页面。

本实施例的游戏信息的检测方法可以应用在1对1的游戏对战中,也可以应用在多对多的游戏对战中,还可以应用在帐号在副本中游戏的场景中。在一个帐号对战另外一个帐号的游戏中,判断第一帐号是否作弊的方式参考上述描述,此处不再赘述。以下分别就多个帐号对战多个帐号的游戏场景,以及一个帐号在副本中游戏的场景进行说明。

(1)一个帐号在副本中游戏,通过将副本假想为对手,来判断与副本对战的帐号是否存在作弊行为(因为副本不会作弊,所以不判断副本是否作弊):默认副本a的rank值为1200,即rank(a)=1200;如果玩家a顺利通关副本a,可以把结果描述为a>a,反之结果可以描述为a>a。通过一定数量(例如60次以上)的副本a的刷图记录,不断更新rank(a),最终rank(a)会趋于稳定,把最终的rank(a)定义为副本a的rank值。

假设副本a作为第二帐号与第一帐号b进行对战,在对战结束后,根据第一帐号的第一游戏属性信息rank(b)和副本的第二游戏属性信息rank(a)来确定第一帐号的获胜概率:

rate(b>a)=1/(1+10^((rank(a)-rank(b))/400))。

根据一段时间内第一帐号b的多个获胜概率确定该第一帐号是否存在作弊行为。同时,更新第一帐号b的第一游戏属性信息:

rank(b)′=rank(b)+k*(1-1/(1+10^((rank(a)-rank(b))/400)))

但是,因为副本a的游戏能力是固定的,第二游戏属性信息rank(a)趋于稳定后就可以准确表示副本a的游戏能力,因此,当第一帐号b的对手是副本时,对战结束后不需要再更新第二游戏属性信息rank(a)。

(2)多个帐号对战多个帐号的游戏场景。即,第一帐号包括多个第一子账号,第二帐号包括多个第二子账号,第一子账号的数量与第二子账号的数量相同,根据胜负信息和第i个获胜概率更新第一游戏属性信息和第二游戏属性信息包括:根据胜负信息和第i个获胜概率更新每个第一子账号的第一子游戏属性信息和每个第二子帐号的第二子游戏属性信息,其中,第一游戏属性信息为多个第一子帐号的多个第一子游戏属性信息的平均分值,第二游戏属性信息为多个第二子帐号的多个第二子游戏属性信息的平均分值。

在每个帐号包括多个子帐号的情况下,第一帐号和第二帐号的对战就是多个第一子帐号与多个第二子帐号的对战。在判断第一子账号是否有作弊行为时,可以先将多个第一子帐号看做一个整体,即第一帐号;将多个第二子帐号看做一个整体,即第二帐号。第一帐号的第一游戏属性可以是多个第一子游戏属性的平均值,同理,第二帐号的第二游戏属性可以是多个第二子游戏属性的平均值。

在多个第一子帐号(例如,a/b/c/d/e)与多个第二子帐号(例如,h/i/j/k/l)进行对战,在对战结束后,根据第一帐号的第一游戏属性信息rank(1)和第二帐号的第二游戏属性信息rank(2)来确定第一帐号的获胜概率。举例说明:

第一帐号包括有5个第一子帐号,分别为a/b/c/d/e,rank值分别为1200/1300/1400/1500/1600

第二帐号包括有5个第二子帐号,分别为h/i/j/k/l,rank值分别为1300/1400/1500/1600/1700

第一帐号对战第二帐号结果是第一帐号战胜第二帐号。

那么,第一帐号的第一游戏属性为

rank(1)=(rank(a)+rank(b)+rank(c)+rank(d)+rank(e))/5=(1200+1300+1400+1500+1600)/5=1400

第二帐号的第二游戏属性为

rank(2)=(rank(h)+rank(i)+rank(j)+rank(k)+rank(l))/5=(1300+1400+1500+1600+1700)/5=1500

第一帐号的获胜概率为:

rate(1>2)=1/(1+10^((rank(1)-rank(2))/400))=0.359935000。

第一帐号中每个第一子帐号的偏离值为

rate_win(a)=rate_win(b)=rate_win(c)=rate_win(d)=rate_win(e)=0.140065000

更新每个第一子帐号的第一子游戏属性信息如下:

rank(a)′=rank(a)+20.48207999=1220.48207999

rank(b)′=rank(b)+20.48207999=1320.48207999

rank(c)′=rank(c)+20.48207999=1420.48207999

rank(d)′=rank(d)+20.48207999=1520.48207999

rank(e)′=rank(e)+20.48207999=1620.48207999

更新每个第二子帐号的第二子游戏属性信息如下:

rank(h)′=rank(h)-20.48207999=1279.51792

rank(i)′=rank(i)-20.48207999=1379.51792

rank(j)′=rank(j)-20.48207999=1479.51792

rank(k)′=rank(k)-20.48207999=1579.51792

rank(l)′=rank(l)-20.48207999=1679.51792

图6是本发明优选实施例的游戏信息的检测方法的流程图。如图6所示,该游戏信息想检测方法包括两个流程:

第一个流程是rank值的更新流程,即第一游戏属性信息的更新流程。该更新流程包括:

601,读取每次对战结果。

602,获取rank(a)和rank(b)。

603,计算更新后的rank(a)′和rank(b)′。采用以下两个公式来计算更新后的rank(a)′和rank(b)′:

rank(a)′=rank(a)+32*(1-1/(1+10^((rank(b)-rank(a))/400)))

rank(b)′=rank(b)+32*(1-1/(1+10^((rank(a)-rank(b))/400)))

604,更新rank(a)和rank(b)。所有帐号的历史rank都保存在数据库中。

第二个流程是帐号异常的判断流程。

605,从数据库中提取一段时间内的rank(a)和rank(b)。

606,计算每一局的第一帐号的获胜概率rate(a>b)。

607,计算一段时间内第一帐号的获胜概率的偏离值rate_win(a)。

608,判断获胜概率的偏离值是否大于阈值,如果是,则确定第一帐号有作弊行为。

以下参考表2的具体数值对本实施例的一个帐号对战另外一个帐号的模式进行说明。

表2

假设帐号101初始游戏属性信息是1200,进行5次对战,分别赢了102、103、104、105、106,5位对战帐号的游戏属性信息分别是1500、1600、1418、1322、1100。在对战游戏中,所有玩家的游戏属性信息都符合一个类似正太分布的曲线,这个曲线分布就是以1200为中心,因此初始属性信息为1200。在表2中,rate_win(a)为偏离值,r(a)为第一游戏属性信息,r(a)′为更新后的第一游戏属性信息。那么计算步骤是:

time1:rate_win(a)=0,rank(a)′=1200.

time2:rate(a>b)=0.150979557,

rate_win(a)=0.349020443,rank(a)′=1227.169

time3:rate(a>b)=0.090909091,

rate_win(a)=0.758111352,rank(a)′=1256.26

time4:rate(a>b)=0.221851546,

rate_win(a)=1.036259806,rank(a)′=1281.16

time5:rate(a>b)=0.331305044,

rate_win(a)=1.204954762,rank(a)′=1302.559

time6:rate(a>b)=0.640065,

rate_win(a)=1.064889763,rank(a)′=1314.076

如果设置rate_win(a)的阈值为1.2,那么在time5时刻系统会检测帐号101作弊。在检测到帐号作弊后可以对该帐号进行处罚,例如,在一段时间内禁止游戏,或者降低帐号等级,或者扣除帐号的奖励等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/rm、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例,还提供了一种用于实施上述游戏信息的检测方法的游戏信息的检测装置。图7是根据本发明实施例的游戏信息的检测装置的示意图。如图7所示,该装置包括:第一获取单元72、第二获取单元74、确定单元76和判定单元78。

第一获取单元72,用于在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个所述第二帐号参与的一局游戏结束后,获取所述第一帐号的第一游戏属性信息和第i个所述第二帐号的第二游戏属性信息,所述第一游戏属性信息与所述第一帐号参与多局游戏的结果相关,所述第二游戏属性信息与所述第二帐号参与多局游戏的结果相关;

第一帐号在一个时间段内可以与多个不同的第二帐号进行一一对战,即第一帐号和任意一个第二帐号进行一对一的游戏。第一帐号和第二帐号分别通过两个终端参与一局游戏。每次第一帐号和一个第二帐号完成一局游戏之后,就获得一次第一帐号的第一游戏属性信息和第二帐号的第二游戏属性信息,这样,在一段时间内如果第一帐号与n个第二帐号进行n场游戏,则得到n个第一游戏属性信息和n个第二游戏属性信息。第一游戏属性信息可以表示第一帐号参与游戏的游戏水平,该第一游戏属性信息可以根据第一帐号参与的所有游戏的胜负结果得到。同理,第二游戏属性信息可以表示第一帐号参与游戏的游戏水平,该第一游戏属性信息可以根据第一帐号参与的所有游戏的胜负结果得到。

第二获取单元74,用于根据所述第一游戏属性信息和所述第二游戏属性信息获取所述第一帐号对战第i个所述第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n;

在一段时间内第一帐号与n个第二帐号参与游戏得到n个第一游戏属性信息和n个第二游戏属性信息。在第一帐号与第i个第二帐号进行对战后,得到第i个第一游戏属性信息和第i个第二游戏属性信息,由此可以得到第i个获胜概率。每个获胜概率都可以根据当前一局游戏结束时的第一游戏属性信息和第二游戏属性信息得到。

采用以下公式获取第i个获胜概率rate(a>b):rate(a>b)=1/(1+10^((rank(b)-rank(a))/400))。其中,rank(a)表示第一游戏属性信息,rank(b)表示第二游戏属性信息。

游戏属性信息可以表示某个帐号的总体游戏能力保持在一个特点水平,虽然有可能会出现大波动,但通常情况下出现大波动的可能性较低。某个帐号在某一分段区间内的波动属于正常现象。某个帐号在某一分段区间内水平大致相同,胜出和落败的期望也大致相同。多个帐号在游戏中的上述表现接近于逻辑斯谛分布,因此根据逻辑斯谛分布得到上述获胜概率的公式。

根据游戏属性信息可以得到第一帐号的获胜概率,但是第一帐号参与一局游戏后的结果可能与获胜概率所期望的结果不同,在这种情况下就需要对第一游戏属性信息进行更新。此处需要说明的是,当第一帐号第一次进行游戏时,第一游戏属性信息为默认值,并且在得到获胜概率后,可以对根据对战结果对第一游戏属性信息进行更新。当第一帐号进行很多局游戏后,第一游戏属性信息偏离默认值,但是更能准确的表示第一帐号的游戏水平。也就是说,在第一帐号参与的当前一局游戏结束时,利用第一帐号参与当前一局游戏开始时的第一游戏属性信息和第二帐号参与当前一局游戏开始时的第二游戏属性信息来获得获胜概率,然后利用获胜概率去更新当前一局游戏时的第一游戏属性信息和当前一局游戏时的第二游戏属性信息,从而得到当前一局游戏结束时的第一游戏属性信息和第二游戏属性信息。下一次游戏结束时利用当前一局游戏结束时的第一游戏属性信息和当前一局游戏结束时的第二游戏属性信息来获得获胜概率,依次类推。

即,第三获取单元,用于在根据所述第一游戏属性信息和所述第二游戏属性信息获取所述第一帐号对战第i个所述第二帐号时获得胜利的概率之后,在所述一局游戏结束后,获取所述第一帐号和第i个所述第二帐号对战所述一局游戏的胜负信息;更新单元,用于根据所述胜负信息和第i个获胜概率更新所述第一游戏属性信息和所述第二游戏属性信息。

如表1所示,第一帐号a一共进行了n场游戏,在进行第一场游戏时,第一个获胜概率根据第一游戏属性信息ra和rb得到,然后根据第一局游戏的胜负结果更新ra和rb得到ra1和rb1。假设第一帐号a和第二帐号b1在进行第一局游戏之前,没有参与过该游戏,则ra和rb为默认值。在第一帐号a和第二帐号b2的第二局游戏结束时,利用ra1和rb1获得第二个获胜概率,并根据第二局游戏的游戏结果和第二获胜概率更新ra和rb,从而得到ra2和rb2。按照上述方式在每局游戏结束后获取获胜概率,并且更新第一游戏属性信息和第二游戏属性信息。

采用以下公式更新第一游戏属性信息,得到更新后的第一游戏属性信息rank(a)′

rank(a)′=rank(a)+k*(1-1/(1+10^((rank(b)-rank(a))/400)))

其中,rank(a)为第一游戏属性信息,rank(b)为第二游戏属性信息。

在得到更新后的第一游戏属性信息之后,采用以下方式获取更新后的第二游戏属性信息rank(b)′:

rank(b)′=rank(b)-(rank(a)′-rank(a))。

第一游戏属性信息和第二游戏属性信息可以用数值来表示。更新后的第一游戏属性信息相比第一游戏属性信息增加一定的数值或者减少一定的数值。当第一帐号和第二帐号参与的一局游戏结束后,如果第一帐号的第一游戏属性信息对应的数值减少了,则参与游戏的第二帐号的第二游戏属性信息对应的数值增加相应的数值。

更新后的第二游戏属性信息也可以利用公式直接计算得到,计算公式与计算第一游戏属性的公式类似:

rank(b)′=rank(b)+k*(1-1/(1+10^((rank(a)-rank(b))/400)))

在上述公式中,k取32,k还可以取16。在游戏水平一般的帐号的异常检测中,k取32,但是,在游戏水平较高的帐号异常检测中,k取16,这样可以增加对较小的游戏属性信息的波动的敏感性,避免较小的游戏属性信息的波动对检测结果造成较大的影响。

确定单元76,用于根据所述预设时间段内的n个所述获胜概率确定所述第一帐号获胜的概率偏离参考概率的偏离值,所述参考概率用于表示在所述第一帐号不存在异常的情况下所述第一帐号获得胜利的概率;

参考概率是一个固定值,其可以反映在足够多的样本下,每个帐号胜负的概率都是该参考概率。例如,扔硬币判断硬币的正面和反面出现的次数。在扔硬币的次数足够多的情况下,出现正面的次数和出现反面的次数相同,则出现正面的概率为0.5,出现反面的概率也为0.5。该0.5可以作为参考概率。

例如:在游戏中不考虑帐号的排名和积分,一般的概率就是0.5,如果帐号的获胜概率是0.4,即有0.4的概率获胜,该帐号的获胜概率小于一般的概率0.5,如果结果是该帐号获胜,就是(0.5-0.4),异常增加了;如果该帐号是0.6的概率获胜,说明他本来获胜的概率就比较高,获胜也是正常的,就是(0.5-0.6),相当于异常减少了。那么,在一段时间内第一帐号和每个第二帐号对战的获胜概率与一般概率0.5的差值所表示的第一帐号在一个时间段内的出现异常和正常的情况,从而反映出在一个时间段内第一帐号是否出现异常。

第一帐号异常包括第一帐号的获胜异常和落败异常。获胜异常是指第一帐号通过一些辅助的程序来获得非正常的胜利,比如利用游戏外挂获得胜利;落败异常是指第一帐号通过故意失败让对手获胜。获胜异常和落败异常都可以通过第一帐号的偏移值来确定。

可选地,所述确定单元包括:第一获取模块,用于分别获取n个所述获胜概率中每个所述获胜概率与所述参考概率的差值,得到n个差值;第一确定模块,用于将所述n个差值之和作为所述偏离值。

采用以下公式获得偏离值

其中,0.5为参考概率,rate(a>bi)为第一帐号与第i个第二帐号参与一局游戏时第一帐号获胜的概率。

例如,在n=10的情况下,第一帐号参与的10局游戏的获胜概率分别为0.4、0.6、0.3、0.5、0.1、0.6、0.4、0.3、0.2、0.4,则第一帐号的偏离值为0.4+0.6+0.3+0.5+0.1+0.6+0.4+0.3+0.2+0.4=3.8。

可选地,所述装置还包括:第二获取模块,用于在根据所述预设时间段内的n个所述获胜概率确定所述第一帐号的偏离值之后,根据n个所述获胜概率获取所述第一帐号分别和n个所述第二帐号对战时落败的落败概率,得到n个所述落败概率;差值模块,用于分别获取n个所述落败概率中每个所述落败概率与所述参考概率的差值,得到n个差值;第二确定模块,用于将所述n个差值之和作为所述偏离值。

第一帐号的落败概率可以根据获胜概率进行计算,即,落败概率=1-获胜概率。那么,在获取到第一帐号的获胜概率后,就能相应的得到第一帐号的落败概率。

例如,在n=10的情况下,第一帐号参与的10局游戏的获胜概率分别为0.4、0.6、0.3、0.5、0.1、0.6、0.4、0.3、0.2、0.4,则第一帐号参与的10局游戏的落败概率分别为0.6、0.4、0.7、0.5、0.9、0.4、0.7、0.8、0.6,那么第一帐号落败的偏离值为:0.6+0.4+0.7+0.5+0.9+0.4+0.7+0.8+0.6=5.6。

判定单元78,用于在所述偏离值满足预设条件时,确定所述第一帐号存在异常。

判定单元78包括判定模块,用于在所述偏离值大于预设阈值时,确定所述第一帐号存在作弊行为。

预设条件可以是预设阈值,当偏离值满足预设阈值时,确定第一帐号存在作弊行为,该作弊行为可以是获胜作弊或者落败作弊。预设阈值可以根据游戏情况调整。在对战结果波动比较大的游戏中,可以将预设阈值设置的高一些,避免误判;在对战结果波动比较小的游戏中,可以将预设阈值设置的小一些,避免漏掉恶意获胜或者落败的行为。

在检测获胜异常时,可以利用上述例子中的偏离值3.8与预设阈值进行比较,当偏离值大于预设阈值时,确定第一帐号存在获胜异常;在检测落败异常时,可以利用上述例子中的偏离值5.6与预设阈值进行比较,当偏离值大于预设阈值时,确定第一帐号存在落败异常。

在本实施例中,第一游戏属性信息和第二游戏属性信息是与游戏结果相关的信息,根据第一游戏属性信息和第二游戏属性信息可以获取帐号的获胜概率和落败概率,在一段时间内获胜概率或者落败概率的偏离值满足预设条件时,确定帐号异常。在此过程中,由于第一游戏属性信息和第二游戏属性信息是与游戏结果相关的信息,游戏结果是每局游戏结束后确定不变的,而不是现有技术中帐号的游戏行为和游戏的逻辑等多种不确定的变量,据此可以达到准确检测帐号是否异常的技术效果,避免了利用多个可变因素检测帐号异常,解决了现有技术中检测帐号是否异常的结果不准确的技术问题。

根据本发明实施例,还提供了一种用于实施上述游戏信息的检测方法的电子装置,如图8所示,该电子装置包括:

1)处理器

2)存储器

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,图8是根据本发明实施例的一种电子装置的结构框图。如图8所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器801、至少一个通信总线802、用户接口803、至少一个传输装置804和存储器805。其中,通信总线802用于实现这些组件之间的连接通信。其中,用户接口803可以包括显示器806和键盘807。传输装置804可选的可以包括标准的有线接口和无线接口。

其中,存储器805可用于存储软件程序以及模块,如本发明实施例中的游戏信息的检测方法对应的程序指令/模块,处理器801通过运行存储在存储器805内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的游戏信息的检测方法。存储器805可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器805可进一步包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置804用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置804包括一个网络适配器(networkinterfcecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置804为射频(rdiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,存储器805用于历史第一游戏属性信息、历史第二游戏属性信息,以及更新后的第一游戏属性信息和更新后的第二游戏属性信息。

显示器806用于显示获胜异常或者落败异常的提示信息。

在本实施例中,处理器801可以通过传输装置调用存储器805存储的信息,以执行下述步骤:在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个第二帐号参与的一局游戏结束后,获取第一帐号的第一游戏属性信息和第i个第二帐号的第二游戏属性信息,第一游戏属性信息与第一帐号参与多局游戏的结果相关,第二游戏属性信息与第二帐号参与多局游戏的结果相关;根据第一游戏属性信息和第二游戏属性信息获取第一帐号对战第i个第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n;根据预设时间段内的n个获胜概率确定第一帐号获胜的概率偏离参考概率的偏离值,参考概率用于表示在第一帐号不存在异常的情况下第一帐号获得胜利的概率;在偏离值满足预设条件时,确定第一帐号存在异常。

可选的,上述处理器801还可以执行如下步骤的程序代码:分别获取n个获胜概率中每个获胜概率与参考概率的差值,得到n个差值;将n个差值之和作为偏离值。

可选的,上述处理器801还可以执行如下步骤的程序代码:根据n个获胜概率获取第一帐号分别和n个第二帐号对战时落败的落败概率,得到n个落败概率;分别获取n个落败概率中每个落败概率与参考概率的差值,得到n个差值;将n个差值之和作为偏离值。

可选的,上述处理器801还可以执行如下步骤的程序代码:在偏离值大于预设阈值时,确定第一帐号存在作弊行为。

可选的,上述处理器801还可以执行如下步骤的程序代码:在一局游戏结束后,获取第一帐号和第i个第二帐号对战一局游戏的胜负信息;根据胜负信息和第i个获胜概率更新第一游戏属性信息和第二游戏属性信息。

本领域普通技术人员可以理解,图8所示的结构仅为示意,电子装置也可以是智能手机(如ndroid手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(moleinternetdevices,mid)、pd等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置8还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(red-onlymemory,rom)、随机存取器(rndomccessmemory,rm)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,在预设时间段内第一帐号分别和n个第二帐号进行一一对战,在第一帐号和第i个所述第二帐号参与的一局游戏结束后,获取所述第一帐号的第一游戏属性信息和第i个所述第二帐号的第二游戏属性信息,所述第一游戏属性信息与所述第一帐号参与多局游戏的结果相关,所述第二游戏属性信息与所述第二帐号参与多局游戏的结果相关;

s2,根据所述第一游戏属性信息和所述第二游戏属性信息获取所述第一帐号对战第i个所述第二帐号时获得胜利的概率,得到第i个获胜概率,i=1,2,…,n;

s3,根据所述预设时间段内的n个所述获胜概率确定所述第一帐号获胜的概率偏离参考概率的偏离值,所述参考概率用于表示在所述第一帐号不存在异常的情况下所述第一帐号获得胜利的概率;

s4,在所述偏离值满足预设条件时,确定所述第一帐号存在异常。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:分别获取n个所述获胜概率中每个所述获胜概率与所述参考概率的差值,得到n个差值;将所述n个差值之和作为所述偏离值。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据n个所述获胜概率获取所述第一帐号分别和n个所述第二帐号对战时落败的落败概率,得到n个所述落败概率;分别获取n个所述落败概率中每个所述落败概率与所述参考概率的差值,得到n个差值;将所述n个差值之和作为所述偏离值。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在所述偏离值大于预设阈值时,确定所述第一帐号存在作弊行为。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在所述一局游戏结束后,获取所述第一帐号和第i个所述第二帐号对战所述一局游戏的胜负信息;根据所述胜负信息和第i个获胜概率更新所述第一游戏属性信息和所述第二游戏属性信息。

可选地,存储介质还被设置为存储用于执行上述实施例的方法中所包括的步骤的程序代码,本实施例中对此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,red-onlymemory)、随机存取存储器(rm,rndomccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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