CN108654091A - 用于游戏中作弊校验的方法、介质、装置和计算设备 - Google Patents
用于游戏中作弊校验的方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN108654091A CN108654091A CN201810455489.XA CN201810455489A CN108654091A CN 108654091 A CN108654091 A CN 108654091A CN 201810455489 A CN201810455489 A CN 201810455489A CN 108654091 A CN108654091 A CN 108654091A
- Authority
- CN
- China
- Prior art keywords
- track
- traj
- role
- game
- entropy
- 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/70—Game security or game management aspects
- A63F13/75—Enforcing rules, e.g. detecting foul play or generating lists of cheating players
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5586—Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
- Slot Machines And Peripheral Devices (AREA)
Abstract
本发明的实施方式提供了一种用于游戏中作弊校验的方法。该方法包括:获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;获取所述轨迹序列的统计信息熵,其中所述统计信息熵表征了所述轨迹序列的杂乱程度;以及在所述统计信息熵小于预设阈值时,确定所述角色的行为存在作弊嫌疑。通过获取角色的轨迹序列并使用轨迹序列的统计信息熵来判断作弊嫌疑,避免了为了进行作弊校验而在游戏中加入的额外部署,并且在一定程度上减少了进行作弊校验对用户游戏体验的影响,从而为用户带来了更好的体验。本发明的实施方式提供了一种用于游戏中作弊校验的装置、介质和计算设备。
Description
技术领域
本发明的实施方式涉及互联网领域,更具体地,本发明的实施方式涉及一种用于游戏中作弊校验的方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在整个游戏领域中,存在有玩家通过代打脚本等机器作弊方式玩游戏。其中,代打脚本是利用游戏逻辑漏洞,通过采用自动化脚本控制游戏内角色,替代玩家进行操作,以达到刷金币、经验的目的。通过代打脚本等作弊方式玩游戏时,角色无法与游戏中的其他玩家形成有效互动,会造成游戏体验降低、其他玩家乐趣降低,而且会严重破坏游戏的公平性等。
目前,已经出现一些校验游戏中的作弊行为的方法,通常在游戏中部署特定的校验路径。根据用户在该特定的校验路径中的行为进行判断。例如,通过在游戏环境中预先设置单向通过区域,通过校验用户在单向通过区域中的轨迹高差变化情况,判断用户是否有根据场景变化跨越高度变化的能力,从而识别用户是否使用自动脚本进行代打。
发明内容
但是,由于现有技术中进行作弊校验时要部署特定的校验路径,从而使得现有技术中在进行作弊校验时部署成本高,而且易规避检测,甚至容易误判。具体地,部署成本高表现为需要在游戏地图中预设校验路线,从而会引起游戏开发过程中产生额外成本。易规避检测表现为对于预设的校验线路,玩家可以通过多次试错优化脚本等方式,来规避预设校验路线上的高差验证。容易误判表现为现有技术需要玩家熟悉游戏内的路径设置规则,如单向通行设置、越过高差的指定操作等,容易对新加入游戏的玩家造成误判。
因此在现有技术中,如何能够高效、准确地进行游戏中作弊行为的校验是非常令人烦恼的过程。
为此,非常需要一种改进的用于游戏中作弊校验行为的方案,以使进行游戏中的作弊校验能够更为准确,同时还能够不影响用户的游戏体验,甚至降低游戏开发成本。
在本上下文中,本发明的实施方式期望提供一种用于游戏中作弊校验的方法、介质、装置和计算设备。
在本发明实施方式的第一方面中,提供了一种用于游戏中作弊校验的方法。所述方法包括:获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度;以及在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
在本发明的一个实施例中,所述统计信息熵Stotal包括以下任意一个维度的信息熵、或者以下任意多个维度的信息熵的总和:轨迹熵St、角度熵Sa和步长差分序列熵Sd;轨迹熵St表征所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的杂乱程度;角度熵Sa表征所述轨迹序列中所述角色的所有移动中单次移动的方向的杂乱程度;步长差分序列熵Sd表征所述轨迹序列中所述角色的所有移动中单次移动的步长的杂乱程度。
在本发明的另一个实施例中,在所述确定所述角色的行为存在作弊嫌疑之后,所述方法还包括:将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2;将所述R个分段子轨迹中的每一个分段子轨迹在[0,l]上进行离散傅里叶变换,得到轨迹张量Ttraj:Ttraj=[DFTl(traj1) DFTl(traj2) ... DFTl(trajR)]T,其中l为所述游戏中的地图的长度;将所述轨迹张量Ttraj输入至神经网络,以通过所述神经网络对所述轨迹张量Ttraj进行分类;以及获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为。在本发明的一个实施例中:
其中为第i个分段子轨迹traji经过离散傅里叶变换后在各频域上的响应叠加,其中βz为第i个分段子轨迹traji在频率z上的响应幅值,其中为旋转因子。
在本发明的再一个实施例中,所述获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为,包括获取所述神经网络输出的对所述轨迹张量Ttraj中的每一分量的分类结果其中,代表了所述轨迹张量Ttraj中第i个分量traji的作弊嫌疑程度;计算所述角色的行为的嫌疑程度以及在所述角色的行为的嫌疑程度Itraj大于等于阈值嫌疑度Ith时,确定所述角色的行为属于作弊行为。
在本发明的又一个实施例中,所述游戏包括3D游戏,以及所述轨迹序列包括三维轨迹序列。
在本发明的又一个实施例中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,分割所述轨迹序列组成的轨迹。
在本发明的又一个实施例中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括:基于用户操作步长Δs分割所述轨迹序列组成的轨迹,得到R个分段子轨迹traji,i=1,2,...,R,R≥2,其中每个分段子轨迹的路程长度|traji|=Δs;其中:其中l,w分别为所述游戏中的地图的长度和宽度;ε为步长粒度控制参数,根据游戏类型确定。
在本发明的又一个实施例中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括轨迹熵St。所述获取所述轨迹序列的统计信息熵Stotal包括:从traj={x1,x2,...,xn}中提取出所有互不相同的坐标点,以形成所述轨迹序列的坐标事件集合Xt={xt1,xt2,...,xtm},其中m≤n;计算所述坐标事件集合Xt={xt1,xt2,...,xtm}中每一个坐标点在所述轨迹序列中出现的概率P(xti),i=1,2,...,m;以及,根据所述坐标事件集合Xt={xt1,xt2,...,xtm}与所述概率P(xti)计算所述轨迹熵St。在本发明的一个实施例中,所述轨迹熵St,包括其中,K是和单位选取相关的任意常数。
在本发明的又一个实施例中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括角度熵Sa。所述获取所述轨迹序列的统计信息熵Stotal包括:计算用于表征所述轨迹序列traj={x1,x2,...,xn}中每一次移动相对于坐标轴α的方向参数,以获得与所述轨迹序列的每一次移动对应的相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1};从所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中提取出互不相同的方向参数,得到相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw},其中w≤n-1;计算所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}中每一个方向参数在所述轨迹序列中出现的概率P(αti),i=1,2,...,w;以及根据所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}与所述概率P(αti)计算相对于坐标轴α的角度熵Sa-α;其中,所述坐标轴α包括以下任意一个:X轴、Y轴和Z轴。在本发明的一个实施例中,所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中的方向参数αi包括:其中为相邻采样点之间的向量而为在所述坐标轴α方向上投影,i=1,2,...,n。在本发明的一个实施例中,所述游戏提供三维空间,所述三维空间包括彼此正交的X轴、Y轴和Z轴;所述角度熵Sa包括相对于X轴的角度熵Sa-X、相对于Y轴的角度熵Sa-Y和相对于Z轴的角度熵Sa-Z的总和。在本发明的一个实施例中,所述角度熵Sa,包括其中,K是和单位选取相关的任意常数。
在本发明的一个实施例中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括步长差分序列熵Sd。所述获取所述轨迹序列的统计信息熵Stotal包括:计算对应于所述轨迹序列traj={x1,x2,...,xn}中每一次移动的步长差分,获得与所述轨迹序列的每一次移动对应的步长差分集合D={d1,d2,...,dn-1},从所述步长差分集合D={d1,d2,...,dn-1}中提取出互不相同的步长差分,以形成步长差分事件集合Dt={dt1,dt2,...,dtq};其中q≤n-1;计算所述步长差分事件集合Dt={dt1,dt2,...,dtq}中每一个步长差分在所述轨迹序列中出现的概率P(dti),i=1,2,...,q;以及根据所述步长差分事件集合Dt={dt1,dt2,...,dtq}与所述概率P(dti)计算所述步长差分序列熵Sd。在本发明的一个实施例中,所述步长差分序列熵Sd,包括其中,K是和单位选取相关的任意常数。
在本发明实施方式的第二方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行在本发明实施方式的第一方面中提供的方法。
在本发明实施方式的第三方面中,提供了一种用于游戏中作弊校验的装置,包括轨迹序列获取模块、统计信息熵获取模块、以及作弊嫌疑确定模块。轨迹序列获取模块用于获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列。统计信息熵获取模块用于获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度。作弊嫌疑确定模块用于在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
在本发明的一个实施例中,所述统计信息熵Stotal包括以下任意一个维度的信息熵、或者以下任意多个维度的信息熵的总和:轨迹熵St、角度熵Sa和步长差分序列熵Sd;轨迹熵St表征所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的杂乱程度;角度熵Sa表征所述轨迹序列中所述角色的所有移动中单次移动的方向的杂乱程度;步长差分序列熵Sd表征所述轨迹序列中所述角色的所有移动中单次移动的步长的杂乱程度。
在本发明的另一个实施例中,所述装置还包括轨迹分割模块、离散傅里叶变换模块、神经网络输入模块以及作弊行为判定模块。轨迹分割模块用于在所述确定所述角色的行为存在作弊嫌疑之后将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2。离散傅里叶变换模块用于将所述R个分段子轨迹中的每一个分段子轨迹在[0,l]上进行离散傅里叶变换,得到轨迹张量Ttraj:Ttraj=[DFTl(traj1) DFTl(traj2)... DFTl(trajR)]T,其中l为所述游戏中的地图的长度。神经网络输入模块用于将所述轨迹张量Ttraj输入至神经网络,以通过所述神经网络对所述轨迹张量Ttraj进行分类。作弊行为判定模块用于获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为。在本发明的一个实施例中:
其中为第i个分段子轨迹traji经过离散傅里叶变换后在各频域上的响应叠加,其中βz为第i个分段子轨迹traji在频率z上的响应幅值,其中为旋转因子。
在本发明的再一个实施例中,所述作弊行为判定模块包括各分量分类结果获取子模块、嫌疑度获取子模块以及作弊行为确定子模块。各分量分类结果获取子模块用于获取所述神经网络输出的对所述轨迹张量Ttraj中的每一分量的分类结果其中,代表了所述轨迹张量Ttraj中第i个分量traji的作弊嫌疑程度。嫌疑度获取子模块用于计算所述角色的行为的嫌疑程度作弊行为确定子模块用于在所述角色的行为的嫌疑程度Itraj大于等于阈值嫌疑度Ith时,确定所述角色的行为属于作弊行为。
在本发明的再一个实施例中,所述游戏包括3D游戏,以及所述轨迹序列包括三维轨迹序列。
在本发明的再一个实施例中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,分割所述轨迹序列组成的轨迹。
在本发明的再一个实施例中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括基于用户操作步长Δs分割所述轨迹序列组成的轨迹,得到R个分段子轨迹traji,i=1,2,...,R,R≥2,其中每个分段子轨迹的路程长度|traji|=Δs;其中:
其中:
l,w分别为所述游戏中的地图的长度和宽度;
ε为步长粒度控制参数,根据游戏类型确定。
在本发明的再一个实施例中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括轨迹熵St。所述统计信息熵获取模块包括坐标事件集合获得子模块、各坐标概率计算子模块、以及轨迹熵计算子模块。坐标事件集合获得子模块用于从traj={x1,x2,...,xn}中提取出所有互不相同的坐标点,以形成所述轨迹序列的坐标事件集合Xt={xt1,xt2,...,xtm},其中m≤n。各坐标概率计算子模块用于计算所述坐标事件集合Xt={xt1,xt2,...,xtm}中每一个坐标点在所述轨迹序列中出现的概率P(xti),i=1,2,...,m。轨迹熵计算子模块用于根据所述坐标事件集合Xt={xt1,xt2,...,xtm}与所述概率P(xti)计算所述轨迹熵St。在本发明的一个实施例中,所述轨迹熵St,包括其中,K是和单位选取相关的任意常数。
在本发明的再一个实施中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括角度熵Sa。所述统计信息熵获取模块,包括相对于特定坐标轴的方向参数集合获得子模块、相对于特定坐标轴的方向事件集合获得子模块、各方向参数概率计算子模块以及相对于特定坐标轴的角度熵计算子模块。相对于特定坐标轴的方向参数集合获得子模块用于计算用于表征所述轨迹序列traj={x1,x2,...,xn}中每一次移动相对于坐标轴α的方向参数,以获得与所述轨迹序列的每一次移动对应的相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}。相对于特定坐标轴的方向事件集合获得子模块用于从所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中提取出互不相同的方向参数,得到相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw},其中w≤n-1。各方向参数概率计算子模块用于计算所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}中每一个方向参数在所述轨迹序列中出现的概率P(αti),i=1,2,...,w。相对于特定坐标轴的角度熵计算子模块用于根据所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}与所述概率P(αti)计算相对于坐标轴α的角度熵Sa-α。其中,所述坐标轴α包括以下任意一个:X轴、Y轴和Z轴。在本发明的一个实施例中,所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中的方向参数αi,包括其中为相邻采样点之间的向量而为在所述坐标轴α方向上投影,i=1,2,...,n。在本发明的一个实施例中,所述游戏提供三维空间,所述三维空间包括彼此正交的X轴、Y轴和Z轴;所述角度熵Sa包括相对于X轴的角度熵Sa-X、相对于Y轴的角度熵Sa-Y和相对于Z轴的角度熵Sa-Z的总和。在本发明的一个实施例中,所述角度熵Sa,包括:其中,K是和单位选取相关的任意常数。
在本发明的再一个实施例中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括步长差分序列熵Sd。所述统计信息熵获取模块包括步长差分集合获取子模块、步长差分事件集合获得子模块、各步长差分概率计算子模块、以及步长差分序列熵计算子模块。步长差分集合获取子模块用于计算对应于所述轨迹序列traj={x1,x2,...,xn}中每一次移动的步长差分,获得与所述轨迹序列的每一次移动对应的步长差分集合D={d1,d2,...,dn-1},步长差分事件集合获得子模块用于从所述步长差分集合D={d1,d2,...,dn-1}中提取出互不相同的步长差分,以形成步长差分事件集合Dt={dt1,dt2,...,dtq};其中q≤n-1。各步长差分概率计算子模块用于计算所述步长差分事件集合Dt={dt1,dt2,...,dtq}中每一个步长差分在所述轨迹序列中出现的概率P(dti),i=1,2,...,q。步长差分序列熵计算子模块用于根据所述步长差分事件集合Dt={dt1,dt2,...,dtq}与所述概率P(dti)计算所述步长差分序列熵Sd。在本发明的一个实施例中,所述步长差分序列熵Sd,包括其中,K是和单位选取相关的任意常数。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:一个或多个存储器,存储有可执行指令;以及一个或多个处理器,执行所述可执行指令,用以实现在本发明实施方式的第一方面中提供的方法。
根据本发明实施例的方法、介质、装置和计算设备,通过获取游戏内角色的轨迹序列,根据该轨迹序列分析角色的轨迹信息,通过求解统计信息熵来筛选出具有作弊行为(例如,采用代打脚本挂机)的玩家。根据本发明的一些实施例,对于根据统计信息熵判断出的嫌疑玩家,还可以进一步采用机器学习的方法对玩家的分段子轨迹在更细的粒度进行分类,并根据分类结果实现对作弊的精确判断,可以提高对作弊行为更准确的判断,并防止对新手玩家造成误判。
根据本发明实施方式的方法、介质、装置和计算设备,避免了为了进行作弊校验而在游戏中加入的额外部署,对作弊行为的校验在服务后台进行处理执行,从而一定程度上减少了对用户在终端上的游戏体验的影响,不仅降低了开发成本,而且提高了游戏的灵活度,为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的用于游戏中作弊校验的方法、介质、装置和计算设备的应用场景;
图2示意性地示出了根据本发明实施例的用于游戏中作弊校验的方法的流程图:
图3示意性地示出了根据本发明另一实施例的用于游戏中作弊校验的方法的流程图;
图4示意性地示出了图3中操作S370的实现流程图;
图5示意性示出了卷积神经网络对所述轨迹张量Ttraj进行分类的原理图;
图6示意性地示出了根据本发明实施方式的用于游戏中作弊校验的方法的一个具体实施例的应用场景;
图7示意性示出了根据本发明实施例的用于游戏中作弊校验的程序产品的示意图;
图8示意性示出了根据本发明实施例的用于游戏中作弊校验的装置的方框图;以及
图9示意性示出了根据本发明实施例的用于游戏中作弊校验的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种用于游戏中作弊校验的方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语单次移动表示在实时坐标位置的连续采样过程中,所述角色按照采样的先后顺序在先后相邻的两个坐标位置之间的一次移动。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中,对代打脚本等游戏作弊行为的校验通常需要在游戏中预先设置验证路径。这样不及提高了游戏开发成本,而且降低了游戏的灵活度。在实现本发明的构思中,发明人发现,玩家亲自打游戏时,由于人为操作的随机因素比较大,而且人眼识别或者手动操作的精度相对于机器操作的精度要低,因此,玩家亲自打游戏时游戏内的角色形成的轨迹通常会比代打脚本等机器操作角色形成的轨迹更为杂乱。而信息熵可以反映信息的非一致性或者杂乱性程度。对于一段离散序列,信息熵的熵值的一种表达式如下:
其中i标记概率空间中所有可能的样本,pi表示该样本的出现概率,K是和单位选取相关的任意常数,熵值表示了信息非一致性的程度。
本发明在校验游戏中的作弊行为时,通过分析用户上传至服务器的游戏内角色的轨迹信息,通过求解轨迹对应的统计信息熵等来筛选出存在采用代打脚本挂机等作弊嫌疑的玩家。
更进一步地,考虑到一些新手玩家由于对游戏不熟悉,可能会操作比较单一,操作的频次也较低,这样导致了容易将这些新手玩家误判为嫌疑玩家。为了防止对新手玩家造成误判,本发明还可以对根据统计信息熵筛选出来的嫌疑游戏玩家,采用机器学习的方法对玩家操作的角色轨迹进行分段,在更细粒度上进行分类,从而实现对于作弊的精确判断。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1。
图1示意性地示出了根据本发明实施方式的用于游戏中作弊校验的方法、介质、装置和计算设备的应用场景。
如图1所示,用户终端11中安装有游戏客户端应用程序(以下简称客户端)。用户通过用户终端11中安装的客户端向游戏服务器12发送游戏数据获取请求。游戏服务器12将用户请求的游戏数据发送给用户终端11,由用户终端11中的客户端对接收到的游戏数据(例如,游戏地图、场景渲染信息等)进行游戏场景渲染并展示相应的游戏界面。
用户在用户终端11中安装的客户端中展示的游戏界面中进行操作,操纵游戏内的角色在游戏场景中移动、或者动作等。游戏服务器12可以响应于用户操作,获取游戏内角色的实时状态数据(例如,角色的实时坐标位置、角色的动作姿态)。在多人在线游戏中,游戏服务器12还可以响应于用户操作,将不同玩家的实时状态数据发送给各个用户终端11的客户端,使各个用户终端11的客户端实时更新数据来渲染游戏场景等。
用户终端11和游戏服务器12通过网络连接,该网络可以为局域网、广域网、移动互联网等。用户终端11可以为便携设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,Personal Computer),游戏服务器12可以为任何能够提供游戏后台服务的服务器设备。
需要说明的是,本发明实施例所提供的用于游戏中作弊校验的方法可以由游戏服务器12执行。相应地,本发明实施例所提供的用于游戏中作弊校验的装置、介质或计算设备一般可以设置于游戏服务器12中。本发明实施例所提供的用于游戏中作弊校验的方法也可以由不同于游戏服务器12且能够与用户终端11和/或游戏服务器12通信的其他网站服务器或网站服务器集群执行。相应地,本发明实施例所提供的用于游戏中作弊校验的装置、介质或计算设备也可以设置于不同于游戏服务器12且能够与用户终端11和/或游戏服务器12通信的其他网站服务器或网站服务器集群中。本发明实施例所提供的用于游戏中作弊校验的方法也可以部分由用户终端11执行,部分由游戏服务器12执行。相应地,本发明实施例所提供的用于游戏中作弊校验的装置、介质或计算设备也可以部分设置于用户终端11中,部分设置于游戏服务器12中。
应该理解,图1中的用户终端、网络和网站服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
示例性方法
下面结合图1的应用场景,参考图2~图6来描述根据本发明示例性实施方式的用于游戏中作弊校验的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明实施例的用于游戏中作弊校验的方法的流程图。
如图2所述,根据本发明的实施例,该用于游戏中作弊校验的方法包括操作S210~操作S230。
在操作S210,获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列。根据本发明的实施例,所述游戏可以是3D游戏,以及所述轨迹序列可以是三维轨迹序列。
在操作S220,获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度。
根据本发明的实施例,所述统计信息熵Stotal包括以下任意一个维度的信息熵、或者以下任意多个维度的信息熵的总和:轨迹熵St、角度熵Sa和步长差分序列熵Sd,其中,轨迹熵St表征所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的杂乱程度;角度熵Sa表征所述轨迹序列中所述角色的所有移动中单次移动的方向的杂乱程度;步长差分序列熵Sd表征所述轨迹序列中所述角色的所有移动中单次移动的步长的杂乱程度。
在操作S230,在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
根据本发明的实施例,通过获取游戏内角色的轨迹序列,根据该轨迹序列分析角色的轨迹信息,通过求解统计信息熵来筛选出具有作弊嫌疑的玩家,避免了为了进行作弊校验而在游戏中加入的额外部署,对作弊行为的校验可以在游戏服务器12中进行,从而一定程度上减少了对客户端中运行的游戏的影响,不仅降低了开发成本,而且提高了游戏的灵活度,为用户带来了更好的体验。
根据本发明的实施例,所述统计信息熵Stotal可以是轨迹熵St。
在一个实施例中,所述轨迹熵St可以通过所述轨迹序列中所述角色的所有移动中所到达的坐标点的杂乱程度来表示。
具体的,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点。操作S220中所述获取所述轨迹序列的统计信息熵Stotal具体可以通过以下操作实现:
首先,从traj={x1,x2,...,xn}中提取出所有互不相同的坐标点,以形成所述轨迹序列的坐标事件集合Xt={xt1,xt2,...,xtm},其中m≤n;
然后,计算所述坐标事件集合Xt={xt1,xt2,...,xtm}中每一个坐标点在所述轨迹序列中出现的概率P(xti),i=1,2,...,m;
最后,根据所述坐标事件集合Xt={xt1,xt2,...,xtm}与所述概率P(xti)计算所述轨迹熵St。
根据本发明的实施例,根据信息熵的计算公式,所述轨迹熵St的具体计算可以是:
其中,K是和单位选取相关的任意常数。
在另一个实施例中,所述轨迹熵St可以通过所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的形态的杂乱程度表示。
例如,可以分析所述角色的所有移动中单次移动形成的轨迹形态学特征,并将单次移动形成的轨迹根据形态学特征进行分类,然后根据信息熵的计算公式确定所有单次移动形成的轨迹的形态的杂乱程度。
具体地,例如可以对单次移动形成的轨迹进行拟合,获得对应的拟合参数。然后根据拟合参数对该单次移动形成的轨迹进行分类,例如可以分类为线性轨迹、抛物线轨迹、或者指数曲线轨迹等。接着计算每一分类中的轨迹所占的概率,并基于该概率来计算所述轨迹熵St。
在另一个实施例中,所述轨迹熵St还可以是所述角色的所有移动中所到达的坐标点的杂乱程度和所有移动中单次移动形成的轨迹的形态的杂乱程度的加权。
根据本发明的实施例,所述统计信息熵Stotal可以是角度熵Sa。具体地,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点。操作S220中获取所述轨迹序列的统计信息熵Stotal具体可以通过以下操作实现:
首先,计算用于表征所述轨迹序列traj={x1,x2,...,xn}中每一次移动相对于坐标轴α的方向参数,以获得与所述轨迹序列的每一次移动对应的相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}。其中所述坐标轴α包括以下任意一个:X轴、Y轴和Z轴。根据本发明的实施例,所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中的方向参数αi包括:其中为相邻采样点之间的向量而为在所述坐标轴α方向上投影,i=1,2,...,n。
然后,从所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中提取出互不相同的方向参数,得到相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw},其中w≤n-1;
接着,计算所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}中每一个方向参数在所述轨迹序列中出现的概率P(αti),i=1,2,...,w;
最后,根据所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}与所述概率P(αti)计算相对于坐标轴α的角度熵Sa-α。
根据本发明的实施例,所述游戏提供三维空间,所述三维空间包括彼此正交的X轴、Y轴和Z轴。所述角度熵Sa可以是相对于X轴的角度熵Sa-X、相对于Y轴的角度熵Sa-Y和相对于Z轴的角度熵Sa-Z的总和。
根据本发明的实施例,根据信息熵的计算公式,所述角度熵Sa的具体计算可以是:其中,K是和单位选取相关的任意常数。
根据本发明的实施例,所述统计信息熵Stotal可以是步长差分序列熵Sd。所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点。操作S220中获取所述轨迹序列的统计信息熵Stotal具体可以通过以下操作实现:
首先,计算对应于所述轨迹序列traj={x1,x2,...,xn}中每一次移动的步长差分,获得与所述轨迹序列的每一次移动对应的步长差分集合D={d1,d2,...,dn-1},
然后,从所述步长差分集合D={d1,d2,...,dn-1}中提取出互不相同的步长差分,以形成步长差分事件集合Dt={dt1,dt2,...,dtq};其中q≤n-1;
接着,计算所述步长差分事件集合Dt={dt1,dt2,...,dtq}中每一个步长差分在所述轨迹序列中出现的概率P(dti),i=1,2,...,q;
最后,根据所述步长差分事件集合Dt={dt1,dt2,...,dtq}与所述概率P(dti)计算所述步长差分序列熵Sd。
根据本发明的实施例,根据信息熵的计算公式,所述步长差分序列熵Sd的具体计算可以是:其中,K是和单位选取相关的任意常数。
在一些实施例中,对于操作S230中确定的存在作弊嫌疑的玩家,可以通过客户端执行限制移动、闪退、或踢出游戏等。在另一些实施例中,对于操作S230中确定的存在作弊嫌疑的玩家,可以通过对其轨迹的进一步分析确定是否确实存在作弊行为。例如,根据本发明的实施例,可以通过机器学习的方法对嫌疑玩家操作的角色轨迹进行分段,在更细粒度上进行分类,从而实现对于作弊的精确判断,对此可以参考图3~图5的示意。
图3示意性地示出了根据本发明另一实施例的用于游戏中作弊校验的方法的流程图。
如图3所示,该用于游戏中作弊校验的方法除了包括操作S210~操作S230之外,还包括操作S340~操作S370。
在操作S340,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2。
根据本发明的实施例,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,可以是将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,分割所述轨迹序列组成的轨迹。例如,对于手机客户端的一些游戏,用户操作力度较大,例如用户相邻两次操作之间形成的轨迹可以包括所述轨迹序列中两个以上的任意多个坐标位置(例如,用户的操作是用于控制角色的加速度、运动方向变化等)。在这种情况下,将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,这样每个分段子轨迹段traji可以有效反映用户的每次操作。
根据本发明的另一些实施例,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,可以是基于用户操作步长Δs分割所述轨迹序列组成的轨迹,得到R个分段子轨迹traji,i=1,2,...,R,R≥2,其中每个分段子轨迹的路程长度|traji|=Δs;其中其中,l,w分别为所述游戏中的地图的长度和宽度;ε为步长粒度控制参数,根据游戏类型确定。
具体地,根据游戏中地图尺度<l,w>,确定合理的用户步长基于用户操作步长Δs分割三维轨迹,获取三维轨迹中的分段子轨迹traji,|traji|=Δs。
ε为步长粒度控制参数,具体取值可以根据游戏类型确定。例如,在第一人称射击游戏中,用户操作粒度较细,可以将ε值设置小于0.01以强化对于玩家操作细节的刻画能力。又例如,在即时战略类游戏中,可以将ε值设置于0.05~0.10之间,确保每个分段子轨迹包括一定长度的用户操作轨迹,并确保每个分段子轨迹中包含丰富的用户操作细节。再例如,角色扮演类游戏中,用户操作粒度较大,可以将ε设置于0.10~0.30之间,以确保每个分段子轨迹捕捉到了更多的用户细节。
然后,在操作S350,将所述R个分段子轨迹中的每一个分段子轨迹在[0,l]上进行离散傅里叶变换,得到轨迹张量Ttraj。
所述轨迹张量具体为:Ttraj=[DFTl(traj1) DFTl(traj2) ... DFTl(trajR)]T,其中l为所述游戏中的地图的长度。
根据本发明的实施例,将每个分段子轨迹进行离散傅里叶变换,归一化到l*3维度的向量DFTl(traji)。将R个归一化后的分段子轨迹整合到一个矩阵内,得到维度为R*l*3的张量Ttraj。
根据本发明的实施例,其中为第i个分段子轨迹traji经过离散傅里叶变换后在各频域上的响应叠加,其中βz为第i个分段子轨迹traji在频率z上的响应幅值,其中为旋转因子。
然后,在操作S360,将所述轨迹张量Ttraj输入至神经网络,以通过所述神经网络对所述轨迹张量Ttraj进行分类。在一些实施例中,该神经网络可以是卷积神经网络。
接着,在操作S370,获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为。具体实现过程可以参考图4和图5的示例。
图4示意性地示出了图3中操作S370的实现流程图。
如图4所示,操作S370可以包括操作S371~操作S372。
在操作S371,获取所述神经网络输出的对所述轨迹张量Ttraj中的每一分量的分类结果其中,代表了所述轨迹张量Ttraj中第i个分量traji的作弊嫌疑程度。
在操作S372,计算所述角色的行为的嫌疑程度
在操作S373,在所述角色的行为的嫌疑程度Itraj大于等于阈值嫌疑度Ith时,确定所述角色的行为属于作弊行为。
根据本发明的实施例,所述神经网络的分类精度可以通过训练过程来确定。根据本发明的实施例,用户正常轨迹库可以不断更新,并通过机器学习优化分类精度。
图5示意性示出了卷积神经网络对所述轨迹张量Ttraj进行分类的原理图。
如图5所示,卷积神经网络接收轨迹张量Ttraj,经过卷积层1、卷积层2、和卷积层3对轨迹张量Ttraj中各个分量的特征提取和处理,然后在输出层输出该轨迹张量Ttraj内各个分量子轨迹的分类结果向量Ctraj,其中每个分类结果代表了该卷积神经网络对于分段子轨迹traji的分类结果。
对分类结果Ctraj进行统计,获得用户采用代打脚本的嫌疑度若嫌疑度Itraj超过阈值Ith,则确定玩家的行为存在作弊。在这种情况下,可以向客户端发送执行请求,例如对玩家限制移动、闪退、踢出游戏等。
以下结合图6的具体应用场景,对根据本发明实施例的用于游戏中作弊校验的方法做进一步说明。
图6示意性地示出了根据本发明实施方式的用于游戏中作弊校验的方法的一个实施例的应用场景。以该实施例中游戏为3D游戏进行说明。
该应用场景中包括a轨迹序列提取单元、b统计信息熵判定单元、c轨迹分割单元、d机器学习分类器以及e客户端执行单元。
a轨迹序列提取单元,可以部署在用户终端11的客户端中。该轨迹序列提取单元基于用户在游戏中的操作,获取用户操控角色在游戏中的实时三维坐标位置。通过对角色三维坐标位置进行连续采样,获取角色三维轨迹序列,并上传游戏服务器12。
b统计信息熵判定单元,可以部署于游戏服务器12。游戏服务器12获取客户端上传的三维轨迹(操作S210)后,对三维轨迹序列traj={x1,x2,...,xn}提取统计信息,计算统计信息熵,包括但不限于轨迹熵St、角度熵Sa和步长差分序列熵Sd(操作S220)。根据统计信息熵Stotal与预设阈值Sth的关系,若Stotal<Sth则人为玩家可能采用了代打脚本(操作S230)。
c、轨迹分割单元,部署于游戏服务器12端。基于用户操作步长Δs分割三维轨迹,获取三维轨迹中的分段子轨迹traji,|traji|=Δs(操作S340)。将分段子轨迹进行离散傅里叶变换,归一化到l*3维度的向量DFTl(traji),并将R条归一化后的分段子轨迹整合到一个矩阵内,得到维度为R*l*3的轨迹张量Ttraj(操作S350)。
d、机器学习分类器,部署于游戏服务器12。机器学习分类器包括神经网络,可以接收轨迹张量Ttraj,并根据轨迹张量的分类结果向量:给出用户采用代打脚本的嫌疑度(操作S360)。若嫌疑度Itraj超过阈值Ith,则向客户端发送执行请求(操作S370)。
e、客户端执行单元,部署在用户终端11中。客户端执行单元接收到游戏服务器12发送的执行请求后,在游戏中执行的预设的操作,包括限制移动、闪退、踢出游戏等。
根据本发明的实施例,该用于游戏中作弊校验的方法使用游戏服务器12进行用户数据判断,对客户端的用户游戏体验无影响。通过统计信息熵对用户代打嫌疑预处理,降低判断作弊行为的复杂度。并且,用户正常轨迹库不断更新,通过机器学习优化分类精度。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图7对本发明示例性实施方式的用于游戏中作弊校验的程序产品进行介绍。
本发明的实施例提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行根据本发明实施例的用于游戏中作弊校验的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于游戏中作弊校验的方法中的步骤,例如,所述计算设备可以执行如图2中所示的操作S210,获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;操作S220,获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度;以及操作S230,在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图7所示,描述了根据本发明的实施方式的用于游戏中作弊校验的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言一一诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图8对本发明示例性实施方式的用于游戏中作弊校验的装置800。该装置800可以用于实现根据本发明实施例的用于游戏中作弊校验的方法。
如图8所示,该装置800包括轨迹序列获取模块810、统计信息熵获取模块820、以及作弊嫌疑确定模块830。轨迹序列获取模块810用于获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列。统计信息熵获取模块820用于获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度。作弊嫌疑确定模块830用于在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
根据本发明的一个实施例,所述统计信息熵Stotal包括以下任意一个维度的信息熵、或者以下任意多个维度的信息熵的总和:轨迹熵St、角度熵Sa和步长差分序列熵Sd;轨迹熵St表征所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的杂乱程度;角度熵Sa表征所述轨迹序列中所述角色的所有移动中单次移动的方向的杂乱程度;步长差分序列熵Sd表征所述轨迹序列中所述角色的所有移动中单次移动的步长的杂乱程度。
根据本发明的另一个实施例,所述装置800还包括轨迹分割模块840、离散傅里叶变换模块850、神经网络输入模块860以及作弊行为判定模块870。轨迹分割模块840用于在所述确定所述角色的行为存在作弊嫌疑之后将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2。离散傅里叶变换模块850用于将所述R个分段子轨迹中的每一个分段子轨迹在[0,l]上进行离散傅里叶变换,得到轨迹张量Ttraj:Ttraj=[DFTl(traj1) DFTl(traj2) ... DFTl(trajR)]T,其中l为所述游戏中的地图的长度。神经网络输入模块860用于将所述轨迹张量Ttraj输入至神经网络,以通过所述神经网络对所述轨迹张量Ttraj进行分类。作弊行为判定模块870用于获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为。根据本发明的一个实施例:其中为第i个分段子轨迹traji经过离散傅里叶变换后在各频域上的响应叠加,其中βz为第i个分段子轨迹traji在频率z上的响应幅值,其中为旋转因子。
根据本发明的再一个实施例,所述作弊行为判定模块870包括各分量分类结果获取子模块、嫌疑度获取子模块以及作弊行为确定子模块。各分量分类结果获取子模块用于获取所述神经网络输出的对所述轨迹张量Ttraj中的每一分量的分类结果其中,代表了所述轨迹张量Ttraj中第i个分量traji的作弊嫌疑程度。嫌疑度获取子模块用于计算所述角色的行为的嫌疑程度作弊行为确定子模块用于在所述角色的行为的嫌疑程度Itraj大于等于阈值嫌疑度Ith时,确定所述角色的行为属于作弊行为。
根据本发明的再一个实施例,所述游戏包括3D游戏,以及所述轨迹序列包括三维轨迹序列。
根据本发明的再一个实施例,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,分割所述轨迹序列组成的轨迹。
根据本发明的再一个实施例,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括基于用户操作步长Δs分割所述轨迹序列组成的轨迹,得到R个分段子轨迹traji,i=1,2,...,R,R≥2,其中每个分段子轨迹的路程长度|traji|=Δs;其中:其中:l,w分别为所述游戏中的地图的长度和宽度;ε为步长粒度控制参数,根据游戏类型确定。
根据本发明的再一个实施例,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括轨迹熵St。所述统计信息熵获取模块包括坐标事件集合获得子模块、各坐标概率计算子模块、以及轨迹熵计算子模块。坐标事件集合获得子模块用于从traj={x1,x2,...,xn}中提取出所有互不相同的坐标点,以形成所述轨迹序列的坐标事件集合Xt={xt1,xt2,...,xtm},其中m≤n。各坐标概率计算子模块用于计算所述坐标事件集合Xt={xt1,xt2,...,xtm}中每一个坐标点在所述轨迹序列中出现的概率P(xti),i=1,2,...,m。轨迹熵计算子模块用于根据所述坐标事件集合Xt={xt1,xt2,...,xtm}与所述概率P(xti)计算所述轨迹熵St。在本发明的一个实施例,所述轨迹熵St,包括其中,K是和单位选取相关的任意常数。
根据本发明的再一个实施中,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括角度熵Sa。所述统计信息熵获取模块,包括相对于特定坐标轴的方向参数集合获得子模块、相对于特定坐标轴的方向事件集合获得子模块、各方向参数概率计算子模块以及相对于特定坐标轴的角度熵计算子模块。相对于特定坐标轴的方向参数集合获得子模块用于计算用于表征所述轨迹序列traj={x1,x2,...,xn}中每一次移动相对于坐标轴α的方向参数,以获得与所述轨迹序列的每一次移动对应的相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}。相对于特定坐标轴的方向事件集合获得子模块用于从所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中提取出互不相同的方向参数,得到相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw},其中w≤n-1。各方向参数概率计算子模块用于计算所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}中每一个方向参数在所述轨迹序列中出现的概率P(αti),i=1,2,...,w。相对于特定坐标轴的角度熵计算子模块用于根据所述相对于坐标轴α的方向事件集合At={αt1,αt2,...,αtw}与所述概率P(αti)计算相对于坐标轴α的角度熵Sa-α。其中,所述坐标轴α包括以下任意一个:X轴、Y轴和Z轴。在本发明的一个实施例,所述相对于坐标轴α的方向参数集合A={α1,α2,...,αn-1}中的方向参数αi,包括其中为相邻采样点之间的向量而为在所述坐标轴α方向上投影,i=1,2,...,n。根据本发明的一个实施例,所述游戏提供三维空间,所述三维空间包括彼此正交的X轴、Y轴和Z轴;所述角度熵Sa包括相对于X轴的角度熵Sa-X、相对于Y轴的角度熵Sa-Y和相对于Z轴的角度熵Sa-Z的总和。根据本发明的一个实施例,所述角度熵Sa,包括:其中,K是和单位选取相关的任意常数。
根据本发明的再一个实施例,所述轨迹序列为traj={x1,x2,...,xn},其中x1,x2,...,xn为根据采样的先后顺序依次获得的坐标点;所述统计信息熵Stotal包括步长差分序列熵Sd。所述统计信息熵获取模块包括步长差分集合获取子模块、步长差分事件集合获得子模块、各步长差分概率计算子模块、以及步长差分序列熵计算子模块。步长差分集合获取子模块用于计算对应于所述轨迹序列traj={x1,x2,...,xn}中每一次移动的步长差分,获得与所述轨迹序列的每一次移动对应的步长差分集合D={d1,d2,...,dn-1},步长差分事件集合获得子模块用于从所述步长差分集合D={d1,d2,...,dn-1}中提取出互不相同的步长差分,以形成步长差分事件集合Dt={dt1,dt2,...,dtq};其中q≤n-1。各步长差分概率计算子模块用于计算所述步长差分事件集合Dt={dt1,dt2,...,dtq}中每一个步长差分在所述轨迹序列中出现的概率P(dti),i=1,2,...,q。步长差分序列熵计算子模块用于根据所述步长差分事件集合Dt={dt1,dt2,...,dtq}与所述概率P(dti)计算所述步长差分序列熵Sd。根据本发明的一个实施例,所述步长差分序列熵Sd,包括其中,K是和单位选取相关的任意常数。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图9对本发明示例性实施方式的用于游戏中作弊校验的计算设备。
本发明的实施例提供了一种计算设备,包括一个或多个存储有可执行指令的存储器,以及一个或多个处理器。所述一个或多个处理器执行所述可执行指令,用以实现根据本发明实施例的用于游戏中作弊校验的方法本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的信息呈现方法中的步骤。例如,所述处理单元可以执行如图2中所示的操作S210,获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;操作S220,获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度;以及操作S230,在所述统计信息熵Stotal小于预设阀值Sth时,确定所述角色的行为存在作弊嫌疑。
下面参照图9来描述根据本发明的这种实施方式的用于游戏中作弊校验的计算设备900。如图9所示的计算设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算设备900以通用计算设备的形式表现。计算设备900的组件可以包括但不限于:上述至少一个处理器910、上述至少一个存储器920、连接不同系统组件(包括存储器920和处理器910)的总线930。
总线930包括数据总线、地址总线和控制总线。
存储器920可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器920还可以包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备900也可以与一个或多个外部设备940(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/0)接口950进行。并且,计算设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器960通过总线930与计算设备900的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种用于游戏中作弊校验的方法,包括:
获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;
获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度;
在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
2.根据权利要求1所述的方法,其中,所述统计信息熵Stotal包括以下任意一个维度的信息熵、或者以下任意多个维度的信息熵的总和:
轨迹熵St,表征所述轨迹序列中所述角色的所有移动中单次移动形成的轨迹的杂乱程度;
角度熵Sa,表征所述轨迹序列中所述角色的所有移动中单次移动的方向的杂乱程度;以及
步长差分序列熵Sd,表征所述轨迹序列中所述角色的所有移动中单次移动的步长的杂乱程度。
3.根据权利要求1所述的方法,在所述确定所述角色的行为存在作弊嫌疑之后,所述方法还包括:
将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2;
将所述R个分段子轨迹中的每一个分段子轨迹在[0,l]上进行离散傅里叶变换,得到轨迹张量Ttraj:Ttraj=[DFTl(traj1) DFTl(traj2) ... DFTl(trajR)]T,其中l为所述游戏中的地图的长度;
将所述轨迹张量Ttraj输入至神经网络,以通过所述神经网络对所述轨迹张量Ttraj进行分类;以及
获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为。
4.根据权利要求3所述的方法,其中,所述获取所述神经网络的输出以确定所述角色的行为是否属于作弊行为,包括:
获取所述神经网络输出的对所述轨迹张量Ttraj中的每一分量的分类结果其中,代表了所述轨迹张量Ttraj中第i个分量traji的作弊嫌疑程度;
计算所述角色的行为的嫌疑程度以及
在所述角色的行为的嫌疑程度Itraj大于等于阈值嫌疑度Ith时,确定所述角色的行为属于作弊行为。
5.根据权利要求1~4任意一项所述的方法,其中:
所述游戏包括3D游戏,以及所述轨迹序列包括三维轨迹序列。
6.根据权利要求3所述的方法,其中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括:
将用户相邻两次操作之间的轨迹段作为一个分段子轨迹traji,分割所述轨迹序列组成的轨迹。
7.根据权利要求3所述的方法,其中,将所述轨迹序列组成的轨迹进行分割得到R个分段子轨迹traji,i=1,2,...,R.R≥2,包括:
基于用户操作步长Δs分割所述轨迹序列组成的轨迹,得到R个分段子轨迹traji,i=1,2,...,R,R≥2,其中每个分段子轨迹的路程长度|traji|=Δs;其中:
其中:
l,w分别为所述游戏中的地图的长度和宽度;
ε为步长粒度控制参数,根据游戏类型确定。
8.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行权利要求1~7任意一项所述的方法。
9.一种用于游戏中作弊校验的装置,包括:
轨迹序列获取模块,用于获取所述游戏中的角色的轨迹序列,所述轨迹序列包括通过对所述角色在所述游戏中的实时坐标位置连续采样获得的坐标序列;
统计信息熵获取模块,用于获取所述轨迹序列的统计信息熵Stotal,其中所述统计信息熵Stotal表征了所述轨迹序列的杂乱程度;
作弊嫌疑确定模块,用于在所述统计信息熵Stotal小于预设阈值Sth时,确定所述角色的行为存在作弊嫌疑。
10.一种计算设备,包括:
一个或多个存储器,存储有可执行指令;
一个或多个处理器,执行所述可执行指令,用以实现权利要求1~7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810455489.XA CN108654091B (zh) | 2018-05-14 | 2018-05-14 | 用于游戏中作弊校验的方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810455489.XA CN108654091B (zh) | 2018-05-14 | 2018-05-14 | 用于游戏中作弊校验的方法、介质、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108654091A true CN108654091A (zh) | 2018-10-16 |
CN108654091B CN108654091B (zh) | 2021-05-14 |
Family
ID=63779339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810455489.XA Active CN108654091B (zh) | 2018-05-14 | 2018-05-14 | 用于游戏中作弊校验的方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108654091B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109718556A (zh) * | 2019-01-30 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法、装置及服务器 |
CN110075524A (zh) * | 2019-05-10 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 异常行为检测方法和装置 |
CN110237530A (zh) * | 2019-06-14 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 异常行为检测方法、装置和可读存储介质 |
CN111265884A (zh) * | 2020-02-25 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 虚拟对象的作弊检测方法、装置、设备及介质 |
CN111359223A (zh) * | 2020-03-19 | 2020-07-03 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN111389013A (zh) * | 2020-03-19 | 2020-07-10 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN113457164A (zh) * | 2021-07-21 | 2021-10-01 | 网易(杭州)网络有限公司 | 虚拟对象异常检测方法和装置、可读存储介质、电子设备 |
CN113474061A (zh) * | 2020-01-24 | 2021-10-01 | 辉达公司 | 使用一个或更多个神经网络进行作弊检测 |
CN115062695A (zh) * | 2022-06-06 | 2022-09-16 | 北京字跳网络技术有限公司 | 一种作弊判断方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080220854A1 (en) * | 2007-03-08 | 2008-09-11 | Timothy Michael Midgley | Method and apparatus for collecting user game play data and crediting users in an online gaming environment |
CN104850604A (zh) * | 2015-05-04 | 2015-08-19 | 华中科技大学 | 一种基于张量的用户轨迹挖掘方法 |
CN106033574A (zh) * | 2015-03-10 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种作弊行为的识别方法及装置 |
CN106815451A (zh) * | 2015-11-27 | 2017-06-09 | 北京全民互动科技有限公司 | 一种基于行为特性模型的网络游戏反外挂的解决方案 |
CN107158707A (zh) * | 2017-04-27 | 2017-09-15 | 浙江大学 | 一种针对MMORPGs游戏的异常检测方法及装置 |
-
2018
- 2018-05-14 CN CN201810455489.XA patent/CN108654091B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080220854A1 (en) * | 2007-03-08 | 2008-09-11 | Timothy Michael Midgley | Method and apparatus for collecting user game play data and crediting users in an online gaming environment |
CN106033574A (zh) * | 2015-03-10 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种作弊行为的识别方法及装置 |
CN104850604A (zh) * | 2015-05-04 | 2015-08-19 | 华中科技大学 | 一种基于张量的用户轨迹挖掘方法 |
CN106815451A (zh) * | 2015-11-27 | 2017-06-09 | 北京全民互动科技有限公司 | 一种基于行为特性模型的网络游戏反外挂的解决方案 |
CN107158707A (zh) * | 2017-04-27 | 2017-09-15 | 浙江大学 | 一种针对MMORPGs游戏的异常检测方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109718556A (zh) * | 2019-01-30 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法、装置及服务器 |
CN109718556B (zh) * | 2019-01-30 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 游戏数据处理方法、装置及服务器 |
CN110075524B (zh) * | 2019-05-10 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 异常行为检测方法和装置 |
CN110075524A (zh) * | 2019-05-10 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 异常行为检测方法和装置 |
CN110237530A (zh) * | 2019-06-14 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 异常行为检测方法、装置和可读存储介质 |
CN113474061A (zh) * | 2020-01-24 | 2021-10-01 | 辉达公司 | 使用一个或更多个神经网络进行作弊检测 |
CN111265884A (zh) * | 2020-02-25 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 虚拟对象的作弊检测方法、装置、设备及介质 |
CN111265884B (zh) * | 2020-02-25 | 2021-10-12 | 腾讯科技(深圳)有限公司 | 虚拟对象的作弊检测方法、装置、设备及介质 |
CN111389013A (zh) * | 2020-03-19 | 2020-07-10 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN111359223A (zh) * | 2020-03-19 | 2020-07-03 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN111359223B (zh) * | 2020-03-19 | 2023-03-31 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN111389013B (zh) * | 2020-03-19 | 2023-08-22 | 网易(杭州)网络有限公司 | 游戏中的自动挂检测方法、装置、设备及存储介质 |
CN113457164A (zh) * | 2021-07-21 | 2021-10-01 | 网易(杭州)网络有限公司 | 虚拟对象异常检测方法和装置、可读存储介质、电子设备 |
CN115062695A (zh) * | 2022-06-06 | 2022-09-16 | 北京字跳网络技术有限公司 | 一种作弊判断方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108654091B (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108654091A (zh) | 用于游戏中作弊校验的方法、介质、装置和计算设备 | |
CN108197532B (zh) | 人脸识别的方法、装置及计算机装置 | |
CN111957047B (zh) | 关卡配置数据调整方法、计算机设备及存储介质 | |
CN110232373A (zh) | 人脸聚类方法、装置、设备和存储介质 | |
US8271252B2 (en) | Automatic verification of device models | |
CN110665233B (zh) | 游戏行为识别方法、装置、设备及介质 | |
CN106663184A (zh) | 人脸数据验证的方法和系统 | |
CN111461168A (zh) | 训练样本扩充方法、装置、电子设备及存储介质 | |
US20220253679A1 (en) | System and Method for Evaluating Defensive Performance using Graph Convolutional Network | |
CN111694937A (zh) | 基于人工智能的面试方法、装置、计算机设备及存储介质 | |
CN110378346A (zh) | 建立文字识别模型的方法、装置、设备和计算机存储介质 | |
CN107766946A (zh) | 生成机器学习样本的组合特征的方法及系统 | |
CN115715385A (zh) | 用于预测体育运动中的队形的系统和方法 | |
WO2022187487A1 (en) | Method and system for generating in-game insights | |
CN110378095A (zh) | 基于验证码的交互验证方法、装置、介质和计算设备 | |
Snodgrass et al. | Procedural level generation using multi-layer level representations with mdmcs | |
CN108549654A (zh) | 一种基于图像处理的大数据分析方法 | |
US10881965B2 (en) | Detecting and identifying unauthorized accounts in online environments | |
CN110533184A (zh) | 一种网络模型的训练方法及装置 | |
CN117235633A (zh) | 机构分类方法、装置、计算机设备及存储介质 | |
CN110585730B (zh) | 游戏的节奏感测试方法、装置以及相关设备 | |
CN112274935A (zh) | Ai模型训练方法、使用方法、计算机设备及存储介质 | |
CN108543313A (zh) | 数据处理方法及装置,介质和计算设备 | |
US11918897B2 (en) | System and method for individual player and team simulation | |
CN109145554A (zh) | 一种基于支持向量机的击键特征异常用户识别方法及系统 |
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 |