Virtual object detection method and device, storage medium and electronic equipment
By obtaining and calculating the movement information of the virtual object in the virtual game scene and determining its predicted average speed, the problem of low accuracy in the detection of the movement speed of the virtual object is solved, and more accurate detection results are achieved.
Patent Information
- Application Number
- CN202311294272.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-03-28
AI Technical Summary
In virtual game scenarios, there is a problem of low accuracy in the detection of the movement speed of virtual objects, especially when the network situation is poor, the moving average speed predicted by the server may be too large or small, resulting in a high misjudgment rate.
By acquiring the first and second movement information of the virtual object sent by the first client to the server, the target distance and the target prediction time difference are calculated to determine the predicted average speed of the virtual object during the historical movement. If at least one of the predicted average speed, the first prediction time, and the second prediction time does not meet the preset conditions, it is determined that there is an abnormality in the movement speed of the virtual object.
By putting a timestamp in the mobile information, the server can calculate a more accurate prediction average speed, which reduces the misjudgment rate and improves the accuracy of the detection results of virtual objects.
Smart Images

Figure CN119701354A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method and device for detecting a virtual object, a storage medium, and an electronic device. Background Art
[0002] In a virtual game scene, the player controls the virtual object in the game scene on the client side, so that the position of the virtual object in the game screen changes. In a massively multiplayer online game, the player performs a trigger operation in the main client to move the virtual object from a first position to a second position, and synchronizes the movement information of the virtual object to the server. The movement information of the virtual object is broadcasted to other clients online at the same time through the server, so that the virtual object that is already in the second position after the move is displayed in other clients.
[0003] In the process of synchronizing the movement information to the server, there may be a problem of intentionally tampering with the parameters in the movement information package. In order to avoid this problem, before broadcasting the movement information to other clients, the server usually predicts the average movement speed of the virtual object from the first position to the second position based on the movement information. By comparing the predicted average movement speed with the preset average speed threshold, it is determined whether the movement speed of the virtual object is abnormal.
[0004] However, the above scheme predicts the average speed mainly based on the time when the server receives the mobile data packet. Although it ensures that the average speed of the vehicle on the server will never exceed the set upper limit, there is a high misjudgment rate. For example, when the network conditions on the main end are poor, the time difference between the mobile data packet 1 sent by the virtual object at the first position and the mobile data packet 2 sent when the virtual object moves to the second position and arriving at the server may be compressed or extended, resulting in the mobile average speed predicted by the server being larger or smaller than the normal predicted speed.
[0005] In this case, the comparison between the average speed predicted by the server and the preset average speed threshold value will inevitably lead to inaccurate detection results for detecting whether the moving speed of the virtual object is abnormal, thus causing a technical problem of low accuracy in the detection process of the virtual object.
[0006] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0007] The embodiments of the present application provide a method and device for detecting a virtual object, a storage medium, and an electronic device, so as to at least solve the technical problem of low accuracy in the process of detecting a virtual object.
[0008] According to one aspect of an embodiment of the present application, a method for detecting a virtual object is provided, which is applied to a cloud gaming server, and includes: obtaining first movement information and second movement information of a virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in a game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; determining a predicted average speed of the virtual object in a historical movement process according to a target distance and a target prediction time difference, wherein the target distance is the distance between the first coordinate and the second coordinate, and the target prediction time difference is the time difference obtained by subtracting the first prediction time from the second prediction time; determining that there is an abnormality in the movement speed of the virtual object when at least one of the predicted average speed, the first prediction time, and the second prediction time does not meet a preset condition.
[0009] Optionally, the above-mentioned determining that there is an abnormality in the movement speed of the virtual object when at least one of the predicted average speed, the first predicted time and the second predicted time does not satisfy the preset conditions includes: when the preset conditions include at least one of N conditions, and at least one of the predicted average speed, the first predicted time and the second predicted time does not satisfy at least one of the N conditions, determining that there is an abnormality in the movement speed of the virtual object, where N is a positive integer greater than or equal to 2.
[0010] Optionally, the above N conditions include: the first prediction time is less than the first receiving time, and the second prediction time is less than the second receiving time, wherein the first receiving time is the actual time when the server receives the first movement information, and the second receiving time is the actual information when the server receives the second movement information; the target prediction time difference is greater than or equal to the inverse of the target frame rate, wherein the first client is set to send the movement information of the virtual object to the server at the target frame rate; the time difference between the first receiving time and the first prediction time is greater than a multiple of the network delay time, and the network delay time is the total time from the first client sending the first movement information to the server to the first client receiving the confirmation message of the first movement information sent by the server; the predicted average speed is less than the average speed threshold, wherein the average speed threshold is the speed determined based on the attribute information of the virtual object, and the attribute information of the virtual object includes the performance parameters of the virtual object and the hardware parameters of the target terminal, and the target terminal is used to display the virtual object in the game scene.
[0011] Optionally, the above method also includes: when the first movement information and the second movement information are the movement information of the virtual object sent by the first client to the server twice adjacently, determining a set of predicted movement information of the virtual object according to the first movement information and the second movement information, wherein a set of predicted movement information includes M predicted times and M predicted coordinates, and the M predicted coordinates represent the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1; sending the first movement information, the second movement information and a set of predicted movement information to the second client, wherein the second client is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and the set of predicted movement information.
[0012] Optionally, the above-mentioned determining a set of predicted movement information of the virtual object based on the first movement information and the second movement information includes: when the first movement information also includes a first movement parameter, determining M prediction times and M prediction coordinates according to the target prediction time difference and the first movement parameter, wherein the first movement parameter includes the first movement speed of the virtual object at the first position, or the first movement speed and the first movement acceleration of the virtual object at the first position.
[0013] Optionally, the above-mentioned determining M prediction times and M prediction coordinates according to the target prediction time difference and the first moving parameter includes: dividing the target prediction time difference into M+1 time intervals on average, and determining the time separated from the first prediction time by 1 to M time intervals as M prediction times; when the first moving parameter includes the first moving speed, determining the M prediction coordinates according to the first coordinates, the first moving speed and the M prediction times, wherein the distance between the i-th coordinate in the M prediction coordinates and the first coordinate is equal to the product of the first moving speed and i time intervals, and i is a positive integer greater than or equal to 1 and less than or equal to M; when the first moving parameter includes the first moving speed and the first moving acceleration, determining the M prediction coordinates according to the first coordinates, the first moving speed, the first moving acceleration and the M prediction times, wherein the distance between the i-th coordinates in the M prediction coordinates is the distance determined according to the first moving speed, the first moving acceleration and the i time intervals.
[0014] Optionally, before obtaining the first movement information and the second movement information of the virtual object sent by the first client to the server, the above method also includes: in response to the time synchronization request sent by the first client, sending a time synchronization data packet to the first client, wherein the time synchronization data packet includes the server time on the server; wherein the first predicted time is the predicted time determined based on S0, C1 and C0, S0 represents the server time, C1 represents the sending time when the first client sends the first movement information to the server, and C0 represents the receiving time when the first client receives the time synchronization data packet; wherein the second predicted time is the predicted time determined based on S0, C2 and C0, and C2 represents the sending time when the first client sends the second movement information to the server.
[0015] Optionally, the first prediction time is a prediction time determined based on S0, C1 and C0, and the second prediction time is a prediction time determined based on S0, C2 and C0, including: calculating the difference between C1 and C0 to obtain a first difference; calculating the difference between C2 and C0 to obtain a second difference; summing S0 and the first difference to obtain the first prediction time; summing S0 and the second difference to obtain the second prediction time.
[0016] Optionally, the first prediction time is the prediction time determined based on S0, C1 and C0, and the second prediction time is the prediction time determined based on S0, C2 and C0, and also includes: calculating the difference between C1 and C0 to obtain the first difference; calculating the difference between C2 and C0 to obtain the second difference; summing S0, the first difference and RTT to obtain the first prediction time; summing S0, the second difference and RTT to obtain the second prediction time; wherein RTT represents the network delay duration, and the network delay duration is the total duration from the first client sending the first mobile information to the server to the first client receiving the confirmation message of the first mobile information sent by the server.
[0017] Optionally, the method further includes: when it is determined that the moving speed of the virtual object is abnormal, controlling the account in the first client to log off or restricting operations of the account in the game scene.
[0018] According to another aspect of an embodiment of the present application, a method for detecting a virtual object is also provided, including: sending a time synchronization request to a server; obtaining a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server; determining a first prediction time according to S0, C1 and C0, and sending first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time when the first client sends the first movement information to the server, C0 represents the receiving time when the first client receives the time synchronization data packet, the first movement information includes a first prediction time and a first coordinate, the first prediction time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene; determining a second prediction time according to S0, C2 and C0, and sending second movement information of the virtual object to the server, wherein C2 represents the sending time when the first client sends the second movement information to the server, the second movement information includes a second prediction time and a second coordinate, the second prediction time represents the predicted time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene; wherein the first movement time and the second movement time are used to determine whether there is an abnormality in the movement speed of the virtual object.
[0019] Optionally, the above method also includes: the first prediction time = S0 + C1-C0, the second prediction time = S0 + C2-C0; or the first prediction time = S0 + C1-C0 + RTT, the second prediction time = S0 + C2-C0 + RTT; wherein, RTT represents the network delay duration, and the network delay duration is the total duration between the first client sending the first mobile information to the server and the first client receiving the confirmation message of the first mobile information sent by the server.
[0020] According to another aspect of the embodiment of the present application, a method for displaying a virtual object is also provided, comprising: receiving first movement information, second movement information and a set of predicted movement information sent by a server, wherein the first movement information comprises a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, the first coordinate indicates the first position of the virtual object in the game scene, the second movement information comprises a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is the predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information comprises M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0021] The process of moving a virtual object in a game scene from a first position to a second position is displayed according to the first movement information, the second movement information and a set of predicted movement information.
[0022] According to another aspect of the embodiment of the present application, a detection device for a virtual object is also provided, including: a first acquisition unit, used to acquire first movement information and second movement information of the virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; a first processing unit, used to determine the predicted average speed of the virtual object in the historical movement process according to the target distance and the target prediction time difference, wherein the target distance is the distance between the first coordinate and the second coordinate, and the target prediction time difference is the time difference obtained by subtracting the first prediction time from the second prediction time; a second processing unit, used to determine that there is an abnormality in the movement speed of the virtual object when at least one of the predicted average speed, the first prediction time, and the second prediction time does not meet the preset conditions.
[0023] According to another aspect of the embodiment of the present application, a detection device for a virtual object is also provided, including: a first sending unit, used to send a time synchronization request to a server; a second acquisition unit, used to acquire a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server; a third processing unit, used to determine a first predicted time according to S0, C1 and C0, and send first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first client sending the first movement information to the server, C0 represents the receiving time of the first client receiving the time synchronization data packet, the first movement information includes the first predicted time and the first coordinate, and the third processing unit is used to determine a first predicted time according to S0, C1 and C0, and send first movement information of the virtual object to the server. A predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene; a fourth processing unit is used to determine the second predicted time according to S0, C2 and C0, and send the second movement information of the virtual object to the server, wherein C2 indicates the sending time when the first client sends the second movement information to the server, the second movement information includes the second predicted time and the second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; wherein the first movement time and the second movement time are used to determine whether there is any abnormality in the movement speed of the virtual object.
[0024] According to another aspect of an embodiment of the present application, a display device for a virtual object is also provided, including: a receiving unit, used to receive first movement information, second movement information and a group of predicted movement information sent by a server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates that the virtual object is located at a first position in a game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, a group of predicted movement information is predicted movement information determined based on the first movement information and the second movement information, a group of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1; a display unit, used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and the group of predicted movement information.
[0025] According to another aspect of an embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the above-mentioned virtual object detection method or the above-mentioned virtual object display method when running.
[0026] According to another aspect of the embodiments of the present application, a computer program product is provided, including a computer program / instruction, which implements the steps of the above method when executed by a processor.
[0027] According to another aspect of an embodiment of the present application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the virtual object detection method or the virtual object display method through the computer program.
[0028] Through the above-mentioned embodiment provided by the present application, the first movement information and the second movement information sent by the first client to the server at a preset time interval respectively include the first predicted time when the server receives the first movement information and the second predicted time when the server receives the second movement information. The server determines the target distance and the target predicted time difference based on the first movement information and the second movement information, calculates the predicted average speed of the virtual object in the historical movement process, and then judges whether there is an abnormality in the movement speed of the virtual object based on the predicted average speed, the first predicted time and the second predicted time. In other words, by synchronizing the first client and the server, a timestamp is added to the movement information, so that the server can calculate a more accurate predicted average speed, thereby obtaining a more accurate detection result based on the predicted average speed, reducing the misjudgment rate, and achieving the technical effect of improving the accuracy of the detection results of virtual objects. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0030] Figure 1 is a schematic diagram of an application scenario of an optional virtual object detection method according to an embodiment of the present application;
[0031] Figure 2 is a flow chart of an optional method for detecting a virtual object according to an embodiment of the present application;
[0032] Figure 3 is a flowchart of another optional virtual object detection method according to an embodiment of the present application;
[0033] Figure 4is a flowchart of an optional method for displaying a virtual object according to an embodiment of the present application;
[0034] Figure 5 is a schematic diagram of an optional virtual object detection method according to an embodiment of the present application;
[0035] Figure 6 is a schematic diagram of an optional method of determining a set of predicted movement information of a virtual object according to an embodiment of the present application;
[0036] Figure 7 is an overall flow chart of an optional virtual object detection method according to an embodiment of the present application;
[0037] Figure 8 It is a comparison diagram of the effects between the related technology and the technical solution of this application;
[0038] Fig. 9 is a schematic structural diagram of an optional virtual object detection device according to an embodiment of the present application;
[0039] Fig.10 is a schematic structural diagram of another optional virtual object detection device according to an embodiment of the present application;
[0040] Fig.11 is a schematic structural diagram of an optional display device for a virtual object according to an embodiment of the present application;
[0041] Fig.12 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0042] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0043] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0044] The technical solutions in the embodiments of the present application will comply with legal provisions during implementation. When performing operations according to the technical solutions in the embodiments, the data used will not involve user privacy. While ensuring that the operation process is compliant and legal, the security of the data is guaranteed.
[0045] Glossary:
[0046] MMOG: Massively Multiplayer Online Game;
[0047] Vehicles: Mobile platforms that players can drive, such as cars, motorcycles, ships, hot air balloons, horses, etc.
[0048] Host: usually refers to the player's control terminal, such as mobile platform, PC platform, etc.
[0049] Third Party: refers to the display platform of third-party players;
[0050] Server: The party that ultimately determines the status of the game character's attributes, usually referring to the background server process;
[0051] Accelerator: A common plug-in tool that accelerates movement by accelerating the client's local time;
[0052] RTT: Round Trip Time (network delay time), which is the time required for a round trip from the sender to the receiver.
[0053] According to one aspect of the embodiments of the present application, a method for detecting a virtual object is provided. As an optional implementation, the method for detecting a virtual object may be applied to, but is not limited to, Figure 1 The application scenario shown in Figure 1In the application scenario shown, the terminal device 102 may, but is not limited to, communicate with the server 106 via the network 104, and the server 106 may, but is not limited to, perform operations on the database 108, such as write data operations or read data operations. The terminal device 102 may, but is not limited to, include a human-computer interaction screen, a processor, and a memory. The human-computer interaction screen may, but is not limited to, be used to display a picture of a virtual object on the terminal device 102 being moved to a second position, a detection result of a virtual object, etc. The processor may, but is not limited to, be used to respond to the human-computer interaction operation, perform a corresponding operation, or generate a corresponding instruction, and send the generated instruction to the server 106. The memory is used to store relevant processing data, such as the first movement information, the second movement information, and the first prediction time, etc.
[0054] As an optional method, the following steps in the method for detecting a virtual object may be performed on the server 106: Step S102, obtaining first movement information and second movement information of the virtual object sent by the first client to the server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; Step S104, determining the predicted average speed of the virtual object in the historical movement process according to the target distance and the target predicted time difference, wherein the target distance is the distance between the first coordinate and the second coordinate, and the target predicted time difference is the time difference obtained by subtracting the first predicted time from the second predicted time; Step S106, determining that there is an abnormality in the movement speed of the virtual object when at least one of the predicted average speed, the first predicted time, and the second predicted time does not meet the preset conditions.
[0055] In the above manner, the first mobile information and the second mobile information sent by the first client to the server at a preset time interval respectively include the first predicted time when the server receives the first mobile information and the second predicted time when the server receives the second mobile information. The server determines the target distance and the target predicted time difference based on the first mobile information and the second mobile information, calculates the predicted average speed of the virtual object in the historical movement process, and then judges whether there is an abnormality in the movement speed of the virtual object based on the predicted average speed, the first predicted time and the second predicted time. In other words, by synchronizing the first client and the server, a timestamp is added to the mobile information, so that the server can calculate a more accurate predicted average speed, thereby obtaining a more accurate detection result based on the predicted average speed, reducing the misjudgment rate, and achieving the technical effect of improving the accuracy of the detection results of the virtual object.
[0056] In order to solve the problem of low accuracy in the detection of virtual objects, a method for detecting virtual objects is proposed in an embodiment of the present application. Figure 2 : is a flowchart of a method for detecting a virtual object according to an embodiment of the present application, the process comprising the following steps:
[0057] Step S202, obtaining first movement information and second movement information of the virtual object sent by the first client to the server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene;
[0058] Step S204, determining a predicted average speed of the virtual object in the historical movement process according to the target distance and the target predicted time difference, wherein the target distance is the distance between the first coordinate and the second coordinate, and the target predicted time difference is the time difference obtained by subtracting the first predicted time from the second predicted time;
[0059] Step S206: When at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition, it is determined that there is an abnormality in the moving speed of the virtual object.
[0060] The technical solution in the embodiments of the present application can be applied to, but is not limited to, massively multiplayer online game scenarios. In this type of game scenario, when player 1 moves a virtual object from a first position to a second position by executing a trigger operation, it is necessary to broadcast the movement status of the virtual object in the first client where the player is located to a third party, and display the virtual object moved to the second position on the third party.
[0061] The third party may refer to, but is not limited to, a display platform for third-party players. The so-called third-party players may refer to, but are not limited to, players in the same game as player 1, for example, multiple players in the same camp and multiple players in different camps.
[0062] To facilitate understanding, first Figure 5 The overall schematic diagram of the server detecting the moving speed of the virtual object based on the time verification method is introduced.
[0063] like Figure 5 As shown, it is assumed that at moment C1, the first client sends the first movement information to the server, wherein the first movement information includes the predicted time when the server receives the first movement information and the first coordinates of the first position of the virtual object in the display screen of the first client at moment C1; at moment S1, the server receives the first movement information, wherein moment S1 is the time when the server actually receives the first movement information.
[0064] At moment C2, the first client sends second movement information to the server, wherein the second movement information includes the predicted time when the server receives the second movement information and the second coordinates of the second position of the virtual object in the display screen of the first client at moment C2; at moment S2, the server receives the second movement information, wherein moment S2 is the time when the server actually receives the second movement information.
[0065] Since the first predicted time included in the first mobile information does not take into account the network delay time caused by network fluctuations, nor the time offset of the first client itself, the first predicted time is earlier than the S1 time when the server actually receives the first mobile information. Similarly, the second predicted time is earlier than the S2 time when the server actually receives the second mobile information.
[0066] The server calculates the target distance between the first position and the second position based on the received first coordinates and the second coordinates, calculates the target prediction time difference between the first prediction time and the second prediction time, and then calculates the predicted average speed of the virtual object in the process of moving from the first position to the second position.
[0067] It is determined whether each of the predicted average speed, the first predicted time, and the second predicted time corresponds to a preset condition. If all of the corresponding preset conditions are met, it is determined that the moving speed of the virtual object is not abnormal; otherwise, if at least one of the predicted average speed, the first predicted time, and the second predicted time does not meet the preset condition, it is determined that the moving speed of the virtual object is abnormal. The above preset conditions will be described in detail below in conjunction with specific embodiments.
[0068] As an optional implementation, the above method further includes:
[0069] When it is determined that the moving speed of the virtual object is abnormal, the account in the first client is controlled to go offline or the operation of the account in the game scene is restricted.
[0070] For example, if it is determined that the movement speed of the virtual object is abnormal, it is considered that the main player has adopted cheating means, the state of the virtual object in the server will not be set, and a cheating feedback package will be sent to the main end to execute the penalty logic, such as kicking the player off the car, forcibly pulling the main player's coordinates, etc.
[0071] In the related art, the first movement information received by the server at time S1 only includes the first coordinate, and the second movement information received at time S2 only includes the second coordinate. Then, according to the time S1 when the server actually receives the first movement information and the time S2 when the server actually receives the second movement information, the time difference is calculated, and the target distance between the first coordinate and the second coordinate is calculated, and then the predicted average speed is calculated. In other words, in the related art, the predicted average speed is calculated based on the server time, and it is not considered that when the network condition in the first client is poor, the time difference between the first movement information and the second movement information received by the server may be compressed or extended, thereby misjudging the player 1 in the first client for speeding cheating or missing the real cheating situation, resulting in the problem of low accuracy of the detection result of the virtual object.
[0072] Compared with the technical solutions in the related art, the technical solution in the embodiment of the present application respectively adds timestamps to the first movement information and the second movement information, so that the server calculates a more accurate predicted average speed according to the two predicted times in the timestamps, thereby obtaining a more accurate detection result based on the predicted average speed, reducing the misjudgment rate and achieving the technical effect of improving the accuracy of the detection results of virtual objects.
[0073] As an optional implementation, the above method of determining that the moving speed of the virtual object is abnormal when at least one of the predicted average speed, the first predicted time, and the second predicted time does not meet a preset condition includes:
[0074] When the preset conditions include at least one of N conditions, and at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy at least one of the N conditions, it is determined that there is an abnormality in the moving speed of the virtual object, where N is a positive integer greater than or equal to 2.
[0075] Each of the N conditions is independent of each other, and there is no restriction on the order of precedence in determining whether the moving speed of the virtual object is abnormal.
[0076] As an optional example, the above N conditions include:
[0077] The first prediction time is less than the first reception time, and the second prediction time is less than the second reception time, where the first reception time is the actual time when the server receives the first movement information, and the second reception time is the actual information when the server receives the second movement information;
[0078] The target prediction time difference is greater than or equal to the reciprocal of the target frame rate, where the first client is set to send the movement information of the virtual object to the server at the target frame rate;
[0079] The time difference between the first reception time and the first prediction time is greater than a multiple of the network delay duration, and the network delay duration is the total duration from when the first client sends the first movement information to the server until the first client receives the confirmation message of the first movement information sent by the server;
[0080] The predicted average speed is less than the average speed threshold, where the average speed threshold is the speed determined according to the attribute information of the virtual object, and the attribute information of the virtual object includes the performance parameters of the virtual object and the hardware parameters of the target terminal, and the target terminal is used to display the virtual object in the game scene.
[0081] Assuming that the first prediction time is S1' and the second prediction time is S2', at least one of the above predicted average speed, the first prediction time S1', and the second prediction time S2' needs to satisfy the N conditions including but not limited to at least one of the following:
[0082] (1) S1' < S1 and S2' < S2;
[0083] That is, the time S1 when the server actually receives the first movement information is later than the first prediction time S1' predicted by the first client, and the time S2 when the server actually receives the second movement information is later than the second prediction time S2' predicted by the first client.
[0084] This is because both the first prediction time and the second prediction time are obtained by adding the time offset of the first client to the time synchronization time, and theoretically, it should be two network delay times less than the time when the server actually receives the first movement information and the second movement information.
[0085] Using this condition, it is possible to intercept the situation where the time of the first client passes faster than the server due to mainstream accelerator cheats.
[0086] (2) S2' - S1' ≧ 1 / FPS, where FPS is the reporting frame rate at which the first client sends the movement information of the virtual object to the server;
[0087] For example, when the master reports 4 vehicle movement request packets per second, S2'-S1' needs to be greater than or equal to 250ms. This rule can prevent cheating to modify the protocol reporting data, send more than the agreed packets or shorten the packet time interval. In actual applications, since the master machine may freeze, etc., a little buffer needs to be left for the time determination, for example, greater than or equal to 240ms.
[0088] (3) S1-S1'>P*RTT;
[0089] Combined with the description in the above embodiment, it can be known that the first predicted time (or second predicted time) reported by the first client is earlier than the time when the server actually receives the first movement information (or second movement information), but it cannot be too much smaller. Through this condition, it can effectively prevent the master end from modifying the predicted time in the protocol to a very early time, accumulating a certain amount of packets and sending them instantly, causing the virtual object (for example, virtual vehicle) to move instantly. For systems where it is inconvenient to obtain RTT, a fixed threshold can be set, for example, 5S.
[0090] It should be noted that the movement information of the virtual object reported by the first client to the server at a preset time interval includes but is not limited to the coordinate information of the virtual object at different times and the corresponding predicted time when the server receives the movement information. For some parameters in the movement information, the player may modify the parameter values in the protocol through the background, for example, modify the first predicted time to another time earlier than the actual predicted time. In order to prevent players from using such cheating methods, the above condition S1-S1'>P*RTT is set.
[0091] (4) The predicted average speed is less than the preset average speed threshold.
[0092] According to the first coordinate and the second coordinate reported twice by the first client, the coordinate displacement difference (which can also be understood as the target distance) L of the two movements reported is calculated; according to the first predicted time S1' and the second predicted time S2' reported twice by the first client, the predicted time difference T=S2'-S1' is calculated, and L / T is the predicted average speed.
[0093] Among them, the preset average speed threshold can be but is not limited to a value pre-set according to the attribute information of each virtual object. For example, according to the power parameters of virtual vehicle 1, its reasonable average speed threshold is determined to be 80km / h, and according to the power parameters of virtual vehicle 2, its reasonable average speed threshold is determined to be 60km / h, etc.
[0094] Average speed thresholds corresponding to different virtual objects are pre-stored in the server. When the server calculates the predicted average speed according to the movement information reported by the first client, the two are compared.
[0095] In a multi-player online game, when a player causes a virtual object to move from a first position to a second position through a triggering operation in the main client (e.g., the first client), the server sends the movement information to a third party so that the process of the virtual object moving from the first position to the second position is displayed on the game screen of the third party.
[0096] During the process of displaying on the game screen of the third party the virtual object moving from the first position to the second position, problems described in the following embodiments may occur.
[0097] Refer to Figure 6 As shown in (a) of [reference], assume that the virtual object is a car, and the car travels from left to right along the road at a constant speed V. The initial reported position is at time T0, and the next report is at time T1 (fixed time interval ΔT = T1 - T0). It can be seen that the positions of the car on the server are discrete, and the interval size depends on the reporting frequency and the driving speed of the car.
[0098] Assume that at time Tx (T0 < Tx < T1), a monster releases an explosion skill in the middle of the road, and the explosive will cause damage to players within a radius of 3 meters. Since the damage range selection and numerical calculation are both performed on the server, there will be a situation where the player on the main end (e.g., the first client) sees himself within the explosion range but does not receive any damage.
[0099] To avoid the above-mentioned inconsistency in the main-end experience, in the embodiments of the present application, a simulation method for the virtual object movement logic also needs to be performed on the server, specifically including:
[0100] When the first movement information and the second movement information are the movement information of the virtual object sent by the first client to the server in two adjacent times, according to the first movement information and the second movement information, a set of predicted movement information of the virtual object is determined, where a set of predicted movement information includes M predicted times and M predicted coordinates, and the M predicted coordinates represent the positions of the virtual object at the M predicted times during the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0101] Send the first movement information, the second movement information, and a set of predicted movement information to the second client, where the second client is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information, and a set of predicted movement information.
[0102] Such as Figure 6As shown in (a), assuming that the time when the first client reports the first movement information is T0, and the time when the second movement information is next reported is T1, a set of predicted movement information is determined based on the first movement information and the second movement information. For example, in the process of the virtual object moving from the first position to the second position, M predicted times and M predicted coordinates are simulated.
[0103] For details, please refer to Figure 6 As shown in (b), when the server receives the first movement information reported by the first client at time T0, it calculates the simulated position of the car on the server with a smaller preset time interval (for example, ΔT / 2, ΔT / 3, etc.) and pre-set speed, acceleration and other parameters, and updates the simulated position to between the first position and the second position.
[0104] Obviously, Figure 6 The simulated position shown in (b) is only an example and is not limited thereto. For example, a discrete position corresponding to the time ΔT / 3 or multiple discrete positions corresponding to other multiple times may also be simulated.
[0105] When the predicted average speed, the first predicted time and the second predicted time meet the above N conditions, the first movement information, the second movement information and a set of predicted movement information are sent to the second client through the server to display the above movement process of the virtual object in the second client, wherein the third party includes the second client.
[0106] The discrete positions obtained by the above logic simulation can be used to fill the discrete positions of the virtual vehicle in the server, so that the discrete intervals are reduced to alleviate the inconsistent experience of the main end (the first client).
[0107] As an optional implementation manner, determining a set of predicted movement information of the virtual object according to the first movement information and the second movement information includes:
[0108] When the first movement information also includes the first movement parameter, M prediction times and M prediction coordinates are determined according to the target prediction time difference and the first movement parameter, wherein the first movement parameter includes the first movement speed of the virtual object at the first position, or the first movement speed and the first movement acceleration of the virtual object at the first position.
[0109] Among them, the first movement parameter includes but is not limited to the first coordinate of the first position of the virtual object and the first predicted time when the server receives the first movement information, and M predicted times and M predicted coordinates are determined according to the target predicted time difference, the first predicted time and the first coordinate.
[0110] As an alternative example, determining M prediction times and M prediction coordinates according to the target prediction time difference and the first movement parameter as described above includes:
[0111] Dividing the target prediction time difference evenly into M + 1 time intervals, and determining the M prediction times as the times separated from the first prediction time by 1 to M time intervals;
[0112] When the first movement parameter includes the first movement speed, determining the M prediction coordinates according to the first coordinate, the first movement speed, and the M prediction times, where the distance between the i-th coordinate among the M prediction coordinates and the first coordinate is equal to the product of the first movement speed and i time intervals, and i is a positive integer greater than or equal to 1 and less than or equal to M;
[0113] When the first movement parameter includes the first movement speed and the first movement acceleration, determining the M prediction coordinates according to the first coordinate, the first movement speed, the first movement acceleration, and the M prediction times, where the distance between the i-th coordinate among the M prediction coordinates is the distance determined according to the first movement speed, the first movement acceleration, and i time intervals.
[0114] For example, assume the target prediction time difference ΔT = 3s and M = 2, that is, dividing ΔT evenly into 3 time intervals, and the divided time interval is ΔT' = 1s. The times S1' + ΔT', S1' + 2ΔT', and S1' + 3ΔT' separated from the first prediction time S1' by ΔT', 2ΔT', and 3ΔT' respectively are determined as the M prediction times.
[0115] It should be noted that in addition to calculating the server vehicle position at a fixed time interval ΔT in the above embodiments to supplement the discrete coordinate points of the virtual object, a linear calculation method can also be used to simulate and obtain the real-time position of the virtual object.
[0116] As shown in (a) of Figure 6 At any Ty moment (T0 < Ty < T1), the trolley coordinate Ly = L0 + V * (Ty - T0), that is, by taking the current movement state as a reference, calculating the position of the trolley in a short time to complete the discrete position coordinates of the server.
[0117] Through the above method, the diversity of the method for supplementing the discrete positions of virtual objects on the server side is increased, and the applicable range of the technical solution of the present application is improved.
[0118] As an alternative example, before obtaining the first movement information and the second movement information of the virtual object sent by the first client to the server, the above method further includes:
[0119] In response to the time synchronization request sent by the first client, sending a time synchronization data packet to the first client, wherein the time synchronization data packet includes the server time on the server;
[0120] The first predicted time is the predicted time determined according to S0, C1 and C0, S0 represents the server time, C1 represents the sending time of the first mobile information sent by the first client to the server, and C0 represents the receiving time of the time synchronization data packet received by the first client;
[0121] The second predicted time is a predicted time determined according to S0, C2 and C0, and C2 represents the sending time of the second movement information sent by the first client to the server.
[0122] Combine the following Figure 7 The overall flow chart shown further describes the above virtual object detection method, and the specific steps are as follows:
[0123] S702, the master sends a time synchronization request to the server at a fixed time interval;
[0124] For example, the first client (master end) sends a time synchronization request to the server once every 5 seconds.
[0125] S704, the server sends a time synchronization response packet to the first client;
[0126] For example, Figure 5 As shown, after the server receives the time synchronization request sent by the first client, the server sends the current server time S0 to the first client.
[0127] S706, the first client sends an operation request packet of the virtual object to the server;
[0128] For example, the throttle size of the virtual vehicle, the steering angle of the steering wheel, whether to honk the horn, etc., and set the corresponding server parameters after receiving the operation request.
[0129] S708, broadcasting the server parameters corresponding to the settings to a third party;
[0130] For example, the server parameters include parameters related to the throttle size, steering wheel steering angle, whether to honk, etc. of the virtual vehicle in the operation request packet sent from the first client.
[0131] S710, the first client sends a movement request packet to the server at a fixed time interval;
[0132] For example, a mobile request packet is sent to the server four times per second, and the server verifies the legitimacy of the mobile request parameters in the mobile request packet, as specifically described in step S712.
[0133] S712, verifying the mobility request parameters and legitimacy in the mobility request packet;
[0134] For details, please refer to the description in the above embodiment on determining that there is no abnormal part in the moving speed of the virtual object when the predicted average speed, the first predicted time and the second predicted time need to meet N preset conditions, which will not be repeated here.
[0135] S714, when the legitimacy of the mobile request parameters in the mobile request packet is not verified, feeding back the abnormality detection result to the first client;
[0136] If it fails, it is considered that the first client has adopted cheating means, the state of the virtual object in the server is not set, and a cheating feedback package is sent to the first client to execute the penalty logic, such as kicking the player off the car, forcibly pulling the coordinates of the main player, etc.
[0137] S716, if the verification is passed, setting the movement state of the corresponding virtual object on the server and broadcasting it to the third party;
[0138] S718, the server performs logic simulation at fixed time intervals according to the movement state of the virtual object, and updates the position of the virtual object on the server side.
[0139] For example, the simulated position of the car on the server is calculated with a smaller preset time interval (for example, ΔT / 2, ΔT / 3, etc.) and preset speed, acceleration and other parameters. For details, please refer to the above embodiment for Figure 6 The description of (b) will not be repeated here.
[0140] contrast Figure 8 The statistical results of the super average speed in the prior art solution shown in (a) and Figure 8 From the statistical results of the super-average speed in the technical solution of the present application shown in (b), it can be intuitively seen that after adopting the technical solution of the present application, the number of people recorded as cheating every day has been greatly reduced. According to the network delay reported by the main end and the sampling survey test, it was found that the technical solution of the present application eliminated a large number of misjudgments caused by network delays and sticky packets, and improved the accuracy of the average speed verification.
[0141] In addition, in the technical solution of the present application, by introducing a time-based vehicle movement synchronization method, a specific verification method is provided, which improves the accuracy of the average speed verification and reduces the possibility of cheating by modifying the protocol on the master side; by introducing the logical simulation of the server virtual objects, the discrete position intervals of the server virtual objects are reduced, thereby improving the experience of the master-side players.
[0142] As an optional example, the first prediction time is a prediction time determined according to S0, C1 and C0, and the second prediction time is a prediction time determined according to S0, C2 and C0, including:
[0143] Calculate the difference between C1 and C0 to obtain a first difference;
[0144] Calculate the difference between C2 and C0 to obtain a second difference;
[0145] Sum S0 and the first difference to obtain a first predicted time;
[0146] S0 and the second difference are summed to obtain the second predicted time.
[0147] For example, the first predicted time S1′=S0+C1-C0, and the second predicted time S2′=S0+C2-C0, wherein C1-C0 and C2-C0 are both time deviations of the first client.
[0148] As another optional example, the first predicted time is a predicted time determined according to S0, C1 and C0, and the second predicted time is a predicted time determined according to S0, C2 and C0, further comprising:
[0149] Calculate the difference between C1 and C0 to obtain a first difference;
[0150] Calculate the difference between C2 and C0 to obtain a second difference;
[0151] Sum S0, the first difference and RTT to obtain a first predicted time;
[0152] Sum S0, the second difference and RTT to obtain a second predicted time;
[0153] RTT represents the network delay duration, which is the total duration between the first client sending the first mobile information to the server and the first client receiving the confirmation message of the first mobile information sent by the server.
[0154] For example, the first predicted time S1'=S0+C1-C0+RTT, and the second predicted time S2'=S0+C2-C0+RTT, wherein RTT is the total duration of the first network delay duration for the first client to send the first mobile information to the server and the second network delay duration for the first client to receive the confirmation message of the first mobile information sent by the server.
[0155] In order to solve the problem of low accuracy in the above-mentioned virtual object detection process, another virtual object detection method is also proposed in the embodiment of the present application, which is applied to the detection of virtual objects on the first client side. The specific process is as follows: Figure 3 The following steps are shown:
[0156] Step S302, sending a time synchronization request to the server;
[0157] Step S304, obtaining a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server;
[0158] Step S306, determining the first predicted time according to S0, C1 and C0, and sending the first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first movement information sent by the first client to the server, C0 represents the receiving time of the time synchronization data packet received by the first client, the first movement information includes the first predicted time and the first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene;
[0159] Step S308, determining the second predicted time according to S0, C2 and C0, and sending second movement information of the virtual object to the server, wherein C2 represents the sending time of the second movement information sent by the first client to the server, the second movement information includes the second predicted time and the second coordinate, the second predicted time represents the predicted time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene;
[0160] The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
[0161] like Figure 5 As shown, the first client sends a time synchronization request to the server at a fixed time interval, and receives a time synchronization data packet sent by the server at time C0, wherein the time synchronization data packet includes the server time S0 on the server.
[0162] Assuming that the first client sends the first movement information to the server at time C1, the first prediction time S1'=S0+C1-C0 is calculated. Similarly, assuming that the first client sends the second movement information to the server at time C2, the second prediction time S2'=S0+C2-C0 is calculated.
[0163] Alternatively, the first prediction time and the second prediction time are calculated by using the method of first prediction time S1'=S0+C1-C0+RTT, second prediction time S2'=S0+C2-C0+RTT, wherein RTT is the total duration of the first network delay for the first client to send the first mobile information to the server and the second network delay for the first client to receive a confirmation message for the first mobile information sent by the server.
[0164] Through the above method, time synchronization between the server and the first client can be achieved, and a synchronization timestamp can be added to the subsequent movement information, thereby accurately limiting the frequency of mobile information reporting and the reported movement distance, reducing the probability of misjudgment in background detection, and limiting the conditions for players to cheat using plug-in tools.
[0165] In order to solve the problem of low accuracy in the above-mentioned virtual object detection process, a method for displaying a virtual object is also proposed in the embodiment of the present application, which is applied to the second client (third party). The specific process is as follows: Figure 4 The following steps are shown:
[0166] Step S402, receiving first movement information, second movement information and a set of predicted movement information sent by the server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is the predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0167] Step S404, displaying a process of a virtual object in a game scene moving from a first position to a second position according to the first movement information, the second movement information and a set of predicted movement information.
[0168] When the server verifies the first movement information and the second movement information reported by the first client, the server sends the first movement information, the second movement information and a set of predicted movement information to the second client, and displays the process of the virtual object in the game scene moving from the first position to the second position in the second client according to the first movement information, the second movement information and the set of predicted movement information.
[0169] For example, based on the server logic simulation, Figure 6 The predicted coordinates and predicted time of the simulated position shown in (a) above display the process of the virtual object moving from the first position to the second position in the second client.
[0170] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0171] According to another aspect of the embodiment of the present application, there is also provided Fig. 9 A virtual object detection device is shown, the device comprising:
[0172] The first acquisition unit 902 is used to acquire first movement information and second movement information of the virtual object sent by the first client to the server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene;
[0173] A first processing unit 904 is used to determine a predicted average speed of the virtual object in the historical movement process according to a target distance and a target predicted time difference, wherein the target distance is a distance between the first coordinate and the second coordinate, and the target predicted time difference is a time difference obtained by subtracting the first predicted time from the second predicted time;
[0174] The second processing unit 906 is configured to determine that there is an abnormality in the moving speed of the virtual object when at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition.
[0175] Optionally, the second processing unit 906 includes:
[0176] The first processing module is used to determine that there is an abnormality in the moving speed of the virtual object when the preset conditions include at least one of N conditions and at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy at least one of the N conditions, where N is a positive integer greater than or equal to 2.
[0177] Among them, the N conditions include:
[0178] The first predicted time is less than the first receiving time, and the second predicted time is less than the second receiving time, wherein the first receiving time is the actual time when the server receives the first mobile information, and the second receiving time is the actual time when the server receives the second mobile information;
[0179] The target prediction time difference is greater than or equal to the inverse of the target frame rate, wherein the first client is configured to send movement information of the virtual object to the server according to the target frame rate;
[0180] The time difference between the first receiving time and the first predicted time is greater than a multiple of the network delay time, where the network delay time is the total time between the first client sending the first mobile information to the server and the first client receiving a confirmation message of the first mobile information sent by the server;
[0181] The predicted average speed is less than an average speed threshold, where the average speed threshold is a speed determined based on attribute information of the virtual object, the attribute information of the virtual object includes performance parameters of the virtual object and hardware parameters of a target terminal, and the target terminal is used to display the virtual object in a game scene.
[0182] Optionally, the above device further includes:
[0183] a fifth processing unit, configured to determine, in a case where the first movement information and the second movement information are movement information of the virtual object sent twice consecutively by the first client to the server, a set of predicted movement information of the virtual object according to the first movement information and the second movement information, wherein the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates representing positions of the virtual object at the M predicted times in a process in which the virtual object moves from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0184] The second sending unit is used to send the first movement information, the second movement information and a set of predicted movement information to the second client, wherein the second client is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and the set of predicted movement information.
[0185] Optionally, the fifth processing unit includes:
[0186] The second processing module is used to determine M prediction times and M prediction coordinates according to the target prediction time difference and the first movement parameter when the first movement information also includes a first movement parameter, wherein the first movement parameter includes a first movement speed of the virtual object at the first position, or the first movement speed and first movement acceleration of the virtual object at the first position.
[0187] Optionally, the second processing module includes:
[0188] A first processing submodule, configured to evenly divide the target prediction time difference into M+1 time intervals, and determine the time separated from the first prediction time by 1 to M time intervals as M prediction times;
[0189] A second processing submodule is used to determine M predicted coordinates according to the first coordinate, the first moving speed and the M predicted times when the first moving parameter includes the first moving speed, wherein the distance between the i-th coordinate in the M predicted coordinates and the first coordinate is equal to the product of the first moving speed and i time intervals, and i is a positive integer greater than or equal to 1 and less than or equal to M;
[0190] The third processing submodule is used to determine M predicted coordinates according to the first coordinates, the first moving speed, the first moving acceleration and M predicted times when the first moving parameter includes a first moving speed and a first moving acceleration, wherein the distance between the i-th coordinates in the M predicted coordinates is the distance determined based on the first moving speed, the first moving acceleration and i time intervals.
[0191] Optionally, the above device further includes:
[0192] A third sending unit is used to send a time synchronization data packet to the first client in response to a time synchronization request sent by the first client before acquiring the first movement information and the second movement information of the virtual object sent by the first client to the server, wherein the time synchronization data packet includes the server time on the server;
[0193] The first predicted time is the predicted time determined according to S0, C1 and C0, S0 represents the server time, C1 represents the sending time of the first mobile information sent by the first client to the server, and C0 represents the receiving time of the time synchronization data packet received by the first client;
[0194] The second predicted time is a predicted time determined according to S0, C2 and C0, and C2 represents the sending time of the second movement information sent by the first client to the server.
[0195] Optionally, the third sending unit includes:
[0196] A first calculation module, used for calculating the difference between C1 and C0 to obtain a first difference;
[0197] A second calculation module, used for calculating the difference between C2 and C0 to obtain a second difference;
[0198] A first summing module, used for summing S0 and the first difference to obtain a first predicted time;
[0199] The second summing module is used to sum S0 and the second difference to obtain a second predicted time.
[0200] Optionally, the third sending unit includes:
[0201] A third calculation module, used for calculating the difference between C1 and C0 to obtain a first difference;
[0202] A fourth calculation module, used for calculating the difference between C2 and C0 to obtain a second difference;
[0203] A third summing module, configured to sum S0, the first difference and RTT to obtain a first predicted time;
[0204] A fourth summing module, used for summing S0, the second difference and RTT to obtain a second predicted time;
[0205] RTT represents the network delay duration, which is the total duration between the first client sending the first mobile information to the server and the first client receiving the confirmation message of the first mobile information sent by the server.
[0206] Optionally, the above device further includes:
[0207] The sixth processing unit is used to control the account in the first client to go offline or control the account to be restricted in the game scene when it is determined that the moving speed of the virtual object is abnormal.
[0208] According to another aspect of the embodiment of the present application, there is also provided Fig.10 A virtual object detection device is shown, the device comprising:
[0209] The first sending unit 1002 is used to send a time synchronization request to the server;
[0210] A second acquisition unit 1004 is used to acquire a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server;
[0211] The third processing unit 1006 is used to determine the first predicted time according to S0, C1 and C0, and send the first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first movement information sent by the first client to the server, C0 represents the receiving time of the time synchronization data packet received by the first client, the first movement information includes the first predicted time and the first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene;
[0212] a fourth processing unit 1008, configured to determine a second prediction time according to S0, C2, and C0, and send second movement information of the virtual object to the server, wherein C2 represents the sending time of the second movement information sent by the first client to the server, the second movement information includes the second prediction time and the second coordinate, the second prediction time represents the prediction time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene;
[0213] The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
[0214] According to another aspect of the embodiment of the present application, there is also provided Fig.11 A display device for a virtual object is shown, the device comprising:
[0215] The receiving unit 1102 is used to receive first movement information, second movement information and a set of predicted movement information sent by the server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is the predicted movement information determined according to the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0216] The display unit 1104 is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and a set of predicted movement information.
[0217] By applying the above device to the first movement information and the second movement information sent by the first client to the server at a preset time interval, which respectively include the first predicted time when the server receives the first movement information and the second predicted time when the server receives the second movement information, the server determines the target distance and the target predicted time difference according to the first movement information and the second movement information, calculates the predicted average speed of the virtual object in the historical movement process, and then judges whether there is an abnormality in the movement speed of the virtual object based on the predicted average speed, the first predicted time and the second predicted time. In other words, by synchronizing the first client and the server, a timestamp is added to the movement information, so that the server can calculate a more accurate predicted average speed, thereby obtaining a more accurate detection result based on the predicted average speed, reducing the misjudgment rate, and achieving the technical effect of improving the accuracy of the detection results of the virtual object.
[0218] It should be noted that the embodiments of the virtual object detection device here can refer to the embodiments of the virtual object detection method described above, which will not be described in detail here.
[0219] According to another aspect of the embodiments of the present application, an electronic device for implementing the above-mentioned virtual object detection method is also provided. The electronic device may be Fig.12 The terminal device shown in FIG. This embodiment is described by taking the electronic device as a background device as an example. Fig.12 As shown, the electronic device includes a memory 1202 and a processor 1204. The memory 1202 stores a computer program, and the processor 1204 is configured to execute the steps in any of the above method embodiments through the computer program.
[0220] Optionally, in this embodiment, the electronic device may be located in at least one network device among a plurality of network devices of a computer network.
[0221] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0222] S11, obtaining first movement information and second movement information of a virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene;
[0223] S12, determining a predicted average speed of the virtual object in the historical movement process according to a target distance and a target predicted time difference, wherein the target distance is a distance between the first coordinate and the second coordinate, and the target predicted time difference is a time difference obtained by subtracting the first predicted time from the second predicted time;
[0224] S13: When at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition, determining that there is an abnormality in the moving speed of the virtual object.
[0225] Alternatively, the processor may also be configured to execute the following steps through a computer program:
[0226] S21, sending a time synchronization request to the server;
[0227] S22, obtaining a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server;
[0228] S23, determining a first predicted time according to S0, C1 and C0, and sending first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first movement information sent by the first client to the server, C0 represents the receiving time of the time synchronization data packet received by the first client, the first movement information includes a first predicted time and a first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene;
[0229] S24, determining a second prediction time according to S0, C2 and C0, and sending second movement information of the virtual object to the server, wherein C2 represents the sending time of the second movement information sent by the first client to the server, the second movement information includes the second prediction time and the second coordinate, the second prediction time represents the prediction time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene;
[0230] The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
[0231] Alternatively, the processor may also be configured to execute the following steps through a computer program:
[0232] S31, receiving first movement information, second movement information and a set of predicted movement information sent by a server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is the predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0233] S32, displaying a process of a virtual object in a game scene moving from a first position to a second position according to the first movement information, the second movement information and a set of predicted movement information.
[0234] Alternatively, a person skilled in the art may understand that: Fig.12 The structure shown is for illustration only, and the electronic device may also be a target terminal such as a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a PDA, and a mobile Internet device (MID), a PAD, etc. Fig.12 The electronic device and the electronic equipment described above are not limited in structure. Fig.12 More or fewer components (such as network interfaces, etc.) as shown in, or with Fig.12 Different configurations are shown.
[0235] Among them, the memory 1202 can be used to store software programs and modules, such as the program instructions / modules corresponding to the virtual object detection method and device in the embodiments of the present application. The processor 1204 executes various functional applications and data processing by running the software programs and modules stored in the memory 1202, that is, to implement the above-mentioned virtual object detection method or virtual object display method. The memory 1202 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1202 may further include a memory remotely arranged relative to the processor 1204, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 1202 can be specifically, but not limited to, used to store first movement information, second movement information, and first prediction time, etc. As an example, such as Fig.12 As shown, the memory 1202 may include, but is not limited to, the first acquisition unit 902, the first processing unit 904, and the second processing unit 906 in the virtual object detection device, or the first sending unit 1002, the second acquisition unit 1004, the third processing unit 1006, and the fourth processing unit 1008 in the virtual object detection device, or the receiving unit 1102 and the display unit 1104 in the virtual object display device. In addition, other module units in the virtual object detection device may also be included but are not limited to, which will not be repeated in this example.
[0236] Optionally, the transmission device 1206 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 1206 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 1206 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0237] In addition, the electronic device further includes: a display 1208 for displaying the direction prompt information of the target sound; and a connection bus 1210 for connecting various module components in the electronic device.
[0238] In other embodiments, the target terminal or server may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. Among them, a peer-to-peer network may be formed between the nodes, and any form of computing device, such as a server, terminal or other electronic device, may become a node in the blockchain system by joining the peer-to-peer network.
[0239] According to another aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the virtual object detection method provided in various optional implementations of the above-mentioned server verification processing and other aspects, wherein the computer program is configured to execute the steps of any of the above-mentioned method embodiments when running.
[0240] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:
[0241] S11, obtaining first movement information and second movement information of a virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene;
[0242] S12, determining a predicted average speed of the virtual object in the historical movement process according to a target distance and a target predicted time difference, wherein the target distance is a distance between the first coordinate and the second coordinate, and the target predicted time difference is a time difference obtained by subtracting the first predicted time from the second predicted time;
[0243] S13: When at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition, determining that there is an abnormality in the moving speed of the virtual object.
[0244] Alternatively, the computer-readable storage medium may also be configured to store a computer program for performing the following steps:
[0245] S21, sending a time synchronization request to the server;
[0246] S22, obtaining a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server;
[0247] S23, determining a first predicted time according to S0, C1 and C0, and sending first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first movement information sent by the first client to the server, C0 represents the receiving time of the time synchronization data packet received by the first client, the first movement information includes a first predicted time and a first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene;
[0248] S24, determining a second prediction time according to S0, C2 and C0, and sending second movement information of the virtual object to the server, wherein C2 represents the sending time of the second movement information sent by the first client to the server, the second movement information includes the second prediction time and the second coordinate, the second prediction time represents the prediction time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene;
[0249] The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
[0250] Alternatively, the computer-readable storage medium may also be configured to store a computer program for performing the following steps:
[0251] S31, receiving first movement information, second movement information and a set of predicted movement information sent by a server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is the predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1;
[0252] S32, displaying a process of a virtual object in a game scene moving from a first position to a second position according to the first movement information, the second movement information and a set of predicted movement information.
[0253] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing the hardware related to the target terminal through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc.
[0254] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0255] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to execute all or part of the steps of the methods of each embodiment of the present application.
[0256] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0257] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, for 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0258] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0259] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0260] The above are only preferred implementations of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for detecting a virtual object, characterized in that: Applicable to servers, including: Acquire first movement information and second movement information of a virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; determining a predicted average speed of the virtual object during the historical movement according to a target distance and a target predicted time difference, wherein the target distance is the distance between the first coordinate and the second coordinate, and the target predicted time difference is a time difference obtained by subtracting the first predicted time from the second predicted time; When at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition, it is determined that there is an abnormality in the moving speed of the virtual object.
2. The method according to claim 1, characterized in that When at least one of the predicted average speed, the first predicted time, and the second predicted time does not meet a preset condition, determining that the moving speed of the virtual object is abnormal includes: When the preset condition includes at least one of N conditions, and at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy at least one of the N conditions, it is determined that there is an abnormality in the moving speed of the virtual object, where N is a positive integer greater than or equal to 2.
3. The method according to claim 2, characterized in that The N conditions include: The first predicted time is less than a first receiving time, and the second predicted time is less than a second receiving time, wherein the first receiving time is an actual time when the server receives the first mobile information, and the second receiving time is an actual time when the server receives the second mobile information; The target prediction time difference is greater than or equal to the inverse of a target frame rate, wherein the first client is configured to send movement information of the virtual object to the server according to the target frame rate; The time difference between the first receiving time and the first predicted time is greater than a multiple of a network delay duration, where the network delay duration is a total duration between when the first client sends the first movement information to the server and when the first client receives a confirmation message of the first movement information sent by the server; The predicted average speed is less than an average speed threshold, wherein the average speed threshold is a speed determined based on attribute information of the virtual object, the attribute information of the virtual object includes performance parameters of the virtual object and hardware parameters of a target terminal, and the target terminal is used to display the virtual object in the game scene.
4. The method according to claim 1, characterized in that The method further comprises: In a case where the first movement information and the second movement information are movement information of the virtual object sent by the first client to the server twice consecutively, determining a set of predicted movement information of the virtual object according to the first movement information and the second movement information, wherein the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates representing the positions of the virtual object at the M predicted times in a process in which the virtual object moves from the first position to the second position, and M is a positive integer greater than or equal to 1; The first movement information, the second movement information and the set of predicted movement information are sent to a second client, wherein the second client is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and the set of predicted movement information.
5. The method according to claim 4, characterized in that Determining a set of predicted movement information of the virtual object according to the first movement information and the second movement information, comprising: In the case where the first movement information also includes a first movement parameter, the M prediction times and the M prediction coordinates are determined according to the target prediction time difference and the first movement parameter, wherein the first movement parameter includes the first movement speed of the virtual object at the first position, or the first movement speed and first movement acceleration of the virtual object at the first position.
6. The method according to claim 5, characterized in that The determining the M prediction times and the M prediction coordinates according to the target prediction time difference and the first movement parameter includes: Divide the target prediction time difference into M+1 time intervals on average, and determine the time that is 1 to M time intervals away from the first prediction time as the M prediction times; In a case where the first movement parameter includes the first movement speed, determining the M predicted coordinates according to the first coordinate, the first movement speed, and the M predicted times, wherein a distance between an i-th coordinate of the M predicted coordinates and the first coordinate is equal to a product of the first movement speed and i time intervals, where i is a positive integer greater than or equal to 1 and less than or equal to M; In a case where the first moving parameter includes the first moving speed and the first moving acceleration, the M predicted coordinates are determined based on the first coordinates, the first moving speed, the first moving acceleration and the M predicted times, wherein the distance between the i-th coordinates in the M predicted coordinates is a distance determined based on the first moving speed, the first moving acceleration and the i time intervals.
7. The method according to any one of claims 1 to 6, characterized in that Before acquiring the first movement information and the second movement information of the virtual object sent by the first client to the server, the method further includes: In response to the time synchronization request sent by the first client, sending a time synchronization data packet to the first client, wherein the time synchronization data packet includes the server time on the server; The first predicted time is a predicted time determined according to S0, C1 and C0, S0 represents the server time, C1 represents the sending time of the first mobile information sent by the first client to the server, and C0 represents the receiving time of the time synchronization data packet received by the first client; The second predicted time is a predicted time determined according to S0, C2 and C0, and C2 represents the sending time of the second mobile information sent by the first client to the server.
8. The method according to claim 7, characterized in that The first prediction time is a prediction time determined according to S0, C1 and C0, and the second prediction time is a prediction time determined according to S0, C2 and C0, including: Calculate the difference between C1 and C0 to obtain a first difference; Calculate the difference between C2 and C0 to obtain a second difference; Summing S0 and the first difference to obtain the first predicted time; S0 and the second difference are summed to obtain the second predicted time.
9. The method according to claim 7, characterized in that: The first prediction time is a prediction time determined according to S0, C1 and C0, and the second prediction time is a prediction time determined according to S0, C2 and C0, further comprising: Calculate the difference between C1 and C0 to obtain a first difference; Calculate the difference between C2 and C0 to obtain a second difference; Summing S0, the first difference and RTT to obtain the first predicted time; Summing S0, the second difference and RTT to obtain the second predicted time; Here, RTT represents the network delay duration, which is the total duration between the first client sending the first mobile information to the server and the first client receiving a confirmation message of the first mobile information sent by the server.
10. The method according to any one of claims 1 to 6, characterized in that The method further comprises: When it is determined that the moving speed of the virtual object is abnormal, the account in the first client is controlled to be offline or the operation of the account in the game scene is controlled to be restricted.
11. A method for detecting a virtual object, characterized in that: Applied to the first client, including: Send a time synchronization request to the server; Acquire a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes the server time on the server; Determine a first predicted time according to S0, C1 and C0, and send first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first client sending the first movement information to the server, C0 represents the receiving time of the time synchronization data packet received by the first client, and the first movement information includes the first predicted time and a first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents the first position of the virtual object in the game scene; Determine a second prediction time according to S0, C2, and C0, and send second movement information of the virtual object to the server, wherein C2 represents the sending time of the second movement information sent by the first client to the server, the second movement information includes the second prediction time and a second coordinate, the second prediction time represents the prediction time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene; The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
12. The method according to claim 11, characterized in that The first prediction time=S0+C1-C0, the second prediction time=S0+C2-C0; or The first predicted time = S0 + C1-C0 + RTT, the second predicted time = S0 + C2-C0 + RTT; wherein RTT represents the network delay duration, and the network delay duration is the total duration between the first client sending the first mobile information to the server and the first client receiving the confirmation message of the first mobile information sent by the server.
13. A method for displaying a virtual object, characterized in that: Applied to the second client, including: Receive first movement information, second movement information and a set of predicted movement information sent by a server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1; The process of the virtual object in the game scene moving from the first position to the second position is displayed according to the first movement information, the second movement information and the set of predicted movement information.
14. A virtual object detection device, characterized in that: include: A first acquisition unit is used to acquire first movement information and second movement information of a virtual object sent by a first client to a server, wherein the first movement information includes a first prediction time and a first coordinate, the first prediction time indicates the prediction time when the server receives the first movement information, the first coordinate indicates the first position of the virtual object in the game scene, and the second movement information includes a second prediction time and a second coordinate, the second prediction time indicates the prediction time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene; a first processing unit, configured to determine a predicted average speed of the virtual object during a historical movement according to a target distance and a target predicted time difference, wherein the target distance is a distance between the first coordinate and the second coordinate, and the target predicted time difference is a time difference obtained by subtracting the first predicted time from the second predicted time; The second processing unit is configured to determine that there is an abnormality in the moving speed of the virtual object when at least one of the predicted average speed, the first predicted time, and the second predicted time does not satisfy a preset condition.
15. A virtual object detection device, characterized in that: include: A first sending unit, used to send a time synchronization request to a server; A second acquisition unit, configured to acquire a time synchronization data packet sent by the server in response to the time synchronization request, wherein the time synchronization data packet includes a server time on the server; a third processing unit, configured to determine a first predicted time according to S0, C1, and C0, and send first movement information of the virtual object to the server, wherein S0 represents the server time, C1 represents the sending time of the first client sending the first movement information to the server, C0 represents the receiving time of the first client receiving the time synchronization data packet, the first movement information includes the first predicted time and a first coordinate, the first predicted time represents the predicted time when the server receives the first movement information, and the first coordinate represents a first position of the virtual object in the game scene; a fourth processing unit, configured to determine a second prediction time according to S0, C2, and C0, and send second movement information of the virtual object to the server, wherein C2 represents a sending time when the first client sends the second movement information to the server, the second movement information comprises the second prediction time and a second coordinate, the second prediction time represents a prediction time when the server receives the second movement information, and the second coordinate represents the second position when the virtual object moves from the first position to the second position in the game scene; The first moving time and the second moving time are used to determine whether there is an abnormality in the moving speed of the virtual object.
16. A display device for a virtual object, characterized in that: include: a receiving unit, configured to receive first movement information, second movement information, and a set of predicted movement information sent by a server, wherein the first movement information includes a first predicted time and a first coordinate, the first predicted time indicates the predicted time when the server receives the first movement information, and the first coordinate indicates the first position of the virtual object in the game scene, the second movement information includes a second predicted time and a second coordinate, the second predicted time indicates the predicted time when the server receives the second movement information, and the second coordinate indicates the second position when the virtual object moves from the first position to the second position in the game scene, the set of predicted movement information is predicted movement information determined based on the first movement information and the second movement information, the set of predicted movement information includes M predicted times and M predicted coordinates, the M predicted coordinates indicate the position of the virtual object at the M predicted times in the process of the virtual object moving from the first position to the second position, and M is a positive integer greater than or equal to 1; A display unit is used to display the process of the virtual object in the game scene moving from the first position to the second position according to the first movement information, the second movement information and the set of predicted movement information.
17. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program can be executed by a terminal device or a computer to execute the method described in any one of claims 1 to 10, or the method described in any one of claims 11-12, or the method described in claim 13.
18. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the computer program / instructions implement the steps of the method described in any one of claims 1 to 10, or perform the steps of the method described in any one of claims 11-12, or perform the steps of the method described in claim 13.
19. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method described in any one of claims 1 to 10, or the method described in any one of claims 11-12, or the method described in claim 13 through the computer program.