A method, device, electronic device and readable storage medium for detecting game cheats

By clustering the touch locations of game operation instructions, using the similarity of touch trajectory of plug-in operation instructions to identify game plug-in, the problem that existing models cannot identify new plug-in types is solved, improving detection accuracy and reducing resource waste.

CN114712861BActive Publication Date: 2025-07-29NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210435738.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-24
Publication Date
2025-07-29
Estimated Expiration
2042-04-24

AI Technical Summary

Technical Problem

The existing game plug-in detection model cannot accurately identify the new plug-in types, resulting in frequent missed detections, and the model training process is complicated, which increases the server computing volume.

Method used

By clustering the touch positions of game operation instructions, using the similarity of touch trajectory of plug-in operation instructions, the stability of clustering results is calculated to identify plug-in operation instructions.

Benefits of technology

It improves the accuracy of game plug-in detection, avoids missed detection of new plug-ins, and reduces the complexity of model training and waste of server resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114712861B_ABST
    Figure CN114712861B_ABST
Patent Text Reader

Abstract

The present application provides a game cheating detection method, device, electronic device and readable storage medium, which obtains the touch positions of the game operation instructions input by each player in a target game stage; clusters a plurality of game operation instructions according to the touch positions of the plurality of game operation instructions to obtain a plurality of clustering results; calculates the stability of each clustering result based on the similarity between the touch trajectories of different game operation instructions in each clustering result; and for each clustering result, determines whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheating according to the stability of the clustering result. In this way, in the process of determining game cheating, the characteristic that the touch trajectories of the operation instructions generated by game cheating have extremely high similarity is considered. Therefore, the identification of game cheating is realized by clustering, and the accuracy of the game cheating detection result can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a method, device, electronic device, and readable storage medium for detecting game cheats. Background Art

[0002] In recent years, with the popularization of mobile Internet and intelligent devices, mobile games have developed rapidly and gradually become the largest and fastest-growing segment in the game industry. However, with the development of mobile games, the fairness issue of mobile games has become increasingly prominent, and the problem of game cheats is the most serious, which harms the interests of game players and game manufacturers. The simulated click type of cheats is the most common cheating method in mobile games. Cheat players can use simulated click tools to achieve game behaviors such as batch hanging up, automatic tasks, automatic resource collection, and automatic reward collection, which have a great negative impact on game fairness and the economic system.

[0003] When playing mobile games, players usually control virtual characters by touching the mobile phone screen; therefore, screen touch data is easy to collect in mobile devices such as mobile phones and tablets, which characterizes the operation behavior of the player's finger on the device screen to control the virtual character during the process of playing mobile games using devices such as mobile phones. Currently, for the inspection of game cheats, it is usually selected to rely on a trained detection model. However, the types of cheats that the detection model can identify are relatively limited, and it can only identify the types of cheats included in the training samples. For newly added types of cheats, the detection model cannot accurately identify them, resulting in missed identification. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a method, device, electronic device, and readable storage medium for detecting game cheats, which can identify the behavior of game cheats in the game by clustering multiple game operation instructions, so that the identifiable game cheats are no longer limited by the types of game cheats included in the training samples, and helps to improve the accuracy of the identification result of game cheat behavior.

[0005] The embodiment of this application provides a method for detecting game cheats, and the method for detecting game cheats includes:

[0006] Obtain the touch position of each game operation instruction input by each player in the target game stage; the game operation instruction is used to control the virtual character;

[0007] Cluster multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results;

[0008] For each clustering result, calculate the stability of the clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result;

[0009] For each clustering result, determine whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result.

[0010] In a possible implementation manner, the clustering of multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results includes:

[0011] Based on the touch position of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions;

[0012] Cluster the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of the different game operation instructions.

[0013] In a possible implementation manner, the touch position includes multiple touch coordinates, and the determining the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions based on the touch position of each game operation instruction includes:

[0014] For each game operation instruction, determine an information entropy encoding vector representing the trajectory law of the touch trajectory of the game operation instruction by performing information entropy encoding on the multiple touch coordinates of the game operation instruction;

[0015] Based on the information entropy encoding vectors of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions.

[0016] In a possible implementation manner, the determining the similarity between the touch trajectories of different game operation instructions based on the information entropy encoding vectors of each game operation instruction includes:

[0017] Determine multiple clustering center instructions from the multiple game operation instructions;

[0018] For each game operation instruction, determine the similarity between the game operation instruction and each clustering center instruction based on the information entropy encoding vector of the game operation instruction and the information entropy encoding vectors of each clustering center instruction.

[0019] In a possible implementation manner, the determining multiple clustering center instructions from the multiple game operation instructions includes:

[0020] Determine multiple clustering center instructions from the multiple game operation instructions based on the information entropy encoding vectors of each game operation instruction; or,

[0021] Randomly determine multiple clustering center instructions from the multiple game operation instructions.

[0022] In a possible implementation, for each game operation instruction, by performing information entropy encoding on multiple touch coordinates of the game operation instruction, an information entropy encoding vector representing the trajectory pattern of the touch trajectory of the game operation instruction is determined, including:

[0023] For each game operation instruction, a preset number of touch points are selected from the touch trajectory of the game operation instruction, and the position coordinates of each touch point relative to the touch screen are determined as the touch coordinates of the game operation instruction;

[0024] Based on the multiple touch coordinates of the game operation instruction, the coordinate area involved in the game operation instruction is determined; wherein, the multiple touch coordinates are all located within the coordinate area; the coordinate area includes multiple sub-areas;

[0025] For each sub-area, based on the touch coordinates included in the sub-area, the information entropy of the sub-area is determined; wherein, the information entropy represents the trajectory pattern of the touch trajectory located in the sub-area;

[0026] Based on the information entropy of each sub-area in the coordinate area, an information entropy encoding vector representing the trajectory pattern of the touch trajectory of the game operation instruction is determined.

[0027] In a possible implementation, the determining of the coordinate plane involved in the game operation instruction based on the multiple touch coordinates of the game operation instruction includes:

[0028] The maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate are determined from the multiple touch coordinates;

[0029] According to the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate, the coordinate area involved in the game operation instruction is constructed so that the multiple touch coordinates are all located within the coordinate area;

[0030] The X-axis and Y-axis of the coordinate area are equally spaced divided to divide the coordinate area into multiple sub-areas.

[0031] In a possible implementation, the determining of the information entropy of each sub-area based on the touch coordinates included in the sub-area includes:

[0032] For each sub-area, the sub-area is divided into multiple divided areas according to a preset number of discrete bins;

[0033] For each divided area, determine the touch probability of the divided area based on the number of touch coordinates falling into the divided area and the number of touch coordinates included in the sub-area;

[0034] Based on the touch probability of each divided area, determine the information entropy of the sub-area.

[0035] In a possible implementation manner, determine the similarity between the touch trajectories of different game operation instructions through the following steps:

[0036] For any two game operation instructions among the multiple game operation instructions, calculate the Euclidean distance between the information entropy coding vectors of the any two game operation instructions;

[0037] Based on the Euclidean distance, determine the similarity between the touch trajectories of the any two game operation instructions. In a possible implementation manner, clustering the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of the different game operation instructions, including:

[0038] For each game operation instruction, determine the target clustering center instruction with the highest similarity to the game operation instruction according to the similarity between the game operation instruction and each clustering center instruction;

[0039] Cluster the game operation instruction into the clustering result corresponding to the target clustering center instruction.

[0040] In a possible implementation manner, for each clustering result, calculate the stability of the clustering result based on the similarity between the touch trajectories of different game operation behaviors in the clustering result, including:

[0041] For each clustering result, determine the stability of the clustering result based on the average value of the similarity between the touch trajectories of different game operation behaviors in the clustering result; or,

[0042] For each clustering result, determine the stability of the clustering result based on the standard deviation of the similarity between the touch trajectories of different game operation behaviors in the clustering result.

[0043] In a possible implementation manner, for each clustering result, determine whether the game operation instructions in the clustering result are cheat operation instructions generated by game cheats according to the stability of the clustering result, including:

[0044] For each clustering result, when the stability of the clustering result is greater than or equal to a preset stability threshold, determine that the game operation instructions in the clustering result are cheat operation instructions generated by game cheats;

[0045] Otherwise, determine that the game operation instructions in the clustering result are not cheat operation instructions generated by a game cheat.

[0046] In a possible implementation manner, for each clustering result, determining whether the game operation instructions in the clustering result are cheat operation instructions generated by a game cheat according to the stability of the clustering result includes:

[0047] According to the stability of each clustering result, sort the multiple clustering results in descending order to determine the ranking order of each clustering result;

[0048] For each clustering result, when the ranking order of the clustering result is among the top preset positions, determine that the game operation instructions in the clustering result are cheat operation instructions generated by a game cheat;

[0049] Otherwise, determine that the game operation instructions in the clustering result are not cheat operation instructions generated by a game cheat.

[0050] In a possible implementation manner, the game cheat detection method further includes:

[0051] For each cheat operation instruction, determine the game account to which the cheat operation instruction belongs;

[0052] Count the number of cheats of each game account that generate cheat operation instructions within a preset statistical time period;

[0053] For each game account, determine the punishment measure for the game account according to the number of cheats of the game account within the preset statistical time period.

[0054] An embodiment of the present application further provides a game cheat detection device, and the game cheat detection device includes:

[0055] A position acquisition module, configured to acquire the touch position of each game operation instruction input by each player in a target game stage; the game operation instruction is used to control a virtual character;

[0056] An instruction clustering module, configured to cluster multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results;

[0057] A stability determination module, configured to calculate the stability of each clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result for each clustering result;

[0058] A cheat recognition module, configured to determine whether the game operation instructions in the clustering result are cheat operation instructions generated by a game cheat according to the stability of the clustering result for each clustering result.

[0059] In a possible implementation, when the instruction clustering module is used to cluster multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results, the instruction clustering module is used to:

[0060] Based on the touch position of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions;

[0061] Based on the similarity between the touch trajectories of different game operation instructions, cluster the multiple game operation instructions into multiple clustering results.

[0062] In a possible implementation, the touch position includes multiple touch coordinates. When the instruction clustering module is used to determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions based on the touch position of each game operation instruction, the instruction clustering module is used to:

[0063] For each game operation instruction, determine an information entropy encoding vector representing the trajectory law of the touch trajectory of the game operation instruction by performing information entropy encoding on the multiple touch coordinates of the game operation instruction;

[0064] Based on the information entropy encoding vector of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions.

[0065] In a possible implementation, when the instruction clustering module is used to determine the similarity between the touch trajectories of different game operation instructions based on the information entropy encoding vector of each game operation instruction, the instruction clustering module is used to:

[0066] Determine multiple clustering center instructions from the multiple game operation instructions;

[0067] For each game operation instruction, determine the similarity between the game operation instruction and each clustering center instruction based on the information entropy encoding vector of the game operation instruction and the information entropy encoding vector of each clustering center instruction.

[0068] In a possible implementation, when the instruction clustering module is used to determine multiple clustering center instructions from the multiple game operation instructions, the instruction clustering module is used to:

[0069] Based on the information entropy encoding vector of each game operation instruction, determine multiple clustering center instructions from the multiple game operation instructions; or,

[0070] Randomly determine multiple clustering center instructions from the multiple game operation instructions.

[0071] In a possible implementation, when the instruction clustering module is used to determine, for each game operation instruction, an information entropy coding vector representing the trajectory pattern of the touch trajectory of the game operation instruction by performing information entropy coding on multiple touch coordinates of the game operation instruction, the instruction clustering module is used to:

[0072] For each game operation instruction, select a preset number of touch points from the touch trajectory of the game operation instruction, and determine the position coordinates of each touch point relative to the touch screen as the touch coordinates of the game operation instruction;

[0073] Based on the multiple touch coordinates of the game operation instruction, determine the coordinate area involved in the game operation instruction; wherein, the multiple touch coordinates are all within the coordinate area; the coordinate area includes multiple sub-areas;

[0074] For each sub-area, based on the touch coordinates included in the sub-area, determine the information entropy of the sub-area; wherein, the information entropy represents the trajectory pattern of the touch trajectory located in the sub-area;

[0075] Based on the information entropy of each sub-area in the coordinate area, determine an information entropy coding vector representing the trajectory pattern of the touch trajectory of the game operation instruction.

[0076] In a possible implementation, when the instruction clustering module is used to determine the coordinate area involved in the game operation instruction based on the multiple touch coordinates of the game operation instruction, the instruction clustering module is used to:

[0077] Determine the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate from the multiple touch coordinates;

[0078] Construct the coordinate area involved in the game operation instruction according to the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate, so that the multiple touch coordinates are all within the coordinate area;

[0079] Equidistantly divide the X-axis and Y-axis of the coordinate area to divide the coordinate area into multiple sub-areas.

[0080] In a possible implementation, when the instruction clustering module is used to determine the information entropy of each sub-area based on the touch coordinates included in the sub-area, the instruction clustering module is used to:

[0081] For each sub-area, divide the sub-area into multiple divided areas according to a preset number of discretized bins;

[0082] For each divided area, determine the touch probability of the divided area based on the number of touch coordinates falling into the divided area and the number of touch coordinates included in the sub - area;

[0083] Based on the touch probabilities of each divided area, determine the information entropy of the sub - area.

[0084] In a possible implementation manner, the instruction clustering module is used to determine the similarity between the touch trajectories of different game operation instructions through the following steps:

[0085] For any two game operation instructions among the multiple game operation instructions, calculate the Euclidean distance between the information entropy coding vectors of the two game operation instructions;

[0086] Based on the Euclidean distance, determine the similarity between the touch trajectories of the two game operation instructions.

[0087] In a possible implementation manner, when the instruction clustering module is used to cluster the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of different game operation instructions, the instruction clustering module is used for:

[0088] For each game operation instruction, determine the target clustering center instruction with the highest similarity to the game operation instruction according to the similarity between the game operation instruction and each clustering center instruction;

[0089] Cluster the game operation instruction into the clustering result corresponding to the target clustering center instruction.

[0090] In a possible implementation manner, when the stability determination module is used to calculate the stability of each clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result, the stability determination module is used for:

[0091] For each clustering result, determine the stability of the clustering result based on the average value of the similarities between the touch trajectories of different game operation behaviors in the clustering result; or,

[0092] For each clustering result, determine the stability of the clustering result based on the standard deviation of the similarities between the touch trajectories of different game operation behaviors in the clustering result.

[0093] In a possible implementation manner, when the cheating identification module is used to determine whether the game operation instructions in each clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result, the cheating identification module is used for:

[0094] For each clustering result, when the stability of the clustering result is greater than or equal to a preset stability threshold, it is determined that the game operation instructions in the clustering result are cheating operation instructions generated by a game cheat;

[0095] Otherwise, it is determined that the game operation instructions in the clustering result are not cheating operation instructions generated by a game cheat.

[0096] In a possible implementation, when the cheat recognition module is used to determine whether the game operation instructions in each clustering result are cheating operation instructions generated by a game cheat according to the stability of the clustering result, the cheat recognition module is used to:

[0097] Arrange the multiple clustering results in descending order according to the stability of each clustering result, and determine the ranking order of each clustering result;

[0098] For each clustering result, when the ranking order of the clustering result is among the top preset positions, it is determined that the game operation instructions in the clustering result are cheating operation instructions generated by a game cheat;

[0099] Otherwise, it is determined that the game operation instructions in the clustering result are not cheating operation instructions generated by a game cheat.

[0100] In a possible implementation, the game cheat detection device further includes a statistics module, and the statistics module is used to:

[0101] For each cheating operation instruction, determine the game account to which the cheating operation instruction belongs;

[0102] Statistically count the number of cheats of each game account that generate cheating operation instructions within a preset statistical time period;

[0103] For each game account, determine the punishment measure for the game account according to the number of cheats of the game account within the preset statistical time period.

[0104] An embodiment of the present application further provides an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the memory through the bus. When the machine-readable instructions are executed by the processor, the steps of the game cheat detection method as described above are executed.

[0105] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, the steps of the game cheat detection method as described above are executed.

[0106] The game cheating detection method, device, electronic device and readable storage medium provided by the embodiments of the present application obtain the touch positions of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control virtual characters; according to the touch positions of multiple game operation instructions, the multiple game operation instructions are clustered to obtain multiple clustering results; for each clustering result, based on the similarity between the touch trajectories of different game operation instructions in the clustering result, the stability of the clustering result is calculated; for each clustering result, according to the stability of the clustering result, it is determined whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats. In this way, in the process of determining game cheats, the group characteristics of game cheating behaviors are considered, that is, the touch trajectories of the operation instructions generated by game cheats are highly similar. Therefore, the identification of game cheats is realized by clustering, and the accuracy of game cheating detection results can be improved.

[0107] To make the above objects, features and advantages of the present application more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, makes the following detailed description. <{ BRIEF DESCRIPTION OF THE DRAWINGS

[0108] To more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the accompanying drawings required in the embodiments. It should be understood that the following drawings only show some embodiments of the present application, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, without creative efforts, other related drawings can also be obtained based on these drawings.

[0109] Figure 1 It is a flowchart of a game cheating detection method provided by an embodiment of the present application;

[0110] Figure 2 It is a schematic diagram of a clustering process provided by an embodiment of the present application; }

[0111] Figure 3 It is a schematic structural diagram of a game cheating detection device provided by an embodiment of the present application;

[0112] Figure 4 It is a schematic structural diagram of another game cheating detection device provided by an embodiment of the present application;

[0113] Figure 5 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0114] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only a part rather than all of the embodiments of this application. Components of the embodiments of this application usually described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. Based on the embodiments of this application, every other embodiment obtained by those skilled in the art without creative efforts falls within the scope of protection of this application.

[0115] Through research, it is found that currently, for the inspection of game cheats, it is usually chosen to rely on a trained detection model. The detection model needs to be trained through samples in the training sample set, that is, the detection model can, through the training process, learn the ability to identify the types of game cheats possessed by the samples. Since the number of samples in the training sample set is limited, the types of game cheats that the detection model can identify are limited. It can only identify the types of game cheats possessed by the samples in the training sample set. For game cheat types that do not exist in the samples of the training sample set or newly added game cheat types, the detection model cannot accurately identify them, and it is relatively easy to miss the identification. Therefore, in order to avoid the detection model from missing detections, it is necessary to frequently update and train the detection model. However, the model training process is very complex and requires a large amount of sample data to train the model. Therefore, the collection of training samples and the model training process both increase the computational load of the server, resulting in a waste of server resources.

[0116] Based on this, the embodiments of this application provide a game cheat detection method. By leveraging the high similarity of game cheat behaviors, it identifies game cheat behaviors in the game by clustering multiple game operation instructions, thereby improving the accuracy of the game cheat behavior recognition result.

[0117] Please refer to Figure 1 , Figure 1 which is a flowchart of a game cheat detection method provided by the embodiments of this application. As Figure 1 shown in it, the game cheat detection method provided by the embodiments of this application includes:

[0118] S101. Obtain the touch positions of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control virtual characters.

[0119] S102. Cluster multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results.

[0120] S103. For each clustering result, calculate the stability of the clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result.

[0121] S104. For each clustering result, determine whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result.

[0122] A game cheat detection method provided by an embodiment of the present application, by virtue of the group similarity characteristics of the touch trajectories of game operation instructions generated by game cheats, clusters the obtained multiple game operation instructions into multiple clustering results according to the touch positions of the game operation instructions input by each player to control the virtual character in the target game stage; and determines whether the game operation instructions in each clustering result are cheating operation instructions generated by game cheats according to the stability of each clustering result; here, in the process of determining game cheats, the group characteristics of game cheat behaviors are considered, that is, the touch trajectories of operation instructions generated by game cheats have extremely high similarity. In this way, the identification of game cheats is realized through clustering, which can improve the accuracy of game cheat detection results; at the same time, compared with the detection of game cheat behaviors by supervised methods such as models, it is possible to detect game cheats without explicit labeled samples, and it is not limited to known types of game cheats, better coping with new game cheats, and helping to avoid the situation of missing the detection of new game cheats and the occurrence of undetected cheat behaviors.

[0123] Compared with the touch trajectories generated by the game operation instructions applied by a normal player when independently controlling the virtual character, the touch trajectories of the game operation instructions generated by game cheats have high similarity and significant group characteristics, that is, the touch trajectories of the game operation instructions generated by the same game cheat in the same target game stage have extremely high similarity. Therefore, when determining whether there are cheating operation instructions generated by game cheats in multiple game operation instructions, this group characteristic can be utilized to determine the cheating operation instructions generated by game cheats through clustering.

[0124] Here, the target game stage can be determined in any way:

[0125] Method 1. Roughly screen out the game stages in which players may use game cheats through a screening model; specifically, a screening model can be pre-trained, and the screening model can screen out the target game stages with operation instructions generated by game cheats from the game according to the game data of each player obtained.

[0126] Method 2: Determine the game stage in which the player may have used game cheats based on the reported information. Specifically, when receiving the player's reported information, the target game stage to which the time information belongs can be determined based on the time information such as the reporting time carried in the reported information, the generation time of the reported information, and the cheating time indicated by the reported information.

[0127] A game operation instruction refers to the operation instruction issued by a player when controlling a virtual character during the game. At the same time, the game operation instruction also represents the player's game operation behavior when controlling the virtual character.

[0128] In step S101, obtain the touch position when each player touches the screen to generate a game operation instruction for controlling a virtual character in the target game stage of the game.

[0129] Here, the game operation instruction is used to control the virtual character, that is, the virtual character can perform corresponding game behaviors in the virtual scene according to the game operation instruction. For example, the virtual character moves, battles, and communicates in the virtual scene according to the game operation instruction.

[0130] Since there is a very high similarity between the touch trajectories of the game operation instructions generated by game cheats, in step S102, the obtained multiple game operation instructions can be clustered according to the touch positions of the game operation instructions to obtain multiple clustering results. Among them, for a clustering result, the touch trajectories of the multiple game operation instructions included therein have a relatively high similarity; while for different clustering results, the similarity between different clustering results is relatively low.

[0131] In one implementation, please refer to Figure 2 , Figure 2 which is a schematic diagram of a clustering process provided by an embodiment of the present application. As Figure 2 shown, step S102 includes: S1021. Determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions based on the touch position of each game operation instruction; S1022. Cluster the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of the different game operation instructions.

[0132] In step S1021, first determine the touch trajectory of each game operation instruction according to the touch position on the screen when each game operation instruction is input; then determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions.

[0133] When determining the similarity between touch trajectories for game operation instructions based on touch positions, specifically, the similarity between touch trajectories of different game operation instructions can be determined through the touch coordinates of the touch positions.

[0134] In one implementation, the touch position includes multiple touch coordinates, and step S1021 includes: for each game operation instruction, by performing information entropy encoding on the multiple touch coordinates of the game operation instruction, determining an information entropy encoding vector that represents the trajectory pattern of the touch trajectory of the game operation instruction; based on the information entropy encoding vectors of each game operation instruction, determining the similarity between the touch trajectories of different game operation instructions.

[0135] In this step, for each obtained game operation instruction, the multiple touch coordinates included in the touch position of the game operation instruction can be used to perform information entropy encoding to determine an information entropy encoding vector that can represent the trajectory pattern of the touch trajectory of the game operation instruction; furthermore, the similarity between the touch trajectories of different game operation instructions can be calculated through the information entropy encoding of different game operation instructions.

[0136] Here, the trajectory pattern indicates the change situation of the touch trajectory generated on the touch screen when inputting the game operation instruction, that is, the degree of chaos of the touch trajectory.

[0137] In one implementation, for each game operation instruction, by performing information entropy encoding on the multiple touch coordinates of the game operation instruction to determine an information entropy encoding vector that represents the trajectory pattern of the touch trajectory of the game operation instruction, includes:

[0138] Step 1: For each game operation instruction, select a preset number of touch points from the touch trajectory of the game operation instruction, and determine the position coordinates of each touch point relative to the touch screen as the touch coordinates of the game operation instruction.

[0139] The touch trajectory drawn by the player to control the virtual character on the touch screen is continuous. However, when determining the trajectory pattern of the touch trajectory, it is necessary to use the touch coordinates of the touch points in the touch trajectory to determine, through calculation, an information entropy encoding vector that represents the trajectory pattern of the touch trajectory of the game operation instruction. Therefore, it is necessary to select touch points from the touch trajectory that can represent the touch trajectory.

[0140] In this step, for each game operation instruction, select a preset number of touch points from the touch trajectory of the game operation instruction, and determine the position coordinates of the touch points relative to the touch screen as the touch coordinates of the game operation instruction. Furthermore, multiple touch coordinates of the game operation instruction are obtained.

[0141] Among them, for the selection of touch points, multiple touch points can be selected from the touch trajectory at a preset time interval or selection frequency; alternatively, multiple touch points can also be randomly selected from the touch trajectory according to a preset quantity; or, touch points located at a preset selection position can be selected from the touch trajectory; it should be noted that the selection method can be set according to the actual situation and is not limited here.

[0142] Step 2: Based on the multiple touch coordinates of the game operation instruction, determine the coordinate area involved in the game operation instruction.

[0143] In order to make the information entropy coding vector obtained to represent the trajectory law of the touch trajectory of the game operation instruction better correspond to the touch trajectory of the game operation instruction, this application uses the calculation idea of "entropy convolution" to perform information entropy coding on the multiple touch coordinates of the game operation instruction.

[0144] In this step, first, according to the idea of "entropy convolution", it is necessary to determine the coordinate area involved in the touch trajectory of the game operation instruction from the touch screen; specifically, a coordinate area including all touch coordinates can be constructed according to the touch coordinates of the game operation instruction; second, according to the idea of "entropy convolution", the coordinate area is evenly divided into multiple sub-areas; specifically, an equal division method can be adopted to divide the coordinate area so that the area of each sub-area obtained by the division is equal.

[0145] Here, in some cases, for example, when releasing a skill by touching a skill release button, at this time, since the skill release button is located in the lower right corner of the screen, the generated touch trajectory will not cover the entire screen. In fact, there is a touch trajectory only in 1 / 4 of the screen area, and the remaining 3 / 4 of the screen area is blank. Then, there is no information entropy in this 3 / 4 of the screen area, and the obtained information entropy coding vector is very sparse. If the entire screen is subjected to information entropy coding at this time, there may be two problems. One is that it increases the computational amount of calculating unnecessary areas; the other is that the relatively sparse information entropy coding vector cannot accurately express the touch trajectory.

[0146] In one implementation manner, Step 2 includes: determining the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate from the multiple touch coordinates; constructing the coordinate plane involved in the game operation instruction according to the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate, so that the multiple touch coordinates are all located within the coordinate plane; equally dividing the X-axis and Y-axis of the coordinate plane to divide the coordinate plane into multiple sub-areas.

[0147] Here, each touch coordinate includes an X-axis coordinate and a Y-axis coordinate.

[0148] In this step, from multiple touch coordinates of a game operation instruction, the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate are determined; and based on the above four coordinates, a coordinate area involved in the game operation instruction is constructed. To ensure that all touch coordinates of the game operation instruction can be located within the constructed coordinate area, the maximum X-axis coordinate of the coordinate area should be greater than the maximum X-axis coordinate determined from the multiple touch coordinates, the minimum X-axis coordinate of the coordinate area should be less than the minimum X-axis coordinate determined from the multiple touch coordinates, the maximum Y-axis coordinate of the coordinate area should be greater than the maximum Y-axis coordinate determined from the multiple touch coordinates, and the minimum Y-axis coordinate of the coordinate area should be less than the minimum Y-axis coordinate determined from the multiple touch coordinates.

[0149] For the constructed coordinate area, in order to ensure that the areas of the sub-areas included in the coordinate area are equal, an equidistant division method is used to divide the X-axis and Y-axis of the coordinate plane at equal distances respectively, so that the divided sub-areas have the same length and width. Furthermore, the areas of each sub-area are equal.

[0150] Step 3: For each sub-area, based on the touch coordinates included in the sub-area, determine the information entropy of the sub-area; wherein, the information entropy characterizes the trajectory pattern of the touch trajectory located in the sub-area.

[0151] In this step, traverse the obtained touch coordinates, map each touch coordinate to the corresponding sub-area within the coordinate area, and ensure that each touch coordinate is only located in a unique sub-area; for each divided sub-area, calculate the information entropy that characterizes the trajectory pattern of the touch trajectory located in the sub-area according to the touch coordinates falling into the sub-area.

[0152] In one implementation manner, step 3 includes: for each sub-area, divide the sub-area into multiple divided areas according to a preset discretized bin number; for each divided area, based on the number of touch coordinates falling into the divided area and the number of touch coordinates included in the sub-area, determine the touch probability of the divided area; based on the touch probability of each divided area, determine the information entropy of the sub-area.

[0153] In this step, for each sub-area, in order to further discretize the touch trajectory falling into each sub-area, by means of the "entropy convolution" idea, a preset discretized bin number suitable for dividing each sub-area is defined. The preset discretized bin number includes the X-axis bin number and the Y-axis bin number. Thus, using the X-axis bin number and the Y-axis bin number, the sub-area division is further divided into multiple divided areas;

[0154] For each divided area in the sub-area, based on the number of touch coordinates falling into the divided area and the total number of touch coordinates included in the sub-area, calculate the touch probability of the divided area being touched.

[0155] Specifically, the touch probability of the divided area is calculated by the following formula:

[0156] P i = C i / ∑ i∈I C i ;

[0157] Among them, P i represents the touch probability of the i-th divided area, C i represents the number of touch coordinates included in the i-th divided area, and ∑ i∈I C i represents the total number of touch coordinates included in the sub-area to which the divided area belongs.

[0158] Here, the number of touch coordinates can be understood as the number of times the divided area is touched. Therefore, when calculating the touch probability of the divided area, it can be calculated based on the number of touch coordinates.

[0159] On this basis, based on the touch probabilities of each divided area in the sub-area, calculate the information entropy of the sub-area.

[0160] Specifically, the information entropy of the sub-area is calculated by the following formula:

[0161]

[0162] Among them, H a represents the information entropy of the a-th sub-area, P i represents the touch probability of the i-th divided area in the a-th sub-area, and n represents the number of divided areas in the sub-area.

[0163] Step 4: Based on the information entropy of each sub-area in the coordinate area, determine the information entropy coding vector that characterizes the trajectory law of the touch trajectory of the game operation instruction.

[0164] In this step, after calculating the information entropy of each sub-area in the coordinate area involved in each game operation instruction, the information entropy of each sub-area can be spliced in a preset order to obtain the information entropy coding vector that characterizes the trajectory law of the touch trajectory of the game operation instruction.

[0165] Here, the preset order can be the position of the information entropy of each sub-area in the information entropy coding vector set in advance. Specifically, it can be determined according to the position of each sub-area in the coordinate area, and no limitation is made here.

[0166] Since the calculated information entropy coding vector has a large dimension and sparse values, directly using it as the feature input for the clustering algorithm makes the clustering calculation process complex and inefficient. Therefore, a UMAP (Uniform Manifold Approximation and Projection) dimensionality reduction technique can be used to reduce the dimension of the information entropy coding vector, so that the final dimension of the information entropy coding vector is below 50 dimensions, which helps to improve the efficiency of the clustering process.

[0167] In one implementation, determining the similarity between the touch trajectories of different game operation instructions based on the information entropy coding vector of each game operation instruction includes: determining a plurality of clustering center instructions from the plurality of game operation instructions; for each game operation instruction, determining the similarity between the game operation instruction and each clustering center instruction based on the information entropy coding vector of the game operation instruction and the information entropy coding vector of each clustering center instruction.

[0168] In this step, a plurality of clustering center instructions for clustering the plurality of game operation instructions are determined from the plurality of game operation instructions; here, the clustering center instruction refers to when clustering the plurality of game operation instructions, using the clustering center instruction as a standard, clustering the game operation instructions similar to the clustering center instruction with the clustering center instruction into a clustering result.

[0169] During clustering, for each game operation instruction, the similarity between the game operation instruction and each clustering center instruction can be determined based on the information entropy coding vector of the game operation instruction and the information entropy coding vector of each clustering center instruction.

[0170] In one implementation, determining a plurality of clustering center instructions from the plurality of game operation instructions includes: determining a plurality of clustering center instructions from the plurality of game operation instructions based on the information entropy coding vector of each game operation instruction.

[0171] In this step, when determining the clustering center instructions, the information entropy coding vectors of each game operation instruction can be comprehensively considered to determine multiple clustering center instructions suitable for clustering multiple game operation instructions. Specifically, it can be determined by calculating the mean of the information entropy coding vectors of multiple game operation instructions. For example, the mean between elements at each corresponding position in the information entropy coding vectors of multiple game operation instructions is determined. Then, the game instruction represented by the obtained information entropy coding mean vector is determined as the clustering center instruction. Or, it can be determined by calculating the standard deviation of the information entropy coding vectors of multiple game operation instructions. For example, the standard deviation between elements at each corresponding position in the information entropy coding vectors of multiple game operation instructions is determined. Then, the game instruction represented by the obtained information entropy coding standard deviation vector is determined as the clustering center instruction. Or, it can be determined by calculating the variance of the information entropy coding vectors of multiple game operation instructions. For example, the variance between elements at each corresponding position in the information entropy coding vectors of multiple game operation instructions is determined. Then, the game instruction represented by the obtained information entropy coding variance vector is determined as the clustering center instruction.

[0172] In another implementation manner, determining multiple clustering center instructions from the multiple game operation instructions includes: randomly determining multiple clustering center instructions from the multiple game operation instructions.

[0173] In this step, for the obtained multiple game operation instructions, several game operation instructions can be randomly selected as the clustering center instructions. Exemplarily, 5 game operation instructions are obtained, namely game operation instruction 1, game operation instruction 2, game operation instruction 3, game operation instruction 4, and game operation instruction 5. According to the actual situation, two clustering center instructions need to be determined. At this time, game operation instruction 2 and game operation instruction 5 can be determined as the clustering center instructions. Or, game operation instruction 1 and game operation instruction 4 can be determined as the clustering center instructions.

[0174] In step S1022, after determining the similarity between different game operation instructions among the multiple game operation instructions, clustering of the multiple game operation instructions can be achieved based on the similarity between different game operation instructions. For example, based on the similarity between different game operation instructions, multiple relatively similar game operation instructions are clustered into one clustering result. In this way, the multiple game operation instructions are clustered into multiple clustering results.

[0175] Here, the clustering result is actually a clustering cluster. The touch trajectories of game operation instructions in the same clustering result are relatively similar, while the touch trajectories of game operation instructions in different clustering results are relatively dissimilar.

[0176] The stability can characterize the overall similarity degree of all game operation instructions in the clustering result.

[0177] In one implementation, step S1022 includes: for each game operation instruction, determine the target clustering center instruction with the highest similarity to the game operation instruction according to the similarity between the game operation instruction and each clustering center instruction; cluster the game operation instruction into the clustering result corresponding to the target clustering center instruction.

[0178] In this step, for each obtained game operation instruction, according to the similarity between the game operation instruction and each clustering center instruction, the clustering of the game operation instruction is realized, and the clustering result to which the game operation instruction belongs is determined; specifically, according to the similarity between the game operation instruction and each clustering center instruction, the target clustering center instruction with the highest similarity to the game operation instruction is determined; the game operation instruction is clustered into the clustering result corresponding to the target clustering center instruction; thus, the clustering of each game operation instruction is realized, and multiple clustering results are obtained.

[0179] Exemplarily, 5 game operation instructions are obtained, namely game operation instruction 1, game operation instruction 2, game operation instruction 3, game operation instruction 4, and game operation instruction 5; here, it is assumed that game operation instruction 1 and game operation instruction 4 are determined as clustering center instructions, and the similarities between game operation instruction 2, game operation instruction 3, and game operation instruction 5 and game operation instruction 1 are respectively determined; and the similarities between game operation instruction 2, game operation instruction 3, and game operation instruction 5 and game operation instruction 4 are respectively determined; for game operation instruction 2, the similarity between game operation instruction 2 and game operation instruction 1 is greater than the similarity between game operation instruction 2 and game operation instruction 4; therefore, game operation instruction 1 is the target clustering center instruction of game operation instruction 2, and game operation instruction 1 and game operation instruction 2 can be clustered into the same clustering result; thus, game operation instruction 1, game operation instruction 2, game operation instruction 3, game operation instruction 4, and game operation instruction 5 can be respectively clustered to obtain multiple clustering results.

[0180] In step S103, for each clustering result, based on the similarity between the touch trajectories of different game operation instructions in the clustering result, the stability of the clustering result can be calculated.

[0181] In one implementation, step S103 includes: for each clustering result, determine the stability of the clustering result based on the average value of the similarities between the touch trajectories of different game operation behaviors in the clustering result.

[0182] In this step, based on the information entropy coding vectors of each game operation instruction in the clustering result, the first similarity between every two game operation instructions in the clustering result can be calculated, and multiple first similarities used to calculate the stability of the clustering result can be determined; furthermore, by obtaining the average value of the multiple first similarities, the stability of the clustering can be determined.

[0183] It is also possible to calculate the second similarity between the clustering center instruction of the clustering result and other operation instructions except the clustering center instruction in the clustering result based on the information entropy coding vectors of each game operation instruction in the clustering result, and determine multiple second similarities used to calculate the stability of the clustering result; furthermore, by obtaining the average value of the multiple second similarities, the stability of the clustering can be determined.

[0184] Or,

[0185] For each clustering result, based on the standard deviation of the similarities between the touch trajectories of different game operation behaviors in the clustering result, the stability of the clustering result can be determined.

[0186] In this step, based on the information entropy coding vectors of each game operation instruction in the clustering result, the first similarity between every two game operation instructions in the clustering result can be calculated, and multiple first similarities used to calculate the stability of the clustering result can be determined; furthermore, by obtaining the standard deviation of the multiple first similarities, the stability of the clustering can be determined.

[0187] It is also possible to calculate the second similarity between the clustering center instruction of the clustering result and other operation instructions except the clustering center instruction in the clustering result based on the information entropy coding vectors of each game operation instruction in the clustering result, and determine multiple second similarities used to calculate the stability of the clustering result; furthermore, by obtaining the standard deviation of the multiple second similarities, the stability of the clustering can be determined.

[0188] Here, whether it is the average value of the similarities between the touch trajectories of different game operation behaviors or the standard deviation of the similarities between the touch trajectories of different game operation behaviors that is calculated, it is mainly used to measure the "purity" between the touch trajectories of different game operation behaviors, that is, the "similarity degree" between the touch trajectories of different game operation behaviors, and essentially it describes whether the touch trajectories of different game operation behaviors are similar enough.

[0189] In one implementation, the similarity between the touch trajectories of different game operation instructions is determined through the following steps: For any two game operation instructions among the multiple game operation instructions, calculate the Euclidean distance between the information entropy coding vectors of the any two game operation instructions; based on the Euclidean distance, determine the similarity between the touch trajectories of the any two game operation instructions.

[0190] In this step, when calculating the similarity between the touch trajectories of different game operation instructions, the Euclidean distance between the information entropy coding vectors of the two game operation instructions can be determined as the similarity between the two game operation instructions; specifically, any two game operation instructions are selected from multiple game operation instructions, and the Euclidean distance between the information entropy coding vectors of the any two game operation instructions is calculated; and the Euclidean distance is determined as the similarity between the touch trajectories of the any two game operation instructions.

[0191] In step S104, after determining the stability of each clustering result, it is possible to determine whether the game operation instructions included in the clustering result are operation instructions generated by a game plug-in based on the stability of each clustering result. Then, taking advantage of the fact that the touch tracks of the game operation instructions generated by the game plug-in are group-like, the plug-in operation instructions generated by the game plug-in are determined from multiple game operation instructions.

[0192] In one embodiment, step S104 includes: for each clustering result, when the stability of the clustering result is greater than or equal to a preset stability threshold, determining that the game operation instructions in the clustering result are plug-in operation instructions generated by the game plug-in; otherwise, determining that the game operation instructions in the clustering result are not plug-in operation instructions generated by the game plug-in.

[0193] In this step, the stability of each clustering result can be compared with a preset stability threshold. When the stability of the clustering result is greater than or equal to the preset stability threshold, it can be considered that the touch trajectories of the game operation instructions included in the clustering result are very similar, and only the touch trajectories of the game operation instructions generated by the game plug-in can achieve such a similarity. Therefore, it can be considered that the game operation instructions in the clustering result are plug-in operation instructions generated by the game plug-in; otherwise, it is determined that the game operation instructions in the clustering result are not plug-in operation instructions generated by the game plug-in.

[0194] In another embodiment, step S104 includes: arranging the multiple clustering results in descending order according to the stability of each clustering result, and determining the ranking order of each clustering result; for each clustering result, when the ranking order of the clustering result is at a preset position, determining that the game operation instruction in the clustering result is a plug-in operation instruction generated by a game plug-in; otherwise, determining that the game operation instruction in the clustering result is not a plug-in operation instruction generated by a game plug-in.

[0195] In this step, first, according to the stability of each clustering result, the multiple clustering results obtained by clustering can be sorted in descending order to determine the ranking order of each clustering result among the multiple clustering results. Then, for each clustering result, according to the ranking order of this clustering result among the multiple clustering results, it can be determined whether the game operation instructions in this clustering result are cheating operation instructions generated by game cheats. Specifically, when the ranking order of this clustering result is among the top preset positions of the multiple clustering results, it is determined that the game operation instructions in this clustering result are cheating operation instructions generated by game cheats; otherwise, it is determined that the game operation instructions in this clustering result are not cheating operation instructions generated by game cheats.

[0196] Here, according to the identified cheating game behaviors, the game accounts with cheating game behaviors can be further traced, and then, the players to whom the game accounts belong can be held accountable to ensure fairness for other players in the game.

[0197] In one implementation manner, the game cheat detection method further includes: for each cheating operation instruction, determining the game account to which this cheating operation instruction belongs; counting the number of cheats of each game account that generates cheating operation instructions within a preset statistical time period; for each game account, determining the punishment measure for this game account according to the number of cheats of this game account within the preset statistical time period.

[0198] In this step, for each identified cheating operation instruction, according to the account information carried by this cheating operation instruction, the unique game account to which this cheating operation instruction belongs is matched; the number of cheating operation instructions generated by each game account within a preset statistical time period is counted; further, for each game account that generates cheating operation instructions, according to the number of cheating operation instructions generated by this game account within the preset statistical time period, the punishment measure for this game account can be determined;

[0199] Specifically, the cheat level of the game account can be determined according to the number of cheating operation instructions generated by the game account within a preset statistical time period. For example, for different cheat levels, the cheat number thresholds for each cheat level can be preset in advance. Once the number of cheating operation instructions generated by a certain game account within the preset statistical time period reaches the cheat number threshold of a certain cheat level, the cheat level of this game account can be determined.

[0200] Exemplarily, it is assumed that the external cheating operation instructions are counted every 3 days. The threshold of the number of external cheats corresponding to external cheat level 1 is 3 times, the threshold of the number of external cheats corresponding to external cheat level 2 is 5 times, and the threshold of the number of external cheats corresponding to external cheat level 3 is 8 times. If it is counted that an A game account has generated 4 external cheating operation instructions within 3 days, it can be determined that the external cheat level of the A game account is external cheat level 2; if a B game account has generated 2 external cheating operation instructions within 3 days, it can be determined that the external cheat level of the B game account is external cheat level 1.

[0201] Correspondingly, disciplinary measures can also be set in advance for each external cheat level. For example, for external cheat level 1, the use of a specific equipment is suspended for 1 day; for external cheat level 2, the account is suspended for 1 day; for external cheat level 3, the account is suspended for 1 week. In this way, the disciplinary measures for the player to whom the game account belongs can be further determined according to the external cheat level of the game account.

[0202] Corresponding to the above embodiment, the player to whom the A game account belongs needs to suspend the use of a specific equipment for 1 day; the player to whom the B game account belongs needs to suspend the use of the B game account for one day.

[0203] Here, the threshold of the number of external cheats for each external cheat level can also be adjusted according to the time when the external cheating operation instructions are counted. For example, in the case of counting the external cheating operation instructions every 3 days, the threshold of the number of external cheats corresponding to external cheat level 1 is 3 times, the threshold of the number of external cheats corresponding to external cheat level 2 is 5 times, and the threshold of the number of external cheats corresponding to external cheat level 3 is 8 times; in the case of counting the external cheating operation instructions every 1 day, the threshold of the number of external cheats corresponding to external cheat level 1 is 1 time, the threshold of the number of external cheats corresponding to external cheat level 2 is 3 times, and the threshold of the number of external cheats corresponding to external cheat level 3 is 5 times; in the case of counting the external cheating operation instructions every 7 days, the threshold of the number of external cheats corresponding to external cheat level 1 is 6 times, the threshold of the number of external cheats corresponding to external cheat level 2 is 7 times, and the threshold of the number of external cheats corresponding to external cheat level 3 is 10 times. That is, as the counting time is shortened, the threshold of the number of external cheats corresponding to each external cheat level decreases; on the contrary, as the counting time increases, the threshold of the number of external cheats corresponding to each external cheat level increases.

[0204] The game cheating detection method provided by the embodiment of the present application obtains the touch positions of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control virtual characters; according to the touch positions of multiple game operation instructions, the multiple game operation instructions are clustered to obtain multiple clustering results; for each clustering result, based on the similarity between the touch trajectories of different game operation instructions in the clustering result, the stability of the clustering result is calculated; for each clustering result, according to the stability of the clustering result, it is determined whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats. In this way, in the process of determining game cheats, the group characteristics of game cheating behaviors are considered, that is, the touch trajectories of the operation instructions generated by game cheats are highly similar. Therefore, by clustering, the identification of game cheats can be realized, and the accuracy of game cheating detection results can be improved.

[0205] Please refer to Figure 3 , Figure 3 which is a schematic structural diagram of a game cheating detection device provided by the embodiment of the present application, Figure 4 and is a schematic structural diagram of another game cheating detection device provided by the embodiment of the present application. As Figure 3 shown in , the game cheating detection device 300 includes:

[0206] A position acquisition module 310, configured to acquire the touch position of the game operation instruction input by each player in the target game stage; the game operation instruction is used to control a virtual character;

[0207] An instruction clustering module 320, configured to cluster multiple game operation instructions according to the touch positions of the multiple game operation instructions to obtain multiple clustering results;

[0208] A stability determination module 330, configured to calculate the stability of each clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result;

[0209] A cheat identification module 340, configured to determine whether the game operation instructions in each clustering result are cheat operation instructions generated by game cheats according to the stability of the clustering result.

[0210] Further, as Figure 4 shown, the game cheating detection device further includes a statistics module 350, and the statistics module 350 is configured to:

[0211] For each cheat operation instruction, determine the game account to which the cheat operation instruction belongs;

[0212] Statistically count the number of cheats of each game account generating cheat operation instructions within a preset statistical time period;

[0213] For each game account, determine the punishment measures for the game account according to the number of cheating programs of the game account within a preset statistical time period.

[0214] Further, when the instruction clustering module 320 is used to cluster a plurality of game operation instructions according to the touch positions of the plurality of game operation instructions to obtain a plurality of clustering results, the instruction clustering module 320 is used for:

[0215] Based on the touch positions of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions among the plurality of game operation instructions;

[0216] Based on the similarity between the touch trajectories of the different game operation instructions, cluster the plurality of game operation instructions into a plurality of clustering results.

[0217] Further, the touch position includes a plurality of touch coordinates. When the instruction clustering module 320 is used to determine the similarity between the touch trajectories of different game operation instructions among the plurality of game operation instructions based on the touch position of each game operation instruction, the instruction clustering module 320 is used for:

[0218] For each game operation instruction, determine an information entropy coding vector representing the trajectory law of the touch trajectory of the game operation instruction by performing information entropy coding on the plurality of touch coordinates of the game operation instruction;

[0219] Based on the information entropy coding vectors of each game operation instruction, determine the similarity between the touch trajectories of different game operation instructions.

[0220] Further, when the instruction clustering module 320 is used to determine the similarity between the touch trajectories of different game operation instructions based on the information entropy coding vectors of each game operation instruction, the instruction clustering module 320 is used for:

[0221] Determine a plurality of clustering center instructions from the plurality of game operation instructions;

[0222] For each game operation instruction, based on the information entropy coding vector of the game operation instruction and the information entropy coding vectors of each clustering center instruction, determine the similarity between the game operation instruction and each clustering center instruction.

[0223] Further, when the instruction clustering module 320 is used to determine a plurality of clustering center instructions from the plurality of game operation instructions, the instruction clustering module 320 is used for:

[0224] Based on the information entropy encoding vectors of each game operation instruction, determine multiple clustering center instructions from the multiple game operation instructions; or,

[0225] Randomly determine multiple clustering center instructions from the multiple game operation instructions.

[0226] Further, when the instruction clustering module 320 is used to, for each game operation instruction, determine an information entropy encoding vector that characterizes the trajectory pattern of the touch trajectory of the game operation instruction by performing information entropy encoding on multiple touch coordinates of the game operation instruction, the instruction clustering module 320 is used to:

[0227] For each game operation instruction, select a preset number of touch points from the touch trajectory of the game operation instruction, and determine the position coordinates of each touch point relative to the touch screen as the touch coordinates of the game operation instruction;

[0228] Based on the multiple touch coordinates of the game operation instruction, determine the coordinate area involved in the game operation instruction; wherein, the multiple touch coordinates are all within the coordinate area; the coordinate area includes multiple sub-areas;

[0229] For each sub-area, based on the touch coordinates included in the sub-area, determine the information entropy of the sub-area; wherein, the information entropy characterizes the trajectory pattern of the touch trajectory located in the sub-area;

[0230] Based on the information entropy of each sub-area in the coordinate area, determine an information entropy encoding vector that characterizes the trajectory pattern of the touch trajectory of the game operation instruction.

[0231] Further, when the instruction clustering module 320 is used to determine the coordinate area involved in the game operation instruction based on the multiple touch coordinates of the game operation instruction, the instruction clustering module 320 is used to:

[0232] Determine the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate from the multiple touch coordinates;

[0233] Construct the coordinate area involved in the game operation instruction according to the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate, so that the multiple touch coordinates are all within the coordinate area;

[0234] Equidistantly divide the X-axis and Y-axis of the coordinate area to divide the coordinate area into multiple sub-areas.

[0235] Further, when the instruction clustering module 320 is used to determine the information entropy of each sub-region based on the touch coordinates included in the sub-region, the instruction clustering module 320 is configured to:

[0236] For each sub-region, divide the sub-region into a plurality of divided regions according to a preset number of discretized bins;

[0237] For each divided region, determine the touch probability of the divided region based on the number of touch coordinates falling into the divided region and the number of touch coordinates included in the sub-region;

[0238] Based on the touch probabilities of each divided region, determine the information entropy of the sub-region.

[0239] Further, the instruction clustering module 320 is configured to determine the similarity between the touch trajectories of different game operation instructions through the following steps:

[0240] For any two game operation instructions among the multiple game operation instructions, calculate the Euclidean distance between the information entropy coding vectors of the any two game operation instructions;

[0241] Based on the Euclidean distance, determine the similarity between the touch trajectories of the any two game operation instructions.

[0242] Further, when the instruction clustering module 320 is used to cluster the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of the different game operation instructions, the instruction clustering module 320 is configured to:

[0243] For each game operation instruction, determine the target clustering center instruction with the highest similarity to the game operation instruction according to the similarity between the game operation instruction and each clustering center instruction;

[0244] Cluster the game operation instruction into the clustering result corresponding to the target clustering center instruction.

[0245] Further, when the stability determination module 330 is used to calculate the stability of each clustering result based on the similarity between the touch trajectories of different game operation instructions in the clustering result, the stability determination module 330 is configured to:

[0246] For each clustering result, determine the stability of the clustering result based on the average value of the similarities between the touch trajectories of different game operation behaviors in the clustering result; or,

[0247] For each clustering result, based on the standard deviation of the similarity between the touch trajectories of different game operation behaviors in the clustering result, determine the stability of the clustering result.

[0248] Further, when the cheating identification module 340 is used to determine, for each clustering result, whether the game operation instructions in the clustering result are the operation instructions generated by game cheats according to the stability of the clustering result, the cheating identification module 340 is used for:

[0249] For each clustering result, when the stability of the clustering result is greater than or equal to a preset stability threshold, determine that the game operation instructions in the clustering result are the cheating operation instructions generated by game cheats;

[0250] Otherwise, determine that the game operation instructions in the clustering result are not the cheating operation instructions generated by game cheats.

[0251] Further, when the cheating identification module 340 is used to determine, for each clustering result, whether the game operation instructions in the clustering result are the operation instructions generated by game cheats according to the stability of the clustering result, the cheating identification module 340 is used for:

[0252] According to the stability of each clustering result, sort the multiple clustering results in descending order to determine the ranking order of each clustering result;

[0253] For each clustering result, when the ranking order of the clustering result is among the top preset positions, determine that the game operation instructions in the clustering result are the cheating operation instructions generated by game cheats;

[0254] Otherwise, determine that the game operation instructions in the clustering result are not the cheating operation instructions generated by game cheats.

[0255] The game cheat detection device provided by the embodiment of the present application obtains the touch positions of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control virtual characters; according to the touch positions of multiple game operation instructions, cluster the multiple game operation instructions to obtain multiple clustering results; for each clustering result, based on the similarity between the touch trajectories of different game operation instructions in the clustering result, calculate the stability of the clustering result; for each clustering result, according to the stability of the clustering result, determine whether the game operation instructions in the clustering result are the cheating operation instructions generated by game cheats. In this way, in the process of determining game cheats, the group characteristics of game cheat behaviors are considered, that is, the touch trajectories of the operation instructions generated by game cheats have extremely high similarity. Therefore, the identification of game cheats is realized by clustering, which can improve the accuracy of game cheat detection results.

[0256] Please refer to Figure 5 , Figure 5 , which is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As shown in Figure 5 , the electronic device 500 includes a processor 510, a memory 520, and a bus 530.

[0257] The memory 520 stores machine-readable instructions executable by the processor 510. When the electronic device 500 runs, the processor 510 communicates with the memory 520 through the bus 530. When the machine-readable instructions are executed by the processor 510, the steps of the game cheating detection method in the method embodiment as shown above Figure 1 can be executed. For the specific implementation manner, reference can be made to the method embodiment, which will not be elaborated here.

[0258] The embodiment of the present application also provides a computer-readable storage medium. A computer program is stored on the computer-readable storage medium. When the computer program is run by a processor, the steps of the game cheating detection method in the method embodiment as shown above Figure 1 can be executed. For the specific implementation manner, reference can be made to the method embodiment, which will not be elaborated here.

[0259] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, which will not be elaborated here.

[0260] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some communication interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.

[0261] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or they can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0262] In addition, in each embodiment of the present application, each functional unit may be integrated into one processing unit, may exist separately as individual physical units, or two or more units may be integrated into one unit.

[0263] If the above-mentioned functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The foregoing storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs.

[0264] Finally, it should be noted that: the above-mentioned embodiments are only specific implementation manners of the present application, used to illustrate the technical solutions of the present application, rather than limiting them. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: any person skilled in the art within the technical scope disclosed in the present application can still modify the technical solutions recorded in the foregoing embodiments, or can easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes, or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A game cheating detection method, characterized in that, The game cheating detection method includes: Obtaining the touch positions of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control virtual characters; According to the touch positions of multiple game operation instructions, determining the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions, and clustering the multiple game operation instructions based on the similarity between the touch trajectories to obtain multiple clustering results; For each clustering result, calculating the stability of the clustering result based on the mean or standard deviation of the similarity between the touch trajectories of different game operation instructions in the clustering result; For each clustering result, determining whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheating according to the stability of the clustering result.

2. The game cheating detection method according to claim 1, wherein The touch position includes multiple touch coordinates, and the determining the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions based on the touch position of each game operation instruction includes: For each game operation instruction, determining an information entropy encoding vector representing the trajectory law of the touch trajectory of the game operation instruction by performing information entropy encoding on the multiple touch coordinates of the game operation instruction; Based on the information entropy encoding vectors of each game operation instruction, determining the similarity between the touch trajectories of different game operation instructions.

3. The game cheating detection method according to claim 2, wherein, The determining the similarity between the touch trajectories of different game operation instructions based on the information entropy encoding vectors of each game operation instruction includes: Determining multiple clustering center instructions from the multiple game operation instructions; For each game operation instruction, determining the similarity between the game operation instruction and each clustering center instruction based on the information entropy encoding vector of the game operation instruction and the information entropy encoding vectors of each clustering center instruction.

4. The game cheating detection method according to claim 3, wherein, The determining multiple clustering center instructions from the multiple game operation instructions includes: Determining multiple clustering center instructions from the multiple game operation instructions based on the information entropy encoding vectors of each game operation instruction; or, Randomly determining multiple clustering center instructions from the multiple game operation instructions.

5. The game cheating detection method according to claim 2, wherein, The determining an information entropy encoding vector representing the trajectory law of the touch trajectory of the game operation instruction by performing information entropy encoding on the multiple touch coordinates of the game operation instruction for each game operation instruction includes: For each game operation instruction, selecting a preset number of touch points from the touch trajectory of the game operation instruction, and determining the position coordinates of each touch point relative to the touch screen as the touch coordinates of the game operation instruction; Based on the multiple touch coordinates of the game operation instruction, determining the coordinate area involved in the game operation instruction; wherein, the multiple touch coordinates are all within the coordinate area; the coordinate area includes multiple sub-areas; For each sub-area, determining the information entropy of the sub-area based on the touch coordinates included in the sub-area; wherein, the information entropy represents the trajectory law of the touch trajectory located in the sub-area. Determine an information entropy coding vector that characterizes the trajectory pattern of the touch trajectory of the game operation instruction based on the information entropy of each sub-region in the coordinate region.

6. The game cheating detection method according to claim 5, wherein The determining of the coordinate region involved in the game operation instruction based on the multiple touch coordinates of the game operation instruction includes: Determine the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate from the multiple touch coordinates; Construct the coordinate region involved in the game operation instruction according to the maximum X-axis coordinate, the minimum X-axis coordinate, the maximum Y-axis coordinate, and the minimum Y-axis coordinate, so that the multiple touch coordinates are all within the coordinate region; Equidistantly divide the X-axis and Y-axis of the coordinate region to divide the coordinate region into multiple sub-regions.

7. The game cheating detection method according to claim 5, wherein For each sub-region, the determining of the information entropy of the sub-region based on the touch coordinates included in the sub-region includes: For each sub-region, divide the sub-region into multiple divided regions according to a preset discretized bucket number; For each divided region, determine the touch probability of the divided region based on the number of touch coordinates falling into the divided region and the number of touch coordinates included in the sub-region; Determine the information entropy of the sub-region based on the touch probability of each divided region.

8. The game cheating detection method according to claim 2, wherein Determine the similarity between the touch trajectories of different game operation instructions through the following steps: For any two game operation instructions among the multiple game operation instructions, calculate the Euclidean distance between the information entropy coding vectors of the two game operation instructions; Based on the Euclidean distance, determine the similarity between the touch trajectories of the two game operation instructions.

9. The game cheating detection method according to claim 3, wherein The clustering of the multiple game operation instructions into multiple clustering results based on the similarity between the touch trajectories of the different game operation instructions includes: For each game operation instruction, determine the target clustering center instruction with the highest similarity to the game operation instruction according to the similarity between the game operation instruction and each clustering center instruction; Cluster the game operation instruction into the clustering result corresponding to the target clustering center instruction.

10. The game cheating detection method according to claim 1, wherein For each clustering result, the determining of whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result includes: For each clustering result, when the stability of the clustering result is greater than or equal to a preset stability threshold, determine that the game operation instructions in the clustering result are cheating operation instructions generated by game cheats; Otherwise, determine that the game operation instructions in the clustering result are not cheating operation instructions generated by game cheats.

11. The game cheating detection method according to claim 1, wherein For each clustering result, the determining of whether the game operation instructions in the clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result includes: Arrange the multiple clustering results in descending order according to the stability of each clustering result to determine the ranking order of each clustering result; For each clustering result, when the ranking order of the clustering result is among the top preset positions, determine that the game operation instructions in the clustering result are cheating operation instructions generated by game cheats; Otherwise, it is determined that the game operation instructions in the clustering result are not cheating operation instructions generated by game cheats.

12. The game cheating detection method according to claim 1, wherein The game cheat detection method further includes: For each cheating operation instruction, determining the game account to which the cheating operation instruction belongs; Counting the number of cheats of each game account that generates cheating operation instructions within a preset statistical time period; For each game account, determining the punishment measure for the game account according to the number of cheats of the game account within the preset statistical time period.

13. A game cheating detection device, characterized in that, The game cheat detection device includes: A position acquisition module, configured to acquire the touch position of the game operation instructions input by each player in the target game stage; the game operation instructions are used to control the virtual character; An instruction clustering module, configured to determine the similarity between the touch trajectories of different game operation instructions among the multiple game operation instructions according to the touch positions of the multiple game operation instructions, and cluster the multiple game operation instructions based on the similarity between the touch trajectories to obtain multiple clustering results; A stability determination module, configured to calculate the stability of each clustering result based on the average value or standard deviation of the similarity between the touch trajectories of different game operation instructions in the clustering result; A cheat recognition module, configured to determine whether the game operation instructions in each clustering result are cheating operation instructions generated by game cheats according to the stability of the clustering result.

14. An electronic device, characterized in that, Includes: A processor, a memory, and a bus, where the memory stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the memory through the bus. When the machine-readable instructions are run by the processor, the steps of the game cheat detection method according to any one of claims 1 to 12 are executed.

15. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium. When the computer program is run by the processor, the steps of the game cheat detection method according to any one of claims 1 to 12 are executed.

Citation Information

Patent Citations

  • Anomaly detection method and device for MMORPGs

    CN107158707A

  • Automatic logging detection method, device and equipment in game and storage medium

    CN111359223A