Anti-cheating method, device, storage medium and program product for voxel game
By calculating the hash value of voxel units in a voxel game scene, generating a temporary hash value and comparing it with the standard hash value, the problem of cheating in voxel games is solved, achieving efficient anti-cheating detection and improved game experience.
Patent Information
- Application Number
- CN202510993181.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-18
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-07-18
AI Technical Summary
In voxel games, players can cheat by modifying voxel data in the game scene, affecting the gaming experience and harming the interests of game developers. Existing technology is difficult to effectively prevent such behavior.
By calculating the attributes of each voxel unit in the game scene, a temporary hash value is generated and compared with the pre-calculated standard hash value to output the cheat analysis results. This includes dividing the area, hierarchical processing, and hash value calculation to ensure the accuracy and efficiency of anti-cheating.
Effectively identify and prevent cheating by game players, improve the gaming experience, reduce the probability of cheating, and reduce the waste of computing resources.
Smart Images

Figure CN120478981B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of games, and particularly relates to a cheating prevention method, device, storage medium and program product for a voxel game. BACKGROUND
[0002] With the development of science and technology, games have become a mainstream way for people to relax and entertain. Among them, voxel games, as a kind of high-freedom game, have once become a relatively popular type of game.
[0003] Since the scene in a voxel game is formed by a large number of voxels, each voxel can be independently edited. Before entering the game, a game player needs to cache the game scene. Based on the characteristics of voxels, the game player can modify the data of voxels in the game scene to achieve the purpose of cheating of the game player, which will greatly affect the experience of the game and damage the interests of the game developer, and is not conducive to the development of the game market.
[0004] Therefore, how to prevent the cheating behavior of the game player in the voxel game is a technical problem to be solved at present. SUMMARY
[0005] The purpose of the present application is to generate input content that fits the user's input habits while facilitating user input operations.
[0006] Other characteristics and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.
[0007] According to an aspect of an embodiment of the present application, a cheating prevention method for a voxel game is provided, and the method comprises:
[0008] According to the attributes of each voxel unit in the game scene, a temporary hash value of each voxel block is calculated, at least one voxel unit is present in the voxel block, and at least one voxel block is present in the game scene;
[0009] According to the comparison result of the standard hash value and the temporary hash value of the voxel block, an analysis result of cheating is output, the standard hash value refers to the hash value of each voxel block in the game scene before the game is entered, and the temporary hash value and the standard hash value are calculated in the same way.
[0010] According to an aspect of an embodiment of the present application, according to the attributes of each voxel unit in the game scene, a temporary hash value of each voxel block is calculated, comprising:
[0011] The hash value of each voxel unit is calculated;
[0012] According to the hash value of each voxel unit in the voxel block, a temporary hash value of the voxel block is calculated.
[0013] According to an aspect of the embodiment of the present application, the hash value of each voxel unit is calculated, comprising:
[0014] According to the pre-generated attribute extraction standard, the partial attribute of the voxel unit is extracted to calculate the hash value of the voxel unit.
[0015] According to an aspect of the embodiment of the present application, the temporary hash value of the voxel block is calculated according to the hash value of each voxel unit in the voxel block, comprising:
[0016] The voxel block is divided into multiple regions, each region has a corresponding level, and the size of the region is positively correlated with the level corresponding to the region; wherein the current level region includes multiple upper level regions;
[0017] The hash value of the lowest level region is calculated according to the hash value of each voxel unit in the voxel block;
[0018] The hash value of the next level region is calculated according to the hash value of the current level region, until the hash value of the highest level region is obtained;
[0019] The temporary hash value of the voxel block is calculated according to the hash value of each highest level region.
[0020] According to an aspect of the embodiment of the present application, the voxel block is divided into multiple regions, each region has a corresponding level, comprising:
[0021] According to the game player access amount of the voxel block within a set period, the target number of region levels is obtained;
[0022] According to the target number of region levels, multiple regions are divided in the voxel block, and the regions included in the voxel block have a target number of levels.
[0023] According to an aspect of the embodiment of the present application, the hash value of the next level region is calculated according to the hash value of the current level region, comprising:
[0024] In the current level region included in the next level region, part of the current level region is selected as a target region;
[0025] The hash value of the target region is changed according to a preset rule to obtain a target hash value;
[0026] The hash value of the next level region is calculated according to the hash value of the non-target region and the target hash value, the non-target region refers to the region in the current level region which is not the target region.
[0027] According to an aspect of the embodiments of the present application, the comparison result of the standard hash value and the temporary hash value of the voxel block is used to output the cheating analysis result, including:
[0028] A certain number of target blocks are extracted from the voxel block, and the target blocks with the same standard hash value and temporary hash value are regarded as qualified blocks;
[0029] If the qualified blocks account for a first ratio in all target blocks, it is determined that there is no cheating behavior;
[0030] If the qualified blocks account for a second ratio in all target blocks, the game player is warned and the frequency of obtaining the temporary hash value of the voxel block is increased to increase the frequency of anti-cheating detection, and the second ratio is lower than the first ratio;
[0031] If the qualified blocks account for a third ratio in all target blocks, it is determined that there is cheating behavior, and the game number is blocked, and the third ratio is lower than the second ratio.
[0032] According to an aspect of the embodiments of the present application, the present application provides an anti-cheating device for a voxel game, including a memory, a processor and a readable program stored in the memory, and the processor executes the readable program to realize the method according to any one of the above.
[0033] According to an aspect of the embodiments of the present application, the present application provides a readable storage medium, which stores a readable program / instruction, and when the readable program / instruction is executed by a processor, the method according to any one of the above is realized.
[0034] According to an aspect of the embodiments of the present application, the present application provides a program product, which includes a readable program / instruction, and when the readable program / instruction is executed by a processor, the method according to any one of the above is realized.
[0035] In the present application, firstly, according to the attributes of each voxel unit in a game scene, a temporary hash value of each voxel block is calculated, at least one voxel unit exists in the voxel block, and at least one voxel block exists in the game scene. Then, according to the comparison result of the standard hash value and the temporary hash value of the voxel block, an analysis result of cheating is output, the standard hash value refers to the hash value of each voxel block in the game scene before the game, and the calculation method of the temporary hash value of the voxel block and the standard hash value is the same. The present application uses the hash value of each voxel block in the game scene before the game as the standard hash value, then obtains the temporary hash value of each voxel block in the game scene when the game player plays the game, compares the standard hash value and the temporary hash value of each voxel block, to determine whether the game player cheats, fully utilizes the "fingerprint effect" of the hash value, and can simply and efficiently determine whether the game player cheats.
[0036] Other characteristics and advantages of the present application will become apparent from the following detailed description, or will be learned by practice of the present application.
[0037] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF DRAWINGS
[0038] The drawings herein are incorporated into the specification and form a part of the specification, show embodiments consistent with the present application, and together with the specification, serve to explain the principles of the present application. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained according to these drawings without creative labor for those skilled in the art.
[0039] Figure 1 A flow chart of a cheating prevention method of a voxel game according to an embodiment of the present application is shown.
[0040] Figure 2 A flow chart of calculating a temporary hash value of each voxel block according to the attributes of each voxel unit in a game scene according to an embodiment of the present application is shown.
[0041] Figure 3 A flow chart of calculating a temporary hash value of each voxel block according to the hash values of each voxel unit in the voxel block according to an embodiment of the present application is shown.
[0042] Figure 4 A flow chart of dividing a voxel block into multiple regions, each region having a corresponding level according to an embodiment of the present application is shown.
[0043] Figure 5A flowchart showing calculating a hash value of a next level region according to a hash value of a current level region is shown according to one embodiment of the present application.
[0044] Figure 6 A flowchart showing outputting a cheating analysis result according to a comparison result of a standard hash value and a temporary hash value of a voxel block is shown according to one embodiment of the present application.
[0045] Figure 7 A block diagram of a computer system structure for implementing an anti-cheating method of a voxel game is shown according to one embodiment of the present application. DETAILED DESCRIPTION
[0046] Example implementations will now be described more fully with reference to the accompanying drawings. Example implementations may, however, be implemented in many different forms and should not be construed as limited to the examples set forth herein; rather, these implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example implementations to those skilled in the art.
[0047] Moreover, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the
[0048] The block diagrams in the drawings show only the functional entities and not necessarily the physical separate entities. That is, the functional entities can be implemented in software, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0049] The flowcharts shown in the drawings are only exemplary illustrations, and not necessarily include all the contents and operations / steps, nor necessarily executed in the described order. For example, some operations / steps can be further decomposed, and some operations / steps can be combined or partially combined, so the actual execution order can be changed according to the actual situation.
[0050] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined target, and can be implemented entirely or partially by using software, hardware (such as a processing circuit or a memory) or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an integral module or unit that includes the functions of the module or unit.
[0051] Please refer to Figure 1 , Figure 1 A flowchart of a cheating prevention method of a voxel game according to an embodiment of the present application is shown. The embodiments of the present application provide a cheating prevention method of a voxel game, which includes the following steps:
[0052] In step S110, the temporary hash values of the voxel blocks are calculated according to the attributes of the voxel units in the game scene, at least one voxel unit is in each voxel block, and at least one voxel block exists in the game scene;
[0053] In step S120, the cheating analysis result is output according to the comparison result of the standard hash values and the temporary hash values of the voxel blocks. The standard hash values refer to the hash values of the voxel blocks in the game scene before the game starts. The temporary hash values of the voxel blocks are calculated in the same way as the standard hash values.
[0054] The above two steps are described in detail below.
[0055] In step S110, the voxel unit refers to the smallest voxel block in the game scene that cannot be modified by the game player, that is, the voxel unit cannot be further divided and cannot be changed by the game player. The voxel block is formed by combining a plurality of voxel units.
[0056] It should be noted that the voxel block refers to the game scene divided by pre-defined custom. For example, the unmodifiable part of the game scene is divided into a set number of voxel blocks. Alternatively, the unmodifiable part of the game scene is divided into a set number of regions of different sizes by pre-specification.
[0057] Each voxel unit has a plurality of attributes, such as position information, color, represented material type, transparency, etc. The attributes of each voxel unit are not completely the same, which makes it almost impossible for the hash values of each voxel unit to be the same, ensuring the accuracy of the cheating detection.
[0058] The embodiments of the present application make full use of the differences in the attributes of each voxel unit, so that the hash value of each voxel unit is equivalent to the "electronic fingerprint" of each voxel unit, which can be used to determine whether the voxel unit has been changed.
[0059] The hash value of each voxel block is calculated according to the attributes of each voxel unit. For example, the hash value of each voxel block is directly calculated according to the attributes of each voxel unit in the voxel block.
[0060] For example, the hash value of each voxel unit is calculated according to the attributes of each voxel unit, and then the voxel units included in each voxel block are determined. For any voxel block, the hash values of each voxel unit in the voxel block are substituted into a specified formula to obtain the temporary hash value of the voxel block.
[0061] For example, the sum of the hash values of each voxel unit in the voxel block is taken as the temporary hash value of the voxel block. Alternatively, the hash values of each voxel unit in the voxel block are hashed again to obtain the temporary hash value of the voxel block.
[0062] In some embodiments, the first hash value of the voxel block is calculated according to the size, position, shape (excluding air voxel units, the shape composed of other voxel units) of the voxel block. The second hash value of the voxel block is calculated according to the hash values of each voxel unit in the voxel block. For example, the hash values of each voxel unit in the voxel block are substituted into a specified formula to obtain the second hash value of the voxel block. Alternatively, the hash values of each voxel unit in the voxel block are hashed again to obtain the second hash value of the voxel block.
[0063] The temporary hash value of the voxel block is calculated according to the first hash value and the second hash value of the voxel block. In this way, the calculation rule of the hash value of the voxel block can be avoided by the game player, and the temporary hash value of the voxel block remains unchanged by adjusting the hash values of different voxel units (patching the west wall with the east wall). Further, the probability of the game player cheating without being found is reduced.
[0064] Please refer to Figure 2 , Figure 2 A flowchart for calculating the temporary hash value of each voxel block according to the attributes of each voxel unit in the game scene is shown according to an embodiment of the present application. The embodiment of the present application provides a step S110 for calculating the temporary hash value of each voxel block according to the attributes of each voxel unit in the game scene, which includes:
[0065] Step S111, calculating the hash value of each voxel unit;
[0066] Step S112, calculating the temporary hash value of the voxel block according to the hash values of each voxel unit in the voxel block.
[0067] The above two steps are described in detail below.
[0068] In step S111, the hash value of each voxel unit is calculated. The hash value of each voxel unit is calculated directly according to the attribute of the voxel unit. Alternatively, the attribute of each voxel unit is hashed to obtain the hash value of the voxel unit.
[0069] In step S112, the temporary hash value of the voxel block is calculated according to the hash values of the voxel units in the voxel block.
[0070] In some embodiments, after obtaining the hash values of the voxel units in the voxel block, a Merkle tree is established according to the voxel units, and the specific steps are as follows: each voxel block is divided into multiple regions, the hash value of each region is calculated according to the hash value of the voxel unit, then the hash values of adjacent regions are combined, and the above steps are repeated multiple times for hashing, and finally the root hash is formed as the temporary hash value of the voxel block.
[0071] In some embodiments, the hash value of the voxel unit is calculated according to the extracted part of the attribute of the voxel unit according to the pre-generated attribute extraction standard. For example, the hash value of the voxel unit is calculated according to the extracted part of the attribute of the voxel unit according to the pre-generated attribute extraction standard.
[0072] In some embodiments, the same attribute extraction standard is used to calculate the hash value of the voxel unit of the same voxel block.
[0073] In some embodiments, the hash value of the voxel unit is calculated using the corresponding attribute extraction standard for the voxel unit of the same voxel block.
[0074] In some embodiments, different attribute extraction standards are used to calculate the hash values of the voxel units in different voxel blocks.
[0075] In this way, the hash value calculated by each voxel unit can be encrypted, so that the game player cannot change the attribute of the voxel unit after learning the hash value calculation method, and the temporary hash value of the voxel block is maintained unchanged, thereby preventing the game player from cheating in the game.
[0076] Please refer to Figure 3 , Figure 3 The figure shows a flowchart for calculating the temporary hash value of the voxel block according to the hash values of the voxel units in the voxel block according to an embodiment of the present application. The embodiment of the present application provides step S112 for calculating the temporary hash value of the voxel block according to the hash values of the voxel units in the voxel block, which includes:
[0077] In step S1121, the voxel block is divided into multiple regions, each region has a corresponding level, and the size of the region is positively correlated with the level corresponding to the region; wherein the current level region includes multiple upper level regions.
[0078] Step S1122, calculating the hash value of the lowest level region according to the hash value of each voxel unit in the voxel block;
[0079] Step S1123, calculating the hash value of the next level region according to the hash value of the current level region, until the hash value of the highest level region is obtained;
[0080] Step S1124, calculating the temporary hash value of the voxel block according to the hash value of each highest level region.
[0081] The above four steps will be described in detail as follows.
[0082] In step S1121, the voxel block is divided into multiple regions, each region has a corresponding level, and the size of each region is positively correlated with its corresponding level, that is, the larger the level of the region, the larger the volume of the region. Moreover, the current level region includes multiple upper level regions.
[0083] For example, the voxel block is divided into multiple regions, where the levels of the regions are level one, level two and level three. Among them, the level one region is the lowest level region, which does not include other regions and only includes voxel units. For example, a solid model (such as a cube) formed by multiple (for example, 256) adjacent voxel units is taken as a level one region. A solid model formed by multiple adjacent level one regions is taken as a level two region. A solid model formed by multiple adjacent level two regions is taken as a level three region.
[0084] In some embodiments, first, the voxel units in the voxel block are divided to obtain multiple level one regions, that is, the lowest level regions, that is, all level one regions can constitute the voxel block. Second, all level one regions are divided to obtain multiple level two regions, that is, all level two regions can constitute the voxel block. Finally, all level two regions are divided to obtain multiple level three regions (that is, the highest level region), that is, all level three regions can constitute the voxel block.
[0085] In other embodiments, first, part of the voxel units in the voxel block are divided to obtain multiple level one regions, or all the voxel units in the voxel block are divided to obtain multiple level one regions. Second, part of the level one regions in the voxel block are divided to obtain multiple level two regions, or all the level one regions in the voxel block are divided to obtain multiple level two regions. Finally, part of the level two regions in the voxel block are divided to obtain at least one level three region, or all the level two regions in the voxel block are divided to obtain at least one level three region.
[0086] In step S1122, the hash value of the lowest level region is calculated according to the hash values of the voxel units in the voxel block. Since the lowest level region only includes voxel units, the hash value of the lowest level region is calculated according to the hash values of the voxel units. This is done for each lowest level region to obtain the hash values of the lowest level regions.
[0087] For example, the hash values of the voxel units in any lowest level region are hashed again to obtain the hash value of the lowest level region.
[0088] In step S1123, the next level region is composed of a plurality of current level regions, and thus the hash value of the next level region is calculated according to the hash values of the current level regions, until the hash value of the highest level region is obtained.
[0089] For example, when the hash value of the second level region is calculated, the first level region is the current level region, and the second level region is the next level region. The hash values of the current level regions in the next level region are hashed to obtain the hash value of the next level region. The hash values of the level regions are sequentially calculated until the hash value of the highest level region is obtained.
[0090] That is, when the hash value of the N level region is calculated, the hash value of the N level region is calculated according to the hash values of the N-1 level regions in the N level region, where N is a positive integer. The hash values of the N-1 level regions in the N level region are hashed to obtain the hash value of the N level region. The hash values of the level regions are sequentially calculated until the hash value of the highest level region is obtained.
[0091] For example, the second level region is composed of 256 first level regions, and the hash value of the second level region is calculated according to the hash values of the 256 first level regions. The hash value of each second level region is calculated in this way. After obtaining the hash values of the second level regions, for any third level region, the hash value of the third level region is calculated according to the hash values of the second level regions in the third level region.
[0092] In step S1124, the temporary hash value of the voxel block is calculated according to the hash values of the highest level regions. The hash value of the voxel block is obtained by hashing all the hash values of the highest level regions in the voxel block.
[0093] In the embodiment of the present application, the voxel block is divided into regions in this way, and the regional products are processed hierarchically, so that the hash values of regions at the same level can be calculated at the same time, improving the calculation efficiency of the overall hash value. On the other hand, hierarchical processing of regions can enrich the calculation dimension of the hash value of the voxel block, avoid the game player cracking the calculation method of the hash value of the voxel block, and thus achieve the technical effect that the game player will be discovered in time when cheating, reducing the possibility of the game player cheating.
[0094] Please refer to Figure 4 , Figure 4 A flowchart for dividing a voxel block into multiple regions, each region having a corresponding level, is shown according to an embodiment of the present application. The embodiment of the present application provides a step S1121 for dividing a voxel block into multiple regions, each region having a corresponding level, comprising:
[0095] Step S201: According to the game player access amount of the voxel block in a set period, the target number of region levels is obtained;
[0096] Step S202: According to the target number of region levels, multiple regions are divided in the voxel block, and the regions included in the voxel block have the target number of levels.
[0097] The above two steps are described in detail below.
[0098] In step S201, the target number of levels is obtained according to the game player access amount of the voxel block in a set period. For any voxel block, the game player access amount of the voxel block in a set period is obtained. According to the game player access amount in the preset correspondence table, the number of region levels is determined, which is the target number of region levels corresponding to the voxel block. It is used to indicate the number of levels required when the voxel block is divided into regions.
[0099] It should be noted that the game player is within a set distance from the voxel block, which is considered as the game player accessing the voxel block.
[0100] It should be noted that the number of region levels refers to the number of levels that the regions obtained after dividing the voxel block into regions have. For example, in the above embodiment, there are 3 levels, so the number of region levels in the voxel block is 3. If there are 4 levels of regions, the number of region levels in the voxel block is 4. Therefore, the target number of region levels can indicate how many levels the voxel block needs to be divided into when the voxel block is divided into regions.
[0101] It should be noted that the setting time period refers to a time length of a set length after the game starts. In some embodiments, the setting time period refers to a time length of a set length before the execution of the present technical solution. The game player access volume refers to the time length of the game player staying in the voxel block within the setting time period. In some embodiments, the game player access volume refers to the sum of the time lengths of each game player staying in the voxel block within the setting time period.
[0102] The greater the game player access volume of a voxel block, the greater the possibility of the voxel block appearing cheating. The game player access volume and the target number present a positive correlation relationship. The greater the customer access volume of the voxel block in the setting time period, the greater the target number of the level of the region of the voxel block. The voxel block with a large number of player accesses is supervised, and thus the possibility of the game player cheating is reduced.
[0103] In step S202, according to the level of the target number, a plurality of regions are divided in the voxel block, so that the regions have the region level of the target number. That is, after the target number of the level of the voxel block region is determined, the voxel block is regionally divided according to the level. The regions included in the voxel block have the level of the target number.
[0104] In the embodiments of the present application, according to the game player access volume of the voxel block, the voxel block is customized with a corresponding region level number. That is, the voxel block is set with a region level number in a targeted manner according to the possibility of being cheated by each block, so that the cheating recognition is realized in a targeted manner for different voxel blocks. That is, the same computer resource is allocated in a more targeted manner for different voxel blocks, so as to achieve a better anti-cheating effect.
[0105] Please refer to Figure 5 , Figure 5 A flowchart for calculating the hash value of the next level region according to the hash value of the current level region is shown according to an embodiment of the present application. The embodiment of the present application provides a step S1123 for calculating the hash value of the next level region according to the hash value of the current level region, which includes:
[0106] Step S301, in the current level region included in the next level region, a part of the current level region is selected as a target region;
[0107] Step S302, the hash value of the target region is changed according to a preset rule to obtain a target hash value;
[0108] Step S303, the hash value of the next level region is calculated according to the hash value of the non-target region and the target hash value. The non-target region refers to the region in the current level region which is not the target region.
[0109] The above three steps are described in detail below.
[0110] In step S301, in the current level region included in the next level region, part of the current level region is selected as a target region.
[0111] For example, in the second level region (current level region) included in the third level region (next level region), part of the second level region is selected as a target region. That is, in the N-1 level region included in the N level region, part of the N-1 level region is selected as a target region.
[0112] In some embodiments, when part of the current level region is selected as a target region, it is not randomly selected. For any next level region, part of the current level region in the next level region is selected as a target region according to a preset selection standard. In some embodiments, since the current level region can constitute the next level region in space, and the current level region is a solid model with a fixed spatial shape, the current level region with a specific spatial relative position in the next level region is selected as a target region, for example, the current level region on the "edge" of the next level region is selected as a target region. In this way, the complexity of calculating the hash value of the next level region is increased, and the game player can prevent the game player from knowing the calculation method of the hash value to cheat.
[0113] In step S302, the hash value of the target region is changed according to a preset rule to obtain a target hash value. That is, the hash value of the target region is encrypted according to a preset rule to further increase the complexity of calculating the hash value of the next level region, and to avoid the game player from easily calculating the hash value of the next level region.
[0114] In step S303, the hash value of the next level region is calculated according to the hash value of the non-target region and the target hash value, and the non-target region refers to the region in the current level region that is not a target region. For example, for any next level region, the target hash value and the hash value of the non-target region in the next level region are hashed again to obtain the hash value of the next level region.
[0115] In step S120, first of all, it needs to be clear that the standard hash value of the voxel block refers to the hash value of each voxel block in the game scene obtained before the game enters. That is, the standard hash value of the voxel block is the hash value of each voxel block in the game scene without cheating.
[0116] It needs to be clear that the calculation method of the standard hash value of the voxel block is the same as the calculation method of the temporary hash value of the voxel block. In this way, the effectiveness of comparing the standard hash value of the voxel block with the temporary hash value is ensured.
[0117] After the temporary hash value of the voxel block is obtained, the comparison result of the standard hash value and the temporary hash value of each voxel block is output to output the cheating analysis result. If the game player does not cheat, the standard hash value and the temporary hash value of the voxel block should be highly consistent. If the game player cheats, the standard hash value and the temporary hash value of the voxel block should be less consistent. Thus, it can be known whether each voxel block is in cheating behavior.
[0118] In some embodiments, the proportion of the voxel blocks with highly consistent standard hash value and temporary hash value in all voxel blocks is also counted, and the cheating behavior of the game player is comprehensively and accurately judged based on the comparison result of the standard hash value and the temporary hash value of each voxel block.
[0119] In some embodiments, the game server executes the method described in the technical solution to detect whether the game player cheats after a detection event occurs. The detection event includes: reaching a preset anti-cheating detection time, reaching a preset time interval from the last anti-cheating detection time, reaching a preset time interval after the game starts, game bug jam, reaching a preset frequency threshold of the modification frequency of the modifiable part in the game scene, and reaching a preset speed threshold of the modification speed of the modifiable part in the game scene.
[0120] In some embodiments, the temporary hash value of all voxel blocks is obtained to compare the temporary hash value and the standard hash value of each voxel block, and thus the cheating analysis of the game scene is comprehensively implemented.
[0121] In some embodiments, a part of the voxel blocks in all voxel blocks are randomly selected as target voxel blocks, and only the temporary hash value of the target voxel block is obtained. The temporary hash value and the standard hash value of the target voxel block are compared to implement the cheating analysis of the game scene in a sampling manner, and thus the waste of computing resources is reduced.
[0122] In some embodiments, the target voxel block is selected from the voxel blocks according to the access amount of the game player of the voxel block, and the target voxel block is accessed by the game player. Only the temporary hash value of the target voxel block is obtained. The temporary hash value and the standard hash value of the target voxel block are compared to implement the anti-cheating analysis of the voxel block. Because the game player generally cheats only in the voxel block accessed by the game player, the cheating detection is performed only on the voxel block accessed by the game player, the accuracy of the cheating detection of the game scene is greatly improved, and the waste of computer resources is effectively avoided.
[0123] For details, please refer to Figure 6 , Figure 6A flowchart of outputting the cheating analysis result according to the comparison result of the standard hash value and the temporary hash value of the voxel block is shown according to an embodiment of the present application. The step S120 of outputting the cheating analysis result according to the comparison result of the standard hash value and the temporary hash value of the voxel block according to the embodiment of the present application includes:
[0124] In step S121, a certain number of target blocks are extracted from the voxel block, and the target blocks with the same standard hash value and temporary hash value are regarded as qualified blocks.
[0125] In step S122, if the qualified blocks account for a first ratio in all target blocks, it is determined that there is no cheating behavior.
[0126] In step S123, if the qualified blocks account for a second ratio in all target blocks, the game player is warned and the frequency of obtaining the temporary hash value of the voxel block is increased to increase the anti-cheating detection frequency, and the second ratio is lower than the first ratio.
[0127] In step S124, if the qualified blocks account for a third ratio in all target blocks, it is determined that the game player cheats, and the game number is blocked, and the third ratio is lower than the second ratio.
[0128] The above four steps will be described in detail below.
[0129] In step S121, a certain number of target blocks are extracted from the voxel block, and the target blocks with the same standard hash value and temporary hash value are regarded as qualified blocks.
[0130] It should be noted that the extraction method of the target block includes but is not limited to the random extraction described in the above embodiment and the selection of the target voxel block according to the game player access amount of the game player to the voxel block.
[0131] In step S122, if the qualified blocks account for a first ratio in all target blocks, it is determined that there is no cheating behavior, i.e., the user does not cheat.
[0132] In step S123, if the qualified blocks account for a second ratio in all target blocks, the game player is warned and the frequency of obtaining the temporary hash value of the voxel block is increased, and obtaining the temporary hash value of the voxel block once is equivalent to detecting the game scene once. Thus, the anti-cheating detection frequency of the game scene is increased, and the second ratio is lower than the first ratio.
[0133] In step S124, if the qualified blocks account for a third ratio in all target blocks, it is determined that the game player cheats, and the game number is blocked, and the third ratio is lower than the second ratio.
[0134] In the embodiments of the present application, the ratio of the target block occupied by the qualified block is calculated to take targeted measures for different comparison cases, so as to prevent game players from cheating while greatly improving the game experience of the game players.
[0135] Figure 7 A block diagram of a computer system structure for implementing the anti-cheating method of the voxel game according to an embodiment of the present application is shown.
[0136] It should be noted that, Figure 7 The computer system 800 shown is merely an example, and should not bring any limitation to the functions and use range of the embodiments of the present application.
[0137] As Figure 7 shown, the computer system 800 includes a central processing unit 801 (CPU) which can perform various appropriate actions and processes according to programs stored in a read-only memory 802 (ROM) or loaded from a storage portion 808 into a random access memory 803 (RAM). Various programs and data required for system operation are also stored in the random access memory 803. The central processing unit 801, the read-only memory 802 and the random access memory 803 are connected to each other through a bus 804. An input / output interface 805 (I / O interface) is also connected to the bus 804.
[0138] The following components are connected to the input / output interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 808 including a hard disk, etc.; and a communication portion 809 including a network interface card such as a local area network card, a modem, etc. The communication portion 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output interface 805 as necessary. A removable recording medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 810 as necessary, so that a computer program read out therefrom is installed in the storage portion 808 as necessary.
[0139] In particular, in accordance with the embodiments of the present application, the processes described in the various method flow diagrams can be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for executing the methods illustrated by the flow diagrams. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 809, and / or installed from the removable media 811. When the computer program is executed by the central processing unit 801, the various functions defined in the system of the present application are performed.
[0140] It should be noted that the computer readable medium shown in the embodiments of the present application can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium may, for example, be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, the computer readable storage medium can be any tangible medium that contains or stores a program used by or in connection with an instruction execution system, apparatus, or device. In this application, the computer readable signal medium can include a data signal carried by a baseband or as part of a carrier wave transporting the program code. Such a propagated data signal can take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. Computer readable signal medium can be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate or transport program for use by or in connection with an instruction execution system, apparatus, or device. Program code contained on the computer readable medium can be transmitted by any suitable medium, including, but not limited to, wireless, wired, optical fiber cable, or any suitable combination thereof.
[0141] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0142] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0143] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the methods according to the embodiments of this application.
[0144] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.
[0145] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A method for preventing cheating in a voxel game, characterized in that, The method comprises: According to the attributes of each voxel unit in the game scene, the temporary hash value of each voxel block is calculated, and at least one voxel unit exists in the voxel block, and at least one voxel block exists in the game scene; Extract a certain number of target blocks in the voxel block, and the target block with the same standard hash value and temporary hash value is regarded as a qualified block; if the qualified block accounts for a first ratio in all target blocks, it is determined that there is no cheating behavior; if the qualified block accounts for a second ratio in all target blocks, the game player is warned and the frequency of obtaining the temporary hash value of the voxel block is increased to increase the anti-cheating detection frequency, and the second ratio is lower than the first ratio; if the qualified block accounts for a third ratio in all target blocks, it is determined that there is cheating behavior, and the game number is stopped, and the third ratio is lower than the second ratio, the standard hash value refers to the hash value of each voxel block in the game scene before the game starts, and the temporary hash value of the voxel block is calculated in the same way as the standard hash value.
2. The method of claim 1, wherein, According to the attributes of each voxel unit in the game scene, the temporary hash value of each voxel block is calculated, comprising: Calculate the hash value of each voxel unit; According to the hash value of each voxel unit in the voxel block, the temporary hash value of the voxel block is calculated.
3. The method of claim 2, wherein, Calculate the hash value of each voxel unit, comprising: According to the pre-generated attribute extraction standard, part of the attributes of the voxel unit are extracted to calculate the hash value of the voxel unit.
4. The method of claim 2, wherein, According to the hash value of each voxel unit in the voxel block, the temporary hash value of the voxel block is calculated, comprising: The voxel block is divided into multiple regions, each region has a corresponding level, and the size of the region is positively correlated with the level corresponding to the region; wherein the current level region includes multiple upper level regions; According to the hash value of each voxel unit in the voxel block, the hash value of the lowest level region is calculated; According to the hash value of the current level region, the hash value of the next level region is calculated, until the hash value of the highest level region is obtained; According to the hash value of each highest level region, the temporary hash value of the voxel block is calculated.
5. The method of claim 4, wherein, The voxel block is divided into multiple regions, each region has a corresponding level, comprising: According to the target number of region levels, multiple regions are divided in the voxel block, and the regions included in the voxel block have a target number of levels. According to the hash value of the current level region, the hash value of the next level region is calculated, comprising:
6. The method of claim 4, wherein, In the current level region included in the next level region, part of the current level region is selected as a target region; The hash value of the target region is changed according to the preset rule to obtain a target hash value; According to the hash value of the non-target region and the target hash value, the hash value of the next level region is calculated, and the non-target region refers to the region in the current level region which is not a target region. 7. An anti-cheating apparatus for a voxel game, comprising a memory, a processor, and a readable program stored on the memory, wherein, The processor executes the readable program to implement the method of any one of claims 1 to 6.
8. A readable storage medium, characterized by, A computer program product having stored thereon the readable program / instructions which, when executed by a processor, implement the method of any one of claims 1 to 6.
9. A program product comprising readable program / instructions, characterized in that, A computer program product having stored thereon the readable program / instructions which, when executed by a processor, implement the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Cheat user detection method and device based on block chain, equipment and storage medium
CN110585723A
Inserting a further data block into a first ledger
US20200380475A1