CN105704166B - Robot system, realization method thereof, client, server and game system - Google Patents

Robot system, realization method thereof, client, server and game system Download PDF

Info

Publication number
CN105704166B
CN105704166B CN201610273513.9A CN201610273513A CN105704166B CN 105704166 B CN105704166 B CN 105704166B CN 201610273513 A CN201610273513 A CN 201610273513A CN 105704166 B CN105704166 B CN 105704166B
Authority
CN
China
Prior art keywords
robot
client
server
player
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610273513.9A
Other languages
Chinese (zh)
Other versions
CN105704166A (en
Inventor
仇俊伟
徐圆
叶均杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201610273513.9A priority Critical patent/CN105704166B/en
Publication of CN105704166A publication Critical patent/CN105704166A/en
Application granted granted Critical
Publication of CN105704166B publication Critical patent/CN105704166B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a robot system, comprising: the system comprises a robot server management center, at least one robot server connected with the robot server management center and at least one robot client connected with each robot server, wherein each robot server is connected with a game server through the robot server management center; at least one robotic player created by the robotic client to enable communication with the game server; the robot player is used for entering the game to execute the specified operation. The embodiment of the invention also discloses an implementation method of the robot system, a robot client, a robot server and a game system.

Description

Robot system, realization method thereof, client, server and game system
Technical Field
The invention relates to the field of game object control, in particular to a robot system, an implementation method thereof, a robot client, a robot server and a game system.
Background
A Game Master (GM), also called a network manager, is a responsible person in a network game who hosts a game or supervises player's behavior and maintains the game environment. The game manager generally performs management by a specific GM command. In addition, during the development process of the game, the tester can also perform various tests on the game through the GM command.
The GM instruction refers to some quick instructions developed for game administrators, the essence of the GM instruction is some functions which can be called, some common GM instructions are generally written in advance and are directly called in a command line when needed. The GM commands may be divided into server GM commands and client GM commands depending on the target of action.
In the existing game system, a monitoring account (GM instruction tool) is established in a game server and is used for monitoring various behaviors of players on the server during actual game operation. Specifically, an invisible character is newly built in the monitoring account to enter the game server, the speech of the real player on the server is monitored in real time, and the character can be controlled to move to different positions on a map to observe various behaviors of the real player.
In addition, in the existing game system, in order to guarantee the normal operation of the game, the pressure test is required to be carried out on the game server. The pressure test is to simulate the software and hardware environment of practical application and the system load of the user in the using process, and run the game for a long time or in an ultra-heavy load manner to test the performance, reliability, stability and the like of the tested system.
In the traditional pressure test method, a real player account is manually created to log in the same server and perform certain operation, or a script simulation client is used for sending login requests and other operations to the server, so that the capability of corresponding operation of the server is tested.
Disclosure of Invention
Through engineering test research, the existing game system monitors the behavior and the game process of a real player by setting an invisible game role, only one data can be modified each time, the data cannot be modified in batches, and the efficiency is low; and the game role is invisible, so that the operation that a real player can do, such as attack, prop use and the like, can not be realized, and the performance of the client/server side under a scene with more players can not be tested. In addition, the existing game system realizes the pressure test through manual operation, the condition that a plurality of clients send requests to the server at the same time cannot be well simulated, and the script batch request cannot completely restore the real operations of login, movement, fighting and the like of a player, so that the pressure test result is not real and the accuracy is not high.
To achieve better GM command execution and stress test effects, we propose a robot system by which a plurality of robot players are created and each robot player is connected to a game server of an existing game system to enter a game to perform automation. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
In order to achieve the above object, the present invention provides a robot system, a robot client, a robot server and a game system, which can perform a corresponding stress test on the game server by a robot player performing a preset AI operation or/and performing an operation corresponding to a GM command, thereby improving test efficiency and accuracy. .
An embodiment of the present invention provides a robot system, including:
a robot server management center;
the robot server management center is connected with the game server;
at least one robot client connected to each of said robot servers through which at least one robot player is created to effect communication with said game server; the robot player is used for entering the game to execute the specified operation.
The embodiment of the invention also provides an implementation method of the robot system, which comprises the following steps:
configuring a robot server management center;
configuring at least one robot server connected with the robot server management center, wherein each robot server is connected with a game server through the robot server management center;
configuring at least one robot client connected to each of said robot servers, through which at least one robot player is created to enable communication with said game server; the robot player is used for entering the game to execute the specified operation.
An embodiment of the present invention further provides a robot client, including:
the communication module is used for connecting the robot server; each robot server is connected with a game server through a robot server management center;
a robotic player creation module for creating at least one robotic player to effect communication with the game server; the robot player is used for entering the game to execute the specified operation.
The embodiment of the invention also provides a robot server, which comprises a first communication module and a second communication module, wherein:
the first communication module is used for connecting the robot server management center and sending downlink data of the game server sent by the robot server management center to the robot client through the second communication module; the robot server management center is connected with a game server;
the second communication module is used for connecting at least one robot client, sending the data of the robot player uploaded by the robot client to the robot server management center through the first communication module, and uploading the data to a game server correspondingly connected by the robot server management center; wherein each said robotic client creates at least one robotic player to effect communication with said game server; the robot player is used for entering the game to execute the specified operation.
The embodiment of the invention also provides a game system, which comprises the robot system, a game server connected with the robot system and at least one game client connected with the game server, wherein a real player logs in the game server through the game client to play with the robot player.
Compared with the prior art, the robot system, the implementation method thereof, the robot client, the robot server and the game system disclosed by the embodiment of the invention create the robot player with a plurality of visible characters through the robot system, and enable the robot player to communicate with the game server of the game system to enter the game to execute automatic operation, so as to play the game together with the real player. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
Drawings
Fig. 1 is a block diagram of a robot system according to an embodiment of the present invention.
Fig. 2 is a flowchart illustrating a robot player starting and initializing process of a robot system according to an embodiment of the present invention.
FIG. 3 is a diagram of a robot player of a robotic system initiating data communication to a game server in accordance with an embodiment of the present invention.
Fig. 4 is a schematic diagram of a game server of a robotic system initiating data communication to a robotic player in accordance with an embodiment of the present invention.
Fig. 5 is a schematic diagram of a battle comparison table created by a robot system according to an embodiment of the present invention.
Fig. 6 is a schematic diagram illustrating a correspondence relationship between a GM command set by a robot system and a robot player operation according to an embodiment of the present invention.
Fig. 7 is a schematic diagram of entering a GM command through a UI interface in a robot system according to an embodiment of the present invention.
Fig. 8 is a flow chart of a preliminary work before a stress test is performed by a robotic system according to an embodiment of the present invention.
Fig. 9 is a flowchart of increasing the number of connections of the robot client by the robot server in the robot system according to the embodiment of the present invention.
Fig. 10 is a flowchart of a robot server in a robot system deleting the number of connections of a robot client according to an embodiment of the present invention.
Fig. 11 is a flowchart of a mechanism for performing disconnection and reconnection by a robot system according to an embodiment of the present invention.
FIG. 12 is a flowchart illustrating an example of a robotic system for conducting a user login stress test of a game server according to an embodiment of the present invention.
Fig. 13 is a flowchart illustrating an example of performing other operation stress tests on a user of a game server using a robotic system according to an embodiment of the present invention.
Fig. 14 is a flowchart of a method for implementing a robot system according to an embodiment of the present invention.
Fig. 15 is a block diagram of a robot client according to an embodiment of the present invention.
Fig. 16 is a block diagram of a robot server according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic structural diagram of a robot system according to an embodiment of the present invention. The robot system (Qarobot system) of the present embodiment plays a game together with a real player by creating a robot player (Qarobot player) to communicate with the real game server. The robot player created by the Qarobot system of the embodiment can enter a game, and execute a preset AI operation or/and execute an operation corresponding to the GM command.
In this embodiment, the robot player refers to a simulated character that can automatically enter a game and automatically complete some actions in the game by simple command control, and is opposite to a real player. However, both the robot player and the real player are visible to the game server, the game server cannot distinguish which are robot players and which are real players, and the game server interacts data with the robot players according to a real flow. The GM command specifically refers to a Game Manager (Game Manager) command. The AI operation specifically refers to an Artificial Intelligence (Artificial Intelligence) operation.
As shown in fig. 1, the Qarobot system 1 disclosed in the present embodiment includes a robot server management center 11, at least one robot server 12 connected to the robot server management center 11, and at least one robot client 13 connected to each robot server 12, wherein each robot server 12 is connected to a game server 21 in a real game system 2 through the robot server management center 11; and at least one robotic player 14 is created by the robotic client 13 to enable communication with the game server 21.
The Qarobot system of this embodiment is connected to a real game server (GameServer)21 through a robot server management center (qaserver manager)11, a game of a general web version may have a plurality of game servers to be selected, and the Qarobot system of this embodiment may designate one of them or reload a server connection protocol, and select a game through a policy. The Qarobot system of the present embodiment interfaces with the game Server 21 through the robot Server (Qarobot Server)12, and the robot Server 12 conforms to a network protocol interface of the game Server, and can normally communicate with the game Server 21 without any obstacle.
Specifically, the robot Server (Qarobot Server)12 of the present embodiment has the following functions:
1) network initialization: establishing tcp connection and monitoring socket;
2) maintaining a client list, and adding or removing robot clients to the client list according to conditions;
3) maintaining a lua data flow table for a robot client, and timely establishing and disconnecting the data flow;
4) and establishing a client reconnection pool, adding a connection object into the client reconnection pool by using a queuing theory, and regularly maintaining the capacity of the connection pool.
Corresponding to the robot Server (Qarobot Server)12 is a robot Client (Qarobot Client)13, and the robot Client 13 implements a Client protocol, which corresponds to the robot Server 12, is overloaded in most cases, and has little relation with the real Client protocol in the game. The robot client 13 has the following functions:
1) a robot player element table (Qarobot element table) is established and maintained. The IP and port of each robot player (Qarobot player) 14 and the chat queue are stored in the meta table, and each IP and port can be read by reading the meta table, and the chat queue is used for storing instructions sent to the Qarobot player;
where the IP and port are the network IP and port of the machine on which the robotic player 14 is located (i.e., the robotic client 13).
2) Reading the ID of the current account of the Qarobot player, and sending a login instruction to the robot client 13 when the instruction is used for controlling the robot client 13 to log in;
here, the account ID is an account in the game, and the Qarobot player logs in the game using the account ID. There may be a plurality of Qarobot players (i.e., a plurality of IDs) under one IP (robot client IP), but one ID can correspond to only one IP.
3) Reading current server information;
4) and analyzing or packaging the chat content according to the instruction format.
Each of the robot clients 13 can generate a plurality of robot players (Qarobot players) 14, which correspond to real players. The robot player 14 is essentially an application program capable of automatically implementing operations/functions corresponding to the real player, and is capable of automatically executing corresponding functions according to a set program after being started; meanwhile, the robot player 14 may also accept a robot instruction (i.e., GM instruction) transmitted by the game administrator in real time.
The Qarobot player is divided into two scenes, one is controlled by a local Client (Qarobot Client)131, the other is controlled by a Telnet Client (Telnet Client)132, the Qarobot player can be helped to complete a simple AI function under the two modes, and a GM instruction sent by a game administrator is received in real time, so that the function of real-time control of the game administrator is realized. Both scenarios are managed by a common robot client 13. The robot server 12, the robot client 13, and the robot player 14 together realize a function of simple AI operation on the robot player 14. The Qarobot player 14 performs the following functions:
1) a game server list (ServerList) defined in a configuration file (config) of a robot server management center (qaserver manager)11 is maintained, which is initialized before a robot player starts up to set game server names, host numbers, IP of game servers, and ports;
it should be noted that since each robot maintains such a server list, if there are multiple game server names in the server list, the robot player can connect to each game server in the list. That is, multiple robotic players created by the same robotic client may connect to different game servers.
2) And reading and responding to the function of the message instructed by the Qarobot Server.
Next, the respective functions and the relationship among the robot server management center 11, the robot server 12, the robot client 13, and the robot player 14 in the Qarobot system of the present embodiment will be further explained by a detailed description.
Starting and initializing robot player by Qarobot system
Referring to fig. 2, fig. 2 shows a process in which a robot player establishes a connection with a game server. To be able to interact normally with the game server, the Qarobot system needs to read the server protocol code. And after the Qarobot system is started, loading a required file according to the configuration file, running a script and initializing data of each party. And then the robot server management center 11 and the robot server 12 are started, and various instructions pushed by the game server can be responded. The robot Client 13 (including the Qarobot Client and the Telnet Client) then starts up, and creates a robot player 14 (after creation and initialization of each robot player, including starting the AI module of each robot player in sequence) to have a recipient for each type of instruction, and to monitor the GM instruction sent by the game administrator. To this end, the Qarobot system has been fully established. The robot player 14 may complete simple AI according to the setting, for example, the robot player 14 connects to the server through the network module, completes a login process through the login module, completes daily login bonus pickup through the bonus pickup module, and the like, and these AI modules have high expandability, and the user may customize different AI modules according to his own game.
After the robot player starts, the administrator may intervene through a game administrator interaction module (which may be provided in the robot server 12 or the robot client 13) to send a GM command to all or a designated robot player to control the robot player.
Data communication between Qarobot player and game server
(1) Qarobot players communicate to a game server
As shown in fig. 3, it is a flow in which the Qarobot player 14 initiates data communication to the game server 21. When the Qarobot player 14 transmits the upstream data to the game server 21, the Qarobot player 14 notifies the robot client 13 of a request according to a setting or an instruction, and the robot client 13 collates information of the request and uploads the collated information to the robot server 12. The robot server 12 obtains the data uploaded by the robot client 13 in a socket manner, packages the data according to a server protocol, sends the data to the game server 21 connected to the robot player 14 through the robot server management center 11, and unpacks the data by the game server 21 according to the server protocol to obtain the request of the robot player 14.
For example, the Qarobot player wishes to receive the bonus, and then the Qarobot player informs the Qarobot Client of a request for receiving the bonus, and the Qarobot Client sorts information of the Qarobot player and uploads the information to the Qarobot Server. And the Qarobot Server sorts the data packet according to the Server-side protocol and uploads the data packet to a game Server connected with a Qarobot player through a QaServer manager. The game server unpacks according to the server side agreement and knows that the player wishes to receive the award.
(2) Game server communicating to Qarobot player
As shown in fig. 4, it is a flow in which the game server 21 initiates data communication to the Qarobot player 14. When the game server 21 transmits downlink data to the Qarobot player 14, the game server 21 generates a corresponding control command or a reply command, packages the data according to the server protocol, and pushes the data to the designated robot server 12 through the robot server management center 11. The data is unpacked by the robot server 12 according to the server protocol and then transmitted to the corresponding robot player 14 through the robot client 13. For the instruction of replying to the request, if the request is sent by the local client 131, the instruction is fed back to the corresponding robot player 14 through the local client 131; if the request is made by the Telnet client 132, the request is sent back to the corresponding robot player 14 through the Telnet client 132.
For example, as described above, if the game server 21 is verified, it is determined to agree with a request for the robot player to receive the bonus and to issue the bonus. Then, the game Server 21 formulates a reply according to the Server-side protocol, and pushes the reply to the designated Qarobot Server through the qaserver manager. And if the request is sent by the Qarobot Client, feeding back the request to the corresponding Qarobot player through the Qarobot Client. If the request is sent by the Telnet Client, the corresponding Qarobot player is sent back through the Telnet Client.
(III) AI operations by the robot Player
The robot player 14 created by the robot system according to the embodiment of the present invention can execute a corresponding AI operation according to a setting or a GM command after being started. Specifically, the robot client 13 performs a corresponding AI operation on each of the robot players after creation according to a setting or GM command, and transmits a corresponding request to the corresponding game server 21 through the robot server 12.
Here, a corresponding AI operation module is set in the robot client 13 for each robot player 14. The AI operation of the robot player of the present embodiment mainly includes the following aspects:
1. login operation
1) The content in the robot player list URS _ TABLE { } in the configuration file (config) is user data, which is used for connecting the client with the next robot, and cur is logged in from the user at the next position;
2) the disconnection reconnection is defined, the disconnection function is executed to call the client network connection module to disconnect the server, reconnection is executed, and a reconnection plan is added in a reconnection table;
3) a top number login mode is defined, and the top number test function can be repeatedly logged in when the account number is logged in;
4) the login modes include a plurality of login modes such as RC4 check login, RSA check login, military command check login and the like, and the passwords of the plurality of encryption modes can be decoded.
2. Automatic chat operations
1) Chat window information: saving the Chinese name and the corresponding ID of the chat channel by using two tables (tables); the chat channel name and ID conversion can be realized through the index of the table.
2) Chat window status: establishing a meta table (meta) to store the open/close state of each chat channel, establishing an index of the channel ID and the open state of the channel each time a channel is newly established, and inquiring and modifying the channel state can be realized through the index of the table.
3) Sending the chat information: a first-in-first-out chat queue is defined and a parameter is defined for recording the length of the current queue. When information needs to be input, the information is stored in the queue, the length of the queue is accumulated, when the input is finished and the information needs to be sent, the information stored in the queue firstly is sent, and the length of the queue is decreased gradually. This ensures that the entered information is sent out in the correct order. Emptying the entered information is done by emptying the queue and clearing the queue length. The parameter of queue length is read when inquiring whether the chat message is empty and the length of the chat message.
3. Moving operation
The robot system maintains a Path table in which 9999 moving paths are stored, and when a robot player receives a moving instruction, if the received instruction is verified to be correct, the robot system moves to a preset random starting point, synchronizes a target location with a server, and moves to the target location.
4. Combat operations
Controlling a robot player to execute an operation corresponding to the GM instruction through a pre-established combat comparison table; wherein, the combat comparison table prestores a mapping relation between the GM instruction and the operation of the robot player.
The battle comparison table is shown in fig. 5, and fig. 5 only shows a part of the mapping relationship in the battle comparison table.
For example, when the robot client 13 receives the GM command, it first sends the message of the received command in the chat window, and then changes the combat state parameter. The reception of the GM command and the transmission of the chat message are defined in the user chat function. And then, when the robot player obtains the current fighting state, executing corresponding fighting actions according to the fighting state parameters. The execution mode of the combat actions is defined in the user combat instruction processing module.
(IV) execution of GM instruction
The robotic player 14 created by the robotic system of embodiments of the present invention may execute GM commands. Specifically, a game administrator can send a GM command to the Qarobot player through the robot system of the embodiment (specifically, an administrator interaction module preset by a robot server or a robot client) to achieve an effect of controlling the robot player. The robot player receives the GM command during the game, and performs operations such as chatting, patrolling, and fighting according to the GM command. After the robot player enters the game, the robot player is defaulted to enter an automatic fighting state, the robot player can be controlled to execute corresponding fighting operation through an instruction, and the realized instruction is shown in fig. 6.
The GM instruction is used for controlling the robot player to execute corresponding operation or acquiring the current state of the robot player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game at least comprises one of the following instructions: move, chat, battle instructions; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client.
Specifically, the Qarobot system may send the GM command to the Qarobot player in two ways, one is a Qarobot Client and the other is a Telnet Client. The former inputs and executes the GM command through a UI interface (as shown in fig. 7), and the latter receives and executes the GM command by establishing Telnet connection. The UI client side is more friendly in man-machine interaction, and the Telnet application scene is general.
And when the robot client receives the GM instruction, the robot client executes corresponding operation acting on a robot player according to the GM instruction and sends a corresponding request to a corresponding game server through the robot server. In specific implementation, the GM command is automatically read by the robot player in the chat channel, and the GM command may be a broadcast command for controlling the designated or all robot players to perform corresponding operations.
(V) pressure test
The Qarobot system provided by the embodiment of the invention can create a plurality of controllable Qarobot players, and is very convenient for pressure testing. First, the Qarobot system can create multiple Qarobot clients/Telnet clients, each of which can also create multiple Qarobot players.
After the robot player exists, the robot player is controlled to log in the same game server as many as possible, so that various stress tests can be carried out on the game server.
The Qarobot system can control the robots to complete operations of selecting accounts, logging in the same server and the like through the GM instruction in batches, and can test the logging pressure born by the server when the number of the robots controlled simultaneously is large enough. In addition, the Qarobot system is also provided with a disconnection reconnection technology, so that the stability and reliability of the pressure measurement of the server can be ensured.
The Qarobot system of the embodiment of the invention can also control the Qarobot player to complete login and AI operation in the game according to the setting without a GM instruction, and then utilize a server protocol to perform the pressure test of the game server.
For example, the Qarobot system of the embodiment of the present invention can be used to perform measurements such as the maximum number of connections of the message server, the maximum number of players supported on one screen, and the like.
Note that the game server is a game server in a general sense, and does not require special processing. It is not possible for the game server to distinguish which are robot players and which are real players. The game server interacts data with the robot player according to a normal flow. This is also the theoretical basis for creating a robot player by the Qarobot Client to complete the stress test of the game server. In the robot client, it is necessary to configure ip and port of the game server to specify which game server the robot player is connected to.
Generally, the stress test in the game requires a clean environment to ensure the accuracy of the test result. Therefore, when the Qarobot system of the embodiment of the present invention is used to perform a stress test on a game server, a unique login server needs to be configured and specified in the Qarobot system, and a clean test database needs to be associated with the login server. When configuring the target game server, the port number, ip and the maximum connection number of the client of the server need to be appointed. In this embodiment, to facilitate multi-game server operation, each robot player has its own ID under a different game server. When a game server is selected to perform compression, the association between each robot player (urs) and the multiple game servers needs to be cancelled, and an association table between the robot player and the designated game server needs to be created again. After these tasks are completed, the robotic system is activated to perform the corresponding pressure test. The preliminary operation flow of the pressure test is shown in fig. 8.
After the robotic system is started (i.e., the robotic player is started), a large number of player ordinary operations can be simulated in the following two ways:
1) the robot player operates automatically: the robot player AI is provided with modules for moving, chatting, automatic fighting and the like, and can simulate the common operation of a common player in a game as long as a sufficient number of robot players log in the same server, and can test the number of players born by the game server at the same time;
2) the GM instruction controls: and controlling the robot player to simultaneously perform operations such as chatting, patrol, fighting, hacking and legal attack and the like by using the GM instruction so as to test the quantity of the client requests which can be received and processed by the game server at the same time.
In order to ensure the stability and reliability of the pressure test, the robot system of the embodiment of the invention schedules and maintains the connection pool through the queue and provides the function of disconnection and reconnection. These two functions are described in detail below:
(1) queue scheduling and connection pool
The Qarobot Server maintains a client list (client _ list) and a lua data stream list (luafd _ list). Each robot client in the client _ list has a corresponding data receiving stream in the lufd _ list, and the data receiving stream is used for storing data sent by the robot client through the socket. The Client _ list acts as a connection pool containing all clients visible to the Qarobot Server. The robot client can uniquely locate the client's connection in the client list within the time cost of O (1) through client.
As shown in fig. 9, if the Qarobot Client requests to connect to the game server, the robot server adds the robot Client (indicating that the connection to the game server is successful) to the Client list, creates a corresponding data stream for the robot Client, and stores the data stream into the lua data stream list. The robot client, which can be connected through the socket, uniquely locates the client and its data stream in the client _ list and the luafd _ list.
Fig. 10 shows a process of removing a robot client (client entity) from a client list, and if the robot client sends a disconnection request to the game server, the robot server first traverses the lua data stream list to find a data stream corresponding to the robot client, removes the data stream of the client from the lua data stream list, and then deletes the robot client from the client list.
(2) Disconnection reconnection technology
In the robot system of the embodiment of the present invention, a maximum CLIENT connection number CLIENT _ CNT is preset for each robot server, and when each robot server receives a number of login requests (specifically, requests of a robot player to log in a game server) sent by a robot CLIENT that is greater than the maximum CLIENT connection number, a preset disconnection reconnection mechanism is started to reconnect the robot CLIENT that has failed in connection for the first time.
When the number of login requests received by each robot server and sent by the robot CLIENT is more than CLIENT _ CNT, the connection resources of the CLIENT are in short supply, and a part of the robot CLIENTs are inevitably failed to connect for the first time and need to reconnect the CLIENT.
The flow of the disconnection reconnection mechanism is shown in fig. 11, and the robot server in the Qarobot system maintains a reconnection table (re _ conn _ list). The robot server adds the robot client end which is failed in the first connection into a preset reconnection table, and records the game server which is requested to be connected by each robot client end which needs to be reconnected and the next connection time, wherein the next connection time is calculated according to the following formula:
Tis connected with=N*T0
Wherein, TIs connected withThe next connection time of the robot client, N is the number of the robot clients in the reconnection list, T0For a preset time interval, for example 30 seconds;
if the current time reaches the next connection time (namely, reconnection time), reconnecting the corresponding robot client (namely, only connecting one robot client);
if the current time reaches the next connection time, judging whether the number of the robot client sides in the reconnection list is larger than a preset threshold value or not, and if so, reconnecting the robot client sides with the number of the threshold value; and if not, only reconnecting the robot client which currently reaches the next connection time.
In addition, the disconnection reconnection mechanism of this embodiment further includes: before adding the robot client end with the first connection failure into a preset reconnection list, judging whether the number of the robot client ends in the reconnection list reaches the maximum length of the reconnection list, if so, abandoning, namely abandoning the reconnection of the robot client end.
In particular, when the GM command is used to perform a stress test on the game server, the robot system of the present invention may preset a robot user list USR _ TABLE, where user data (i.e., robot player data) required for the stress test is stored, where each entry in the list is a user cluster, each user cluster includes at least one user, and each user has its own user ID. In addition, the robot player IDs in each user cluster are continuous, the minimum value and the maximum value of the user IDs are defined in each cluster, and the number of users in the cluster can be calculated through the two data. And adding the user numbers of all the user clusters to obtain the total number of the users of the USR _ TABLE whole TABLE.
Each robot player connection needs to have a robot CLIENT connection support, and each Qarobot server in the Qarobot system defines a CLIENT _ CNT, which represents the maximum number of robot CLIENT connections that can be created.
When testing is carried out by utilizing the GM instruction, the Qarobot server sends the GM instruction to each robot client according to the set robot user list USR _ TABLE. Specifically, the corresponding GM command is sequentially sent to the robot client corresponding to each user cluster according to the sequence of the robot user list from back to front. That is, the use of CLIENT _ CNT follows USR _ TABLE from back to front, creating connections for the last user cluster in USR _ TABLE, then the second to last item … …, and so on until CLIENT _ CNT is exhausted.
When the number of users in the USR _ TABLE is greater than the CLIENT _ CNT, the CLIENT connection resources are in short supply, and it is inevitable that some robot CLIENTs fail to connect for the first time and need to reconnect. At this time, the robot client with the first connection failure can be reconnected by using the disconnection reconnection mechanism.
Queue scheduling, connection pooling, and disconnection reconnecting techniques in stress testing are mentioned above. Here, a case where a game server is tested by controlling a robot player login operation and other operations by a GM command will be described as an example.
Test example 1: user login pressure testing
Referring to fig. 12, after a robot player (Qarobot player, Qarobot for short) created by the robot system of this embodiment is started and initialized, a robot user list USR _ TABLE needs to be created first, a policy for the robot player to send login and logout requests to the game server needs to be formulated according to an actual test target, where it may be set that the robot player sends login requests to the game server sequentially according to an ID sequence, and after login succeeds, the robot player logs out after keeping a random time length with a probability. As the users (i.e., the robot players) in the USR _ TABLE make login requests to the game server one by one, the preset client _ list in the robot server gradually approaches saturation from an empty state. In the process, the user applies for a connection request in the login process, can successfully create a connection Client entity in the system, and stores the connection Client entity in the Client _ list. After the user logs out and disconnects the server, the Client entity corresponding to the user can be destroyed from the Client _ list, and resources are made for other users to be logged in.
If the user logs in at a speed higher than the user sales speed, the number of people logged in by the game server reaches the set maximum connection number CLIENT _ CNT. After the CLIENT _ CNT is reached, the user to be logged in can not join the entity any more in the CLIENT _ list, and the login fails when the Qarobot CLIENT is reflected, and the users are reconnected according to the disconnection reconnection mechanism mentioned above. Theoretically, the excessive users can not log in successfully unless the user logs out and disconnects in the client _ list.
Queue scheduling, connection pool and disconnection reconnection are control modes in which the Qarobot system sends a login request of a robot player to a real game server, and are not strategies for processing user login by the game server. By adjusting the logging-out time interval, setting the number of users of the USR _ TABLE and the usage strategy, at least the following two situations can be simulated: the CLIENT _ CNT users continuously request login in a short time, and the CLIENT _ CNT users are online at the same time. Then, by observing the performance of the real game server under different CLIENT _ CNT values, the maximum supportable number of people online at the same time of the game server can be known, and the stability of the game server when the user login pressure exceeds the supportable level can be obtained, so as to complete the pressure test.
Because the testing connection is the real game server, the tester can normally use other modes to connect the game server for testing in the process of using the Qarobot system, for example, the tester uses real physical equipment to log in and play games, uses a PC game client to log in the game server, and the like. The tester can more intuitively feel the performance of the game server under strong pressure through the methods.
Test example 2: client request processing pressure test for chatting, moving and fighting
The pressure testing method for processing a large number of chatting, moving and fighting requests by the game server is relatively close, and after a large number of robot players log in the game, the GM instruction is used for controlling the appointed robot player to execute corresponding operation. After receiving the instruction, the robot player sends the corresponding robot client request to the game server to be tested during operation, so that the processing capacity of the game server for various requests can be tested. The specific operation flow is shown in fig. 13.
Therefore, compared with the prior art, the robot system provided by the embodiment of the invention has the following advantages in the pressure test of the game server:
1) by using the batch login and disconnection reconnection technology, various login modes can be simulated, the feasibility of logging in the server in various modes can be tested, a large number of login requests can be sent out simultaneously, and the processing capacity of the server for the large number of login requests can be tested.
2) The automatic chatting module of the robot is utilized, the simulation server can read a large amount of chatting data of players, the testing server can read the chatting pressure of the players, and meanwhile the discrimination capability of sensitive words can be tested.
3) The automatic moving module of the robot is utilized to simulate a large number of players running maps in a peak period so as to test the number of the players borne by the server in the peak period and the pressure of the server under a high load in a period of time;
4) the robot can be controlled to simultaneously execute fighting actions by utilizing the robot fighting related module so as to test the capability of a server for receiving a large number of client requests in games, and the robot can be appointed to carry out appointed fighting operation so as to be convenient for positioning problems;
5) the GM instruction can be used for controlling one designated robot and controlling all the test robots in batches, so that the time and labor waste of manual operation of a plurality of account numbers are avoided
6) According to the server protocol, the protocol content can be reloaded in the Qarobot system, almost all robot player AI functions can be realized, and the extensibility is high.
In summary, the robot system of the present embodiment plays a game with a real player by creating a robot player in which a plurality of characters are visible, and enabling the robot player to communicate with a game server of the game system to enter a game to perform an automatic operation. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
Referring to fig. 14, an embodiment of the present invention discloses a method for implementing a robot system, where the method includes steps S141 to S143:
and S141, configuring a robot server management center.
S142, configuring at least one robot server connected with the robot server management center, wherein each robot server is connected with a game server through the robot server management center;
s143, configuring at least one robot client connected with each robot server, wherein at least one robot player is established through the robot client to realize communication with the game server; the robot player is used for entering the game to execute the specified operation.
The robot client comprises a local client or a telnet client.
Specifically, the step S142 specifically includes the following operations:
and configuring the robot server to acquire the data of the robot player uploaded by the robot client in a socket mode, packaging the data according to a server protocol, uploading the data to a game server which is correspondingly connected through the robot server management center, and unpacking the data by the game server according to the server protocol.
And the robot server is configured to unpack the data packet of the game server sent by the robot server management center and send the data packet to a corresponding robot player through the robot client.
And configuring the robot server to create a corresponding data stream for the robot client and store the data stream into a data stream list when receiving a connection request of a newly added robot client, and adding the robot client into the client list.
And configuring the robot server to delete the corresponding data stream in the data stream list according to the robot client when receiving a disconnection request of the robot client, and delete the robot client in the client list.
The robot server is configured to control a robot client corresponding to each robot player according to a set robot user list when the robot server receives a GM instruction to control the robot players to log in, so that each robot client sends a log-in request for connecting with a game server to each robot player; each item in the robot user list is a user cluster, each user cluster comprises at least one user, and each user corresponds to one robot player ID.
And configuring the robot server to sequentially control the robot client corresponding to each user cluster to send corresponding login requests according to the sequence of the robot user list from back to front.
And configuring the robot server to start a preset disconnection reconnection mechanism to reconnect the robot client with the first connection failure when the total number of users in the robot user list is greater than the maximum client connection number set by the robot server. And the robot player IDs in each user cluster are continuous, and the number of users in each user cluster is obtained by limiting the maximum value and the minimum value of the robot player IDs in each user cluster to obtain the number of users in the user cluster, so that the total number of the users in the robot user list is obtained.
In addition, please refer to the above description for the process of executing the disconnection reconnection mechanism, which is not described herein again.
Specifically, the step S143 specifically includes the following operations:
and configuring the robot client to perform corresponding AI operation on each created robot player according to the setting, and sending a corresponding request to a corresponding game server through the robot server. Wherein the AI operation comprises at least one of: login operation, chat operation, mobile operation and combat operation.
Configuring a robot client to create and initialize a robot player according to a preset game server list, wherein the game server list at least comprises one of the following components: the game server name, IP, and port to which each robot player connects.
And configuring the robot client to send login requests to all the recorded game servers according to the game server list when the robot client receives a login GM instruction or executes login operation on a robot player according to set AI operation.
And configuring the robot client to update the established robot player element table after each robot player is created, wherein the ID, the IP and the port of each created robot player are recorded in the robot player element table.
Preferably, the robot player meta table further records an index between the Chinese name of each chat channel and the chat channel ID; the step S143 further includes: and configuring the robot client to inquire or modify the chat channel state according to the index.
Preferably, the robot player meta table further records a first-in first-out chat queue and a chat queue length for each chat channel; the step S143 further includes: and configuring the robot client to send and read chat information through each chat channel. Wherein the chat message comprises a GM command.
And configuring the robot client to execute corresponding operations acting on a robot player according to the GM command when the robot client receives the GM command, and sending corresponding requests to corresponding game servers through the robot server.
The GM instruction is used for controlling the robot player to execute corresponding operation or acquiring the current state of the robot player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game at least comprises one of the following instructions: move, chat, battle instructions; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client. Preferably, the GM command is a broadcast command.
Configuring the robot client to control a robot player to execute an operation corresponding to the GM instruction through a pre-established combat comparison table; wherein, the combat comparison table prestores a mapping relation between the GM instruction and the operation of the robot player.
In addition, the robot system implementing method of the embodiment further includes:
the user login pressure test of the game server is realized by setting different maximum client connection numbers and setting the connection of the robot player to the same game server.
And controlling the robot player to simultaneously execute different operations by generating a broadcast GM instruction, thereby realizing stress test on the capability of the game server to respond to different operations.
As can be seen, the implementation method of the robot system disclosed in this embodiment creates a plurality of robot players whose characters are visible, and enables the robot players to communicate with the game server of the game system to enter a game and execute an automatic operation, so as to play a game with a real player. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
Referring to fig. 15, an embodiment of the present invention discloses a robot client, which includes a communication module 151, a robot player creating module 152, an execution module 153, a robot player meta table updating module 154, a chat channel query modification module 155, and a chat information sending and reading module 156, wherein:
a communication module 151 for connecting the robot server; each robot server is connected with the game server through a robot server management center. Specifically, the communication module 151 is configured to: the uplink data of the robot player are uploaded to a robot server in a socket mode, the robot server packages the data according to a server protocol and then uploads the data to a game server which is correspondingly connected through a robot server management center, and the game server unpacks the data according to the server protocol. The communication module 151 is further configured to: and receiving downlink data which is transmitted to the robot player by the game server and is transmitted by the robot server, wherein the downlink data is transmitted to the robot server by the robot server management center after being packed by the game server according to a server protocol, and is transmitted by the robot server after being unpacked according to the server protocol.
A robotic player creation module 152 for creating at least one robotic player to effect communication with the game server. Specifically, the robot player creating module 152 creates and initializes the robot players according to a preset game server list, where the game server list includes game server names, IPs, and ports to which each robot player is connected.
And the executing module 153 is configured to execute a corresponding AI operation on each created robot player according to a setting or/and execute a corresponding operation acting on the robot player according to the received GM command, and send a corresponding request to the corresponding game server through the robot server by the communication module. Wherein the AI operation comprises at least one of: login operation, chat operation, mobile operation and combat operation; the GM instruction includes at least one of: login instructions and in-game instructions.
The GM instruction is used for controlling the robot player to execute corresponding operation or acquiring the current state of the robot player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game at least comprises one of the following instructions: move, chat, battle instructions; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client. Preferably, the GM command is a broadcast command.
Specifically, when the executing module 153 executes a login operation on each created robot player according to a setting or executes a login operation acting on a robot player according to a received GM command, a login request sent to all recorded game servers is generated according to the game server list.
In addition, when the executing module 153 executes a fighting operation acting on the robot player according to the received GM command, the robot player is controlled to execute an operation corresponding to the GM command through a pre-established fighting comparison table; wherein, the combat comparison table prestores a mapping relation between the GM instruction and the operation of the robot player.
It is understood that the executing module 153 further includes other AI function modules to execute corresponding AI operations.
And a robot player meta table updating module 154, configured to update the established robot player meta table after each robot player is created, where the robot player meta table records an ID, an IP, and a port of each created robot player, and also records an index between a name in each chat channel and an ID of the chat channel, and records a first-in-first-out chat queue and a chat queue length for each chat channel.
The chat channel query modification module 155 is configured to query or modify the chat channel status according to the index between the chinese name of each chat channel and the chat channel ID recorded in the robot player meta table.
The chat message sending and reading module 156 is configured to send and read chat messages through the chat queue of each chat channel.
Preferably, the robot client includes a local client or a telnet client.
As can be seen, the robot client disclosed in the present embodiment plays a game with a real player by creating a robot player in which a plurality of characters are visible, and enabling the robot player to communicate with a game server of a game system to enter a game to perform an automatic operation. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
Referring to fig. 16, an embodiment of the present invention discloses a robot server including a first communication module 161, a second communication module 162, a connection request management module 163, a broadcast GM command processing module 164, and a disconnection reconnection module 165, wherein:
the first communication module 161 is used for connecting the robot server management center, unpacking the downlink data of the game server sent by the robot server management center according to the server protocol, and sending the data to the robot client through the second communication module; the robot server management center is connected with a game server; specifically, the first communication module is configured to: and after the downlink data of the game server sent by the robot server management center is subjected to data unpacking according to a server protocol, the downlink data is sent to a corresponding robot player of the robot client by the second communication module in a socket mode. Wherein the downlink data comprises a GM instruction.
The GM instruction is used for controlling the robot player to execute corresponding operation or acquiring the current state of the robot player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game at least comprises one of the following instructions: move, chat, battle instructions; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client.
Preferably, the GM command is a broadcast command.
The second communication module 162 is configured to connect to at least one robot client (including a local client or a telnet client), package data of a robot player uploaded by the robot client, send the packaged data to the robot server management center through the first communication module according to a server protocol, and upload the data to a game server connected to the robot server management center; wherein each said robotic client creates at least one robotic player to enable communication with said game server. Specifically, the second communication module 162 obtains data of the robot player uploaded by the robot client in a socket manner, packages the data according to a server protocol, and sends the data to the robot server management center through the first communication module 161, the data is uploaded to a game server connected correspondingly by the robot server management center, and the game server unpacks the data according to the server protocol.
A connection request management module 163, configured to create a corresponding data stream for the robot client and store the data stream into a data stream list when the second communication module 162 receives a connection request of a newly added robot client, add the robot client to the client list, and delete the corresponding data stream in the data stream list according to the robot client and delete the robot client in the client list when the second communication module receives a disconnection request of the robot client.
A broadcast GM command processing module 164, configured to, when receiving a broadcast GM command to control the robot players to log in, process the broadcast GM command according to a set robot user list, and send the broadcast GM command to the robot client corresponding to each robot player through the second communication module 162, so that each robot client sends a connection request for each robot player to log in the game server; each item in the robot user list is a user cluster, each user cluster comprises at least one user, and each user corresponds to one robot player ID. The robot player IDs in each user cluster are continuous, and the number of users in each user cluster is obtained by limiting the maximum value and the minimum value of the robot player IDs in each user cluster to obtain the number of users in the user cluster, so that the total number of users in the robot user list is obtained.
The broadcast GM command processing module 164 is further configured to: and sequentially sending the corresponding broadcast GM command to the robot client corresponding to each user cluster according to the sequence of the robot user list from back to front.
And a disconnection reconnection module 165 configured to start a preset disconnection reconnection mechanism to reconnect the robot client with the first connection failure when the total number of users in the robot user list is greater than the maximum client connection number set by the robot server.
For the disconnection reconnection mechanism, reference is made to the above description, which is not repeated herein.
The robot server of the embodiment of the present invention further includes:
the user login pressure test of the game server is realized by setting different maximum client connection numbers and setting the connection of the robot player to the same game server. And
and controlling all the robot players to simultaneously execute corresponding operations by generating or sending a broadcast GM instruction, thereby realizing stress test on the capability of the game server to respond to the operations.
As can be seen, the robot server disclosed in this embodiment enables the robot players, which are created by the robot client and have multiple visible characters, to communicate with the game server of the game system, so that each robot player can enter the game to perform automatic operation, thereby playing the game with the real player. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
Referring back to fig. 1, an embodiment of the present invention also discloses a game system, which includes the robot system as described above, a game server 21 connected to the robot system, and at least one game client 22 connected to the game server 21, wherein a real player 23 logs in the game server 21 through the game client 22 to play with the robot player 14.
As the robot system is added in the game system of the embodiment of the invention, the robot players with visible characters are created through the robot system, and can communicate with the game server of the game system to enter the game to execute automatic operation to play the game together with the real player. Therefore, the robot player executes the preset AI operation or/and the operation corresponding to the GM instruction to perform the corresponding stress test on the game server, so that not only can batch game data modification be realized, but also the efficiency is improved; and the real operations of the player such as login, movement, battle and the like can be completely restored, and the test result is real and accurate.
While the foregoing is directed to the preferred embodiment of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention.

Claims (59)

1. A robotic system, comprising:
a robot server management center;
the robot server management center is connected with the game server;
at least one robot client connected with each robot server, wherein at least one robot player is created by the robot client according to a preset game server list to realize communication with the game server; the robot player is used for entering a game to execute specified operation, the specified operation comprises preset AI operation or/and operation corresponding to a GM instruction, and the robot player can see the game server.
2. The robotic system as claimed in claim 1, wherein the robotic client comprises a local client or a telnet client.
3. The robot system according to claim 1, wherein the robot server is configured to acquire data of the robot player uploaded by the robot client in a socket manner, package the data according to a server protocol, upload the data to the game server connected correspondingly through the robot server management center, and unpack the data according to the server protocol by the game server.
4. The robot system of claim 3, wherein the robot server is further configured to send the data packets of the game server, which are sent via the robot server management center, to the corresponding robot player through the robot client after data unpacking.
5. The robot system according to claim 1, wherein the robot client is configured to perform a corresponding AI operation for each of the robot players after creation according to a setting, and to transmit a corresponding request to a corresponding game server through the robot server.
6. The robotic system as claimed in claim 5, wherein the AI operation includes at least one of: login operation, chat operation, mobile operation and combat operation.
7. The robotic system as claimed in claim 1, wherein the robot client is configured to receive GM commands generated by the robotic system, perform respective operations on a robot player in accordance with the GM commands, and send respective requests to a corresponding game server through a robot server.
8. The robotic system of claim 7, wherein the GM instructions include at least one of: login instructions and in-game instructions.
9. The robotic system as claimed in claim 1, wherein the robotic client creates and initializes a robotic player according to a predetermined list of game servers, the list of game servers including at least one of: the game server name, IP, and port to which each robot player connects.
10. The robot system of claim 9, wherein when the robot client receives a GM command for login or performs a login operation for the robot player according to a set AI operation, a login request is transmitted to all game servers recorded according to the game server list.
11. A robotic system as claimed in claim 1 or 9, wherein the robot client, after creating each robot player, updates an established robot player meta table in which the ID, IP and port of each created robot player are recorded.
12. The robotic system as claimed in claim 11, wherein said robot player meta table further records an index between a name in each chat channel, a channel status, and a chat channel ID, and said robot client queries or modifies chat channel status according to said index.
13. A robotic system as claimed in claim 12 wherein a first-in-first-out chat queue and chat queue length are also recorded for each chat channel in the robot player meta-table, the robot client sending and reading chat information over each chat channel.
14. The robotic system as claimed in claim 13, wherein said chat message includes a GM command.
15. The robotic system as claimed in claim 14, wherein the GM command is a broadcast command.
16. The robotic system as claimed in claim 14, wherein the GM instruction is for controlling the robotic player to perform a corresponding operation or to obtain a current status of the robotic player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game at least comprises one of the following instructions: move, chat, battle instructions; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client.
17. The robot system according to claim 16, wherein the robot client is configured to control the robot player to perform an operation corresponding to the GM command through a pre-established battle map; wherein, the combat comparison table prestores a mapping relation between the GM instruction and the operation of the robot player.
18. A robotic system as claimed in claim 1, wherein the robot server is adapted to, upon receiving a connection request from a newly added robot client, create a corresponding data stream for the robot client and store in a data stream list, and add the robot client in the client list.
19. The robotic system as claimed in claim 18, wherein the robot server is further configured to, upon receiving a disconnection request from a robot client, delete a corresponding data stream in the data stream list according to the robot client and delete the robot client in the client list.
20. The robot system of claim 18, wherein the robot server is further configured to, when receiving a broadcast GM command to control the robot players to perform a login operation, control the robot client corresponding to each robot player according to a set robot user list, so that each robot client sends a login request for connecting to the game server to each robot player; each item in the robot user list is a user cluster, each user cluster comprises at least one user, and each user corresponds to one robot player ID.
21. The robotic system of claim 20, wherein the robot server sequentially controls the robot client corresponding to each user cluster to send the corresponding login request according to a back-to-front order of the robot user list.
22. The robot system according to claim 21, wherein when the total number of users in the robot user list is greater than the maximum number of client connections set by the robot server, the robot server starts a preset disconnection reconnection mechanism to reconnect the robot client whose connection has failed for the first time.
23. A robotic system as claimed in claim 22, wherein the robotic player IDs in each user cluster are consecutive, and wherein the total number of users in the robotic user list is derived by defining a maximum value and a minimum value for the robotic player IDs in each user cluster to derive a number of users in that user cluster.
24. The robotic system as claimed in claim 22, wherein the disconnect reconnect mechanism comprises:
adding the robot client terminal with the first connection failure into a preset reconnection table, and recording the game server requested to be connected by each robot client terminal needing reconnection and the next connection time, wherein the next connection time is calculated according to the following formula:
Tis connected with=N*T0
Wherein, TIs connected withThe next connection time of the robot client, N is the number of the robot clients in the reconnection list, T0Is a preset time interval;
and if the current time reaches the next connection time, reconnecting the corresponding robot client.
25. The robotic system as claimed in claim 24, wherein said disconnect reconnect mechanism further comprises:
if the current time reaches the next connection time, judging whether the number of the robot client sides in the reconnection list is larger than a preset threshold value or not, and if so, reconnecting the robot client sides with the number of the threshold value; and if not, only reconnecting the robot client which currently reaches the next connection time.
26. The robotic system as claimed in claim 24, wherein said disconnect reconnect mechanism further comprises:
before adding the robot client end with the first connection failure into a preset reconnection list, judging whether the number of the robot client ends in the reconnection list reaches the maximum length of the reconnection list, and if so, giving up reconnection on the robot client end.
27. A robotic system as claimed in claim 22, wherein the user login stress test for the game server is performed by setting different maximum numbers of client connections and setting the robot player to connect to the same game server.
28. The robotic system as claimed in claim 27, wherein a stress test of the game server's ability to respond to an operation is accomplished by generating a broadcast GM command to control all robotic players to perform the corresponding operation simultaneously.
29. A method for implementing a robotic system, comprising:
configuring a robot server management center;
configuring at least one robot server connected with the robot server management center, wherein each robot server is connected with a game server through the robot server management center;
configuring at least one robot client connected with each robot server, wherein at least one robot player is established according to a preset game server list through the robot client to realize communication with the game server; the robot player is used for entering a game to execute specified operation, the specified operation comprises preset AI operation or/and operation corresponding to a GM instruction, and the robot player can see the game server.
30. A method for implementing a robotic system as claimed in claim 29, wherein said robotic client comprises a local client or a telnet client.
31. A robot system implementation method as claimed in claim 29, wherein the robot server is configured to obtain data of the robot player uploaded by the robot client in a socket manner, package the data according to a server protocol, upload the data to a game server connected correspondingly through the robot server management center, and unpack the data according to the server protocol.
32. A method for implementing a robot system according to claim 31, wherein the robot server is configured to send the data packet of the game server, which is sent from the robot server management center, to the corresponding robot player through the robot client after unpacking the data packet.
33. A method for implementing a robotic system as claimed in claim 29, wherein the robot client is configured to perform a respective AI operation on each of the robot players after creation according to a setting, and to transmit a respective request to the corresponding game server via the robot server.
34. A method of implementing a robotic system as claimed in claim 33, wherein the AI operation includes at least one of: login operation, chat operation, mobile operation and combat operation.
35. The method of claim 29, wherein the robot client is configured to receive a GM command generated by the robot system, perform a corresponding operation on a robot player according to the GM command, and transmit a corresponding request to a corresponding game server through the robot server.
36. The robotic system implementing method of claim 35, wherein the GM instruction includes at least one of: login instructions and in-game instructions.
37. A method for implementing a robotic system as claimed in claim 29, wherein the robotic client is configured to create and initialize the robotic player from a predetermined list of game servers, the list of game servers including at least one of: the game server name, IP, and port to which each robot player connects.
38. The robot system implementing method of claim 37, wherein the robot client is configured to transmit a login request to all the game servers recorded according to the game server list when it receives a GM command for login or performs a login operation to the robot player according to a set AI operation.
39. A method for implementing a robotic system as claimed in claim 29 or 37, wherein the robotic client is configured to update an established robot player meta table in which the ID, IP and port of each created robot player are recorded after each robot player is created.
40. A method for implementing a robotic system as claimed in claim 39, wherein said robot player meta-table further records an index between each chat channel Chinese name, channel status, and chat channel ID; the method further comprises the following steps: and configuring the robot client to inquire or modify the chat channel state according to the index.
41. A method for implementing a robotic system as claimed in claim 40, wherein said robot player meta table further records a first-in-first-out chat queue and a chat queue length for each chat channel; the method further comprises the following steps: and configuring the robot client to send and read chat information through each chat channel.
42. The robotic system implementing method of claim 41, wherein the chat message comprises a GM instruction.
43. The robotic system implementing method of claim 42, wherein the GM instruction is a broadcast instruction.
44. A method for implementing a robotic system as claimed in claim 42, wherein said GM instruction is used to control a robotic player to perform a corresponding operation or to obtain a current status of the robotic player; the instructions for controlling the robot player to execute the corresponding operations comprise login instructions and in-game instructions, and the login instructions at least comprise one of the following instructions: selecting an account, deleting the account, logging in a server or quitting a login instruction, wherein the instruction in the game comprises a moving instruction, a chatting instruction and a fighting instruction; the acquiring of the current state of the robot player at least comprises one of the following steps: and acquiring the IP, the port, the ID of the robot player, the current login state or the current in-game state of the robot client.
45. A method for implementing a robotic system as claimed in claim 44, wherein said robot client is configured to control a robot player to perform operations corresponding to GM commands via a pre-established combat look-up table; wherein, the combat comparison table prestores a mapping relation between the GM instruction and the operation of the robot player.
46. A method for implementing a robotic system as claimed in claim 29, wherein the robot server is configured to create a corresponding data stream for a newly added robot client and store the data stream in a data stream list when receiving a connection request of the robot client, and to add the robot client to the client list.
47. A robot system implementing method of claim 46, wherein the robot server is configured to delete a corresponding data stream in the data stream list according to the robot client and delete the robot client in the client list when receiving a disconnection request of the robot client.
48. A robot system implementing method according to claim 46, wherein the robot server is configured to control the robot client corresponding to each robot player according to a set robot user list so that each robot client sends a login request for connecting to the game server to each robot player when receiving a GM command to control the robot player to perform a login operation; each item in the robot user list is a user cluster, each user cluster comprises at least one user, and each user corresponds to one robot player ID.
49. A method for implementing a robotic system as claimed in claim 48, wherein the robot server is configured to control the robot client corresponding to each user cluster to send the corresponding login request in turn according to a sequence from back to front of the robot user list.
50. A robot system implementation method as claimed in claim 49, characterized in that the robot server is configured to initiate a preset disconnection reconnection mechanism to reconnect the robot client with the first connection failure when the total number of users in the robot user list is greater than the maximum client connection number set by the robot server.
51. A method for implementing a robotic system as claimed in claim 50, wherein the robotic player IDs in each user cluster are consecutive, and wherein the total number of users in the robotic user list is derived by defining a maximum value and a minimum value for the robotic player IDs in each user cluster to derive a number of users in that user cluster.
52. A method for implementing a robotic system as claimed in claim 50, wherein said disconnection reconnecting mechanism comprises:
adding the robot client terminal with the first connection failure into a preset reconnection table, and recording the game server requested to be connected by each robot client terminal needing reconnection and the next connection time, wherein the next connection time is calculated according to the following formula:
Tis connected with=N*T0
Wherein, TIs connected withThe next connection time of the robot client, N is the number of the robot clients in the reconnection list, T0Is a preset time interval;
and if the current time reaches the next connection time, reconnecting the corresponding robot client.
53. A method for implementing a robotic system as claimed in claim 52, wherein said wire disconnect reconnect mechanism further comprises:
if the current time reaches the next connection time, judging whether the number of the robot client sides in the reconnection list is larger than a preset threshold value or not, and if so, reconnecting the robot client sides with the number of the threshold value; and if not, only reconnecting the robot client which currently reaches the next connection time.
54. A method for implementing a robotic system as claimed in claim 52, wherein said wire disconnect reconnect mechanism further comprises:
before adding the robot client end with the first connection failure into a preset reconnection list, judging whether the number of the robot client ends in the reconnection list reaches the maximum length of the reconnection list, and if so, giving up reconnection on the robot client end.
55. A method for implementing a robotic system as claimed in claim 50, wherein the user login stress test for a game server is implemented by setting different maximum client connections and setting the robot player to connect to the same game server.
56. A method for implementing a robotic system as claimed in claim 55, wherein the robot player is controlled to perform different operations simultaneously by generating broadcast GM instructions to implement a stress test of the game server's ability to respond to different operations.
57. A robotic client, comprising:
the communication module is used for connecting the robot server; each robot server is connected with a game server through a robot server management center;
the robot player creating module is used for creating at least one robot player according to a preset game server list so as to realize communication with the game server; the robot player is used for entering a game to execute specified operation, the specified operation comprises preset AI operation or/and operation corresponding to a GM instruction, and the robot player can see the game server.
58. A robot server, comprising a first communication module and a second communication module, wherein:
the first communication module is used for connecting the robot server management center and sending downlink data of the game server sent by the robot server management center to the robot client through the second communication module; the robot server management center is connected with a game server;
the second communication module is used for connecting at least one robot client, sending the data of the robot player uploaded by the robot client to the robot server management center through the first communication module, and uploading the data to a game server correspondingly connected by the robot server management center; each robot client creates at least one robot player according to a preset game server list so as to realize communication with the game server; the robot player is used for entering a game to execute specified operation, the specified operation comprises preset AI operation or/and operation corresponding to a GM instruction, and the robot player can see the game server.
59. A gaming system comprising a robotic system as claimed in any one of claims 1 to 28, a game server connected to the robotic system, and at least one game client connected to the game server through which a real player logs in to the game server to play with the robotic player, the robotic player being visible to the game server.
CN201610273513.9A 2016-04-27 2016-04-27 Robot system, realization method thereof, client, server and game system Active CN105704166B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610273513.9A CN105704166B (en) 2016-04-27 2016-04-27 Robot system, realization method thereof, client, server and game system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610273513.9A CN105704166B (en) 2016-04-27 2016-04-27 Robot system, realization method thereof, client, server and game system

Publications (2)

Publication Number Publication Date
CN105704166A CN105704166A (en) 2016-06-22
CN105704166B true CN105704166B (en) 2019-12-31

Family

ID=56217778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610273513.9A Active CN105704166B (en) 2016-04-27 2016-04-27 Robot system, realization method thereof, client, server and game system

Country Status (1)

Country Link
CN (1) CN105704166B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
US10249140B1 (en) * 2018-05-10 2019-04-02 Huuuge Global Ltd. System and method for playing online game
CN109120530A (en) * 2018-07-17 2019-01-01 杭州为诺智能科技有限公司 Robot multi-stage scheduling method and system based on WIFI networking
CN109121128B (en) * 2018-08-23 2021-08-17 顺德职业技术学院 Method and system for updating user information under multi-task robot networking
CN109359003B (en) * 2018-10-29 2022-05-20 网易(杭州)网络有限公司 Game server pressure testing method, device and equipment
CN109510882B (en) * 2018-11-19 2022-05-03 网易(杭州)网络有限公司 Communication method and device between game clients, storage medium and electronic device
CN109857567B (en) * 2019-01-30 2021-02-09 网易(杭州)网络有限公司 AI state information synchronization method and device
CN110580119B (en) * 2019-08-28 2021-03-02 深圳市瑞立视多媒体科技有限公司 Control system based on user interface
CN110575667B (en) * 2019-08-28 2023-05-26 深圳市瑞立视多媒体科技有限公司 Control method, device, equipment and storage medium based on UI (user interface)
CN110532484A (en) * 2019-09-12 2019-12-03 网易(杭州)网络有限公司 Methods of exhibiting, device and the electric terminal of data are injured in game
CN111400184B (en) * 2020-03-17 2021-10-29 腾讯科技(深圳)有限公司 Game testing method, device, system, equipment and cloud platform
CN111464422B (en) * 2020-03-27 2022-01-07 京东科技信息技术有限公司 Interaction method, interaction device, electronic equipment and storage medium
CN115842750A (en) * 2022-11-24 2023-03-24 上海安博通信息科技有限公司 Pressure testing method and system for AD domain server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855108A (en) * 2005-04-25 2006-11-01 华为技术有限公司 Method and system for realizing virtual person in on-line Internet programm
EP2116287A1 (en) * 2006-12-12 2009-11-11 Konami Digital Entertainment Co., Ltd. Game system
CN103593294A (en) * 2013-11-21 2014-02-19 福建天晴数码有限公司 Method and system for testing network game performance

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080139317A1 (en) * 2006-12-07 2008-06-12 Humayun Sheikh Electronic game

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1855108A (en) * 2005-04-25 2006-11-01 华为技术有限公司 Method and system for realizing virtual person in on-line Internet programm
EP2116287A1 (en) * 2006-12-12 2009-11-11 Konami Digital Entertainment Co., Ltd. Game system
CN103593294A (en) * 2013-11-21 2014-02-19 福建天晴数码有限公司 Method and system for testing network game performance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
某网络游戏自动化测试工具的设计与实现;陈明霞;《中国优秀硕士学位论文全文数据库》;20150615;全文 *

Also Published As

Publication number Publication date
CN105704166A (en) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105704166B (en) Robot system, realization method thereof, client, server and game system
US11050823B2 (en) Method, apparatus, and system for playing scene animation
US6128660A (en) Network match maker
US11266913B2 (en) Method and apparatus for synchronously displaying game content and storage medium
US8713157B2 (en) System for collecting computer application usage data of targeted application programs executed on a plurality of client devices
CN107404514A (en) Data processing method and device
KR20040096489A (en) Multi-user application program interface
CN105103494A (en) Network switch simulation
CA2534622A1 (en) Methods and apparatus for verifying context participants in a context management system in a networked environment
CN103516587B (en) Instant communication client terminal disconnection reconnection method and device
CN114244602B (en) Multi-user online network service system, method, device and medium
CN111917562A (en) Broadcast message forwarding method, device, equipment and storage medium
CN111803923A (en) Game sharing method based on cloud mobile phone system, electronic equipment and storage medium
CN108261762B (en) Method of data synchronization and device, storage medium and electronic device
CN111803954A (en) Game live broadcast method based on cloud mobile phone, electronic equipment and storage medium
CN109525627A (en) Data transmission method, device, storage medium and electronic device
CN115906999A (en) Management platform of large-scale reinforcement learning training task based on Kubernetes cluster
CN103428070B (en) instant group communication method, session management server and client
CN111600808A (en) Information processing method and device for instant messaging
CN108744499A (en) Processing method, device, storage medium and the electronic device of object
CN106953756B (en) Simulation delay method of service data and server
CN112506729B (en) Fault simulation method and device
CN115277091A (en) Attack and defense method and device in network security competition
CN106790325B (en) Method and system for accessing network equipment
CN113760518A (en) Information processing method, device and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant