CN116747511A - Game server system - Google Patents

Game server system Download PDF

Info

Publication number
CN116747511A
CN116747511A CN202310577223.3A CN202310577223A CN116747511A CN 116747511 A CN116747511 A CN 116747511A CN 202310577223 A CN202310577223 A CN 202310577223A CN 116747511 A CN116747511 A CN 116747511A
Authority
CN
China
Prior art keywords
game
cluster
gateway
service
login
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.)
Pending
Application number
CN202310577223.3A
Other languages
Chinese (zh)
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 CN202310577223.3A priority Critical patent/CN116747511A/en
Publication of CN116747511A publication Critical patent/CN116747511A/en
Pending legal-status Critical Current

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/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a game server system. In the game server system, a login service cluster, a game service cluster and a gateway cluster are connected with a communication cluster, the login service cluster and the game service cluster are connected with a database, the game service cluster is connected with the gateway cluster, and the login service cluster and the gateway cluster are connected with a game client; the database is used for storing game user data; the login service cluster is used for providing login service for the game client and reading or storing game user data in a database in the process; the game service cluster is used for providing game services for the game client and reading or storing game user data in a database in the process; the gateway cluster is used for providing gateway services between the game client and the game service cluster; the communication clusters are used for providing messaging services between clusters. The application provides a decentralised game server system, which simplifies the system architecture and the operation logic of the game server system.

Description

Game server system
Technical Field
The application relates to the technical field of computers, in particular to a game server system.
Background
World games, also known as open world games, or roaming games (free roums), in which players are free to roam in a virtual world and are free to choose the point in time and manner in which to complete a game task. World games can provide players with a sense of freshness, satisfaction, and achievement from exploring the game world autonomously.
The world game is essentially a room game, one player has a game scene, and rarely interacts with other players, and the world game is equivalent to a single game in terms of players; but to the game operator, the game logic is running on the server, as is the usual MMO game (Massive Multiplayer Online game, massively multiplayer online game).
The existing MMO game server system is comprehensively managed by a central node (Master), the degree of dependence on the central node is high, and the process of transferring player characters between different game processes or servers with different functions is complex, so that the problems of state errors and the like are easy to occur.
Disclosure of Invention
The present application provides a game server system to solve or at least partially solve the above-mentioned problems. Specifically, the following is described.
The application provides a game server system, which comprises a communication cluster, a login service cluster, a game service cluster, a gateway cluster and a database, wherein the login service cluster, the game service cluster and the gateway cluster are respectively connected with the communication cluster, the login service cluster and the game service cluster are respectively connected with the database, the game service cluster is connected with the gateway cluster, and the login service cluster and the gateway cluster are respectively connected with a first game client;
the database is used for storing game user data;
the login service cluster is used for providing a game user login service for the first game client and reading or storing game user data in the database in the process of providing the game user login service;
the game service cluster is used for providing game service for the first game client and reading or storing game user data in the database in the process of providing the game service;
the gateway cluster is used for providing gateway services between the first game client and the game service cluster;
The communication cluster is used for providing message communication service among clusters for the login service cluster, the game service cluster and the gateway cluster.
Compared with the prior art, the application has the following advantages:
in the game server system provided by the embodiment of the application, the communication clusters, the login service clusters, the game service clusters, the gateway clusters and the database are deployed, and the game server system provides the login service, the game service and the gateway service in a cluster form, so that the decentralization of the game server system is realized, the service clusters can be freely and transversely expanded, and the dynamic operation requirement is met. In addition, the game server system provides message communication service among the clusters to the login service cluster, the game service cluster and the gateway cluster through the communication cluster, so that the relation among service processes is decoupled, point-to-point connection is not established among the service processes, the service processes all carry out message communication with the communication cluster, simple and efficient server communication is realized, and the process types in the game server system are simplified into three types of login process, game process and gateway process. In this way, the system architecture and the operating logic of the game server system are simplified, and convenience is provided for subsequent development and maintenance.
Drawings
FIG. 1 is a schematic diagram of a prior art architecture for a game server system;
FIG. 2 is a schematic diagram of a game server system according to an embodiment of the present application;
fig. 3 is a schematic diagram of a communication cluster according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a login service cluster according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a game service cluster according to an embodiment of the present application;
fig. 6 is a schematic diagram of a gateway cluster according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the application, as presented in the figures, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. Based on the embodiments of the present application, every other embodiment obtained by a person skilled in the art without making any inventive effort falls within the scope of protection of the present application.
The terms "a," "an," "the," and "said" are used in this specification to denote the presence of one or more elements/components/etc.; the terms "comprising" and "having" are intended to be inclusive and mean that there may be additional elements/components/etc. in addition to the listed elements/components/etc.; the terms "first" and "second" and the like are used merely as labels, and are not intended to limit the number of their objects.
It should be understood that in embodiments of the present application, "at least one" means one or more and "a plurality" means two or more. "and/or" is merely an association relationship describing an association object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship. "comprising A, B and/or C" means comprising any 1 or any 2 or 3 of A, B, C.
It should be understood that in embodiments of the present application, "B corresponding to a", "a corresponding to B", or "B corresponding to a" means that B is associated with a from which B may be determined. Determining B from a does not mean determining B from a alone, but may also determine B from a and/or other information.
Before explaining the embodiments of the present application in detail, a related art will be further described first.
To facilitate understanding of the related art, terms related to the related art are explained below.
Gas (Game Server): the game progress managed by the game server, the progress of the game performed by the fight judgment, character data, and the like, is generally performed on the game server in the game house.
Gac (Game Client): the first game client, the process of presenting a graphical user interface of the character operated by the player, is typically run on the player's terminal device.
Login: the login process managed by the login server is a service process connected first before the player enters the game, and operations such as account verification, role creation and the like can be performed in the process.
Gateway (Gateway): and takes charge of the intermediate process of Gac and Gas communication.
Database process (Database management process): the storage of player data into a database is responsible for processing or reading data from the database and sending it to the Gas process.
Gms: a process for the transmission and reception of GM instructions (Game Master). GM instructions in a game refer to instructions that can perform some special operations in the game.
Master: and a central node process managed by the central node.
URS (User Register Service): the player account manages the authentication system.
FIG. 1 is a schematic diagram of a related art game server system, and as shown in FIG. 1, a conventional MMO game server system is a system for centrally managing a process group by a central node (Master).
The above game server system has the following drawbacks:
1. the association relation among the devices is too complex, the related processes are more, the number of the devices is inconvenient to be increased by lateral expansion, and the lateral expansion of the game server system is necessary along with the increase of the number of players;
2. the degree of dependence on the central node is high, once the central node fails, the whole game server system cannot continue to provide game service, and even serious problems such as data loss occur;
3. the process of transferring the player character between different game processes or servers with different functions is complex, and the problems of state error and the like are easy to occur.
In order to solve the above-mentioned problems, the present application provides a game server system, and referring to fig. 2, an architecture diagram of a game server system provided by an embodiment of the present application is shown. The game server system may include a communication cluster 10, a login service cluster 20, a game service cluster 30, a gateway cluster 40, and a database 50.
The login service cluster 20, the game service cluster 30, and the gateway cluster 40 are respectively connected to the communication cluster 10, the login service cluster 20 and the game service cluster 30 are respectively connected to the database 50, the game service cluster 30 is connected to the gateway cluster 40, and the login service cluster 20 and the gateway cluster 40 are respectively connected to the first game client 60. In the embodiment of the present application, the connection between the clusters and the first game client include a wired communication connection and a wireless communication connection, where the wired communication connection includes a cable connection, an optical fiber connection, and the like, and the wireless communication connection includes an electromagnetic wave communication connection, a microwave communication connection, a satellite communication connection, and the like.
In an alternative embodiment, the game server system may be implemented based on cloud technology.
The first game client device refers to any game client device, and the role of the first game client device is to receive and send data and present game images, for example, the first game client device may be a display device near a user side and having at least a data transmission function, such as a desktop computer, a notebook computer, a game console, a smart watch, a tablet computer, a mobile phone, a television set, and the like, and may also be other terminal devices.
In an alternative embodiment, the first game client device stores a first game client program and is used to present game visuals. The first game client device is used to interact with the player through a graphical user interface, i.e. the first game client program is conventionally downloaded and installed and run through the electronic device. The manner in which the first game client device provides the graphical user interface to the player may include a variety of ways, for example, may be rendered for display on a display screen of the first game client device, or provided to the player by holographic projection. For example, the first game client device may include a display screen for presenting a graphical user interface including game visuals, and a processor for running the game, generating the graphical user interface, and controlling the display of the graphical user interface on the display screen.
In the game server system provided by the embodiment of the application, the following steps are included:
a database 50 for storing game user data. The game user data may specifically include many types of data related to the game user, such as friend relations of the game user, virtual articles held by the game user, game operation records of the game user, and the like, which is not limited by the embodiment of the present application.
A login service cluster 20 for providing a game user login service to the first game client 60 and reading or storing game user data in a database during the process of providing the game user login service. When a game user enters a game, there are requirements for logging in a game account, creating a character, selecting a character, etc., and these requirements before entering the game can be handled by the login server cluster 20. In the process of processing the login related requirements, if new game user data are generated, the new game user data can be stored in a database; if the existing game user data needs to be obtained, the required game user data can be read from the database.
The game service cluster 30 is used for providing game services to the first game client 60 and reading or storing game user data in a database during the process of providing the game services. The game service cluster 30 may be responsible for implementing the main logic of the game to enable normal operation of the game for each successfully logged-in first game client 60.
A gateway cluster 40 for providing gateway services between the first game client 60 and the game service cluster. The gateway service provided by the gateway cluster 40 is essentially to ensure that the connection between the first game client 60 and the game service cluster, i.e. to ensure that the game user is online, and when the game service cluster 40 switches game servers, to ensure that the first game client 60 does not need to reestablish the connection. In addition, gateway cluster 40 may also provide other network services, such as filtering illegal messages of first game client 60, and so forth.
A communication cluster 10 for providing messaging services between the clusters to the login service cluster 20, the game service cluster 30 and the gateway cluster 40. The communication cluster 10 may provide a messaging mechanism such that process communication between clusters connected to the communication cluster 10 may take place by way of consumed messages. In the embodiment of the present application, the login service cluster 20, the game service cluster 30 and the gateway cluster 40 are all connected with the communication cluster 10, so that the login service cluster 20, the game service cluster 30 and the gateway cluster 40 can transmit messages between each other through the communication cluster 10 based on the message communication mechanism provided by the communication cluster 10.
In the embodiment of the application, the login service, the game service and the gateway service all provide support for the equipment architecture in the form of a cluster, and each node can independently execute tasks in the cluster and can share tasks and data with other nodes. This distributed computing approach of the clusters can greatly increase computing power and reliability, so that the clusters can handle large amounts of data and requests. In addition, the cluster can also provide functions of load balancing, fault tolerance, expansibility and the like, so that the whole game server system has higher availability and expandability.
In the game server system provided by the embodiment of the application, no specific central node or centralized control structure exists. Instead, the control and decision rights in the game server system are distributed to individual node devices or members, enabling the decentralization of the game server system. In a decentralized game server system, each node can independently perform tasks and make decisions while also communicating and cooperating with other nodes. The distributed organization structure can improve the flexibility, the expandability and the reliability of the game server system, so that the game server system is more suitable for complex and dynamic environmental changes.
In the embodiment of the present application, since the communication cluster 10 provides a communication mechanism for service devices in the game server system, and a central node is not required to control and make decisions, the process of the game service system is simplified to include: a login process managed by a login service cluster, a game process managed by a game service cluster and a gateway process managed by a gateway cluster.
In the game server system provided by the embodiment of the application, the communication clusters, the login service clusters, the game service clusters, the gateway clusters and the database are deployed, and the game server system provides the login service, the game service and the gateway service in a cluster form, so that the decentralization of the game server system is realized, the service clusters can be freely and transversely expanded, and the dynamic operation requirement is met. In addition, the game server system provides message communication service among the clusters to the login service cluster, the game service cluster and the gateway cluster through the communication cluster, so that the relation among service processes is decoupled, point-to-point connection is not established among the service processes, the service processes all carry out message communication with the communication cluster, simple and efficient server communication is realized, and the process types in the game server system are simplified into three types of login process, game process and gateway process. In this way, the system architecture and the operating logic of the game server system are simplified, and convenience is provided for subsequent development and maintenance.
Fig. 3 illustrates an architecture schematic diagram of a communication cluster 10 according to an embodiment of the present application, where, as shown in fig. 3, the communication cluster 10 may include M communication servers, where the M communication servers provide messaging services in a distributed computing manner.
In one embodiment, the messaging mechanism provided by the communication cluster 10 may be, in particular, a publish-subscribe mode messaging mechanism. The publish-subscribe mode involves two main roles: publishers and subscribers. Before introducing the publish-subscribe mode, an important concept involved in the mode is first introduced: a topic, also called topic, may be assigned to different types of messages or messages published by different objects.
The workflow of the publish-subscribe mode is as follows:
1. the publisher publishes the message: the publisher sends the message to a topic, also referred to as a message channel or message queue.
2. Subscribers subscribe to the topic: subscribers register listeners to a particular topic to receive notifications when publishers publish messages.
The publisher publishes the message to the topic: when a publisher publishes a message to a topic, all registered subscribers receive corresponding notifications.
The subscriber receives the message: subscribers receive the messages and process them. The manner in which the processing is performed depends on the particular implementation, e.g., storing the message in a database or displaying it in a graphical user interface.
The subscriber unsubscribes: the subscriber may unsubscribe if the subscriber no longer wishes to receive notifications from a topic.
The publisher stops publishing: when a publisher stops publishing a message for a topic, all subscribers will no longer receive notifications from that topic.
In general, a message communication mechanism based on a publish-subscribe scheme may enable loosely coupled messaging so that publishers and subscribers can develop and maintain independently.
In the case where the communication cluster 10 adopts a message communication mechanism in a publish-subscribe mode, each communication server in the communication cluster 10 may respectively manage a part of topics, thereby implementing a distributed management manner.
Based on the foregoing, in an alternative embodiment, the communication cluster 10 is specifically configured to provide a messaging service between the clusters based on a publish-subscribe mechanism to the login service cluster 20, the game service cluster 30, and the gateway cluster 40.
Accordingly, the login service cluster 20 is further configured to subscribe to a first topic of the game service cluster 30 for publishing messages in the communication cluster 10 to receive and process messages published by the game service cluster 30 in the first topic, and to subscribe to a second topic of the gateway cluster 40 for publishing messages in the communication cluster 10 to receive and process messages published by the gateway cluster 40 in the second topic;
The game service cluster 30 is further configured to subscribe to a third topic of the login service cluster 20 for publishing messages in the communication cluster 10, so as to receive and process the messages published in the third topic by the login service cluster 20;
gateway cluster 40 is further configured to subscribe to a fourth topic of login service cluster 20 for publishing messages in communication cluster 10, to receive and process messages published in the fourth topic by login service cluster 20.
In the above embodiment, the third topic and the fourth topic of the login service cluster 20 for publishing messages may be the same topic or different topics, and may be set according to actual requirements, which is not specifically limited herein.
In summary, in the game server system, the login service cluster 20 may be the message subscribers of the game service cluster 30 and the gateway cluster 40, and the game service cluster 30 and the gateway cluster 40 may be the message subscribers of the login service cluster 20.
But wherein the gaming service cluster 30 and gateway cluster 40 may not communicate via communication 10. In an alternative embodiment, the game service cluster 30 and the gateway cluster 40 may be connected by a socket long link. This is because, considering that in practical application, performance consideration is available in the communication between the game service cluster 30 and the gateway cluster 40, if there is excessive performance loss in the data interaction through the communication cluster 10, a socket length link may be established between the game service cluster 30 and the gateway cluster 40, and communication is performed through the socket length link, so as to improve performance of the gateway service and improve user experience.
In addition, in an alternative embodiment, the login service cluster 20 and the first game client 60 may also be connected through a socket length link, so as to ensure that the game user is online for a long time, and avoid a loss of connection performance.
As shown in fig. 2, in the above embodiment, the communication cluster 10 provides a subject message subscription and message publishing mechanism, so that the login service cluster 20 and the game service cluster 30 can perform process communication between a login process and a game process through the message subscription publishing mechanism, and the login service cluster 20 and the gateway cluster 40 can perform process communication between the login process and the gateway process through the message subscription publishing mechanism, without relying on management and scheduling of a central node, thereby simplifying the operation logic of the whole game server system and realizing efficient communication inside the game server system.
Fig. 4 is a schematic architecture diagram of a login service cluster 20 according to an embodiment of the present application, where, as shown in fig. 4, the login service cluster 20 may include P login servers, where P login servers provide a game user login service in a distributed computing manner, and each login server may manage at least one login process.
Fig. 5 illustrates an architecture schematic diagram of a game service cluster 30 according to an embodiment of the present application, where, as shown in fig. 5, the game service cluster 30 may include L game servers, where L game servers provide game services in a distributed computing manner, and each game server may manage at least one game process.
Fig. 6 illustrates an architecture schematic diagram of a gateway cluster 40 according to an embodiment of the present application, where, as shown in fig. 6, the gateway cluster 40 may include K gateway devices, where each gateway device may manage at least one gateway process, and the K gateway devices provide gateway services in a distributed computing manner.
In the embodiment of the present application, due to the flexibility of the cluster form in lateral expansion, the number M of communication servers in the communication cluster 10, the number P of login servers in the login service cluster 20, the number L of game servers in the game service cluster 30, and the number K of gateway devices in the gateway cluster 40 may be expanded or contracted according to actual needs (such as the number of players).
In the embodiment of the present application, for simplicity and understanding of the description, the login server in the login service cluster 20, the game server in the game service cluster 30, and the gateway device in the gateway cluster 40 are sometimes collectively referred to as service devices, and it is to be understood that the description is not limited to the present application.
Accordingly, in the embodiment of the present application, the login service cluster 20 may be further configured to add at least one login server to the login service cluster 20 when the load of each login process managed by the login service cluster 20 is higher than a first preset value or a first capacity expansion instruction for the login service cluster 20 is received;
the game service cluster 30 may be further configured to add at least one game server to the game service cluster 30 when the load of each game process managed by the game service cluster 30 is higher than a second preset value or a second expansion instruction for the game service cluster 30 is received;
the gateway cluster 40 may be further configured to add at least one gateway device to the gateway cluster 40 when the load of each gateway process managed by the gateway cluster 40 is higher than a third preset value or a third capacity expansion instruction for the gateway cluster 40 is received.
In one embodiment, when a situation that the number of players is greater, and the like, so that the service devices are loaded higher in a period of time, the login service cluster 20, the game service cluster 30 and the gateway cluster 40 can be expanded, i.e. laterally expanded, so as to add more service devices.
In another embodiment, when a game issuer attracts users through advertisements, so that a game server system is about to face a large number of registered players, in order to avoid a situation that service equipment load is high and it is difficult to guarantee game experience, the login service cluster 20, the game service cluster 30 and the gateway cluster 40 may be expanded through an expansion instruction.
Similarly, the login service cluster 20 may be further configured to delete at least one login server from the login service cluster 20 when the load of each login process managed by the login service cluster 20 is lower than a fourth preset value or when a first capacity reduction instruction for the login service cluster 20 is received;
the game service cluster 30 may be further configured to delete at least one game server from the game service cluster 30 when the load of each game process managed by the game service cluster 30 is lower than a fifth preset value or a second capacity reduction instruction for the game service cluster 30 is received;
the gateway cluster 40 may be further configured to delete at least one gateway device from the gateway cluster 40 when the load of each gateway process managed by the gateway cluster 40 is lower than a sixth preset value or a third capacity reduction instruction for the gateway cluster 40 is received.
In one embodiment, the login service cluster 20, the game service cluster 30, and the gateway cluster 40 may be expanded, i.e., laterally expanded, when a smaller number of players, etc., are encountered such that the service device is loaded less over a period of time.
In another embodiment, in a situation that the game server system is about to stop providing game services for some players, in order to save hardware resources and save running cost of the game server system, the login service cluster 20, the game service cluster 30 and the gateway cluster 40 may be scaled by a scaling instruction, so as to reduce some service devices.
The following describes a flow of implementing a game user login by the game server system provided by the embodiment of the present application.
In this flow, the game service cluster 30 is further configured to issue, in the first theme, load information of each game process managed by the game service cluster 30;
the login service cluster 20 is specifically configured to process a login request of the first game client 60, then determine a target game process according to the load information of each game process received from the communication cluster 10, and issue a message including the process information of the target game process to a third topic in the communication cluster 10;
the game service cluster 30 is specifically configured to receive a message including process information of a target game process from the subscribed third theme, and provide a game service to the first game client 60 through the target game process.
In this flow, the gateway cluster 40 is further configured to issue, in the second theme, load information of each gateway process managed by the gateway cluster 40;
the login service cluster 20 is specifically configured to process a login request of the first game client 60, then determine a target gateway process according to load information of each gateway process received from the communication cluster 10, and issue a message including process information of the target gateway process to a fourth topic in the communication cluster 10;
Gateway cluster 40 is specifically configured to receive a message including process information of a target gateway process from the subscribed fourth topic, and provide a gateway service to first game client 60 through the target gateway process.
When a user needs to log in a game, the login service cluster 20 processes a login request, selects a proper game process according to the process load condition in the game service cluster 30, issues a special message on a third theme, and switches the game service of the user by a corresponding target game process. The login service cluster 20 also selects an appropriate gateway process according to the process load condition in the gateway cluster 40, and issues a dedicated message on the fourth topic, and the gateway service of the user is switched by the corresponding target gateway process.
The following describes a flow of implementing communication between game users through the game server system provided by the embodiment of the present application. The game user communication includes chat, transaction, etc. between game users.
In this process, the gateway cluster 40 may also be configured to receive a communication request from the first game client and the second game client, and issue a message including the communication request to the second topic in the communication cluster 10;
The game service cluster 30 may be further configured to receive a message including the communication request from the subscribed second topic, broadcast the message including the communication request to each game process managed by the game service cluster 30, process the communication request through a game process corresponding to the second game client, and send a processing result of the game process corresponding to the second game client for the communication request to the gateway cluster 40;
the gateway cluster 40 may also be used to send the processing results to the first game client and the second game client.
A communication request that one gaming user wants to communicate with another gaming user is first obtained by gateway cluster 40, then gateway cluster 40 publishes a message to a second topic subscribed to by gaming service cluster 30, after which gaming service cluster 30 can process the message. The game service cluster 30 internally broadcasts the message, which each game process can receive and then be taken over by the corresponding game process. After the game process is finished, the corresponding gateway process transfers the processing result to the game client, and the game client can store, calculate, display the interface and the like of the data according to the processing result.
The following describes a flow of implementing a high-load game service by the game server system provided by the embodiment of the present application. The high-load game service may be some game services with higher process load, including game copies, multi-player combat, etc., where which game services may be used as the high-load game service may be set according to a load threshold, or may be set manually by a game development maintainer, which is not limited by the embodiment of the present application.
In this process, the gateway cluster 40 may be further configured to receive a game request of the first game client for a preset high-load game service, and issue a message including the game request to a second theme in the communication cluster 10;
the game service cluster 30 may be further configured to receive a message including the game request from the subscribed second topic, broadcast the message including the game request to each game process managed by the game service cluster 30, and process the game request through the game process with the lowest current load.
When a game user needs a high load game service, such as entering a certain game copy, the game request is first retrieved by gateway cluster 40, then gateway cluster 40 publishes a message to a second topic subscribed to by game service cluster 30, after which game service cluster 30 can process the message. The game service cluster 30 internally broadcasts the message that each game process can receive and then take over the message by the currently lowest loaded game process, thereby providing the game user with high load game service by the currently lowest loaded game process.
Furthermore, in another embodiment of the present application, the communication cluster 10 may also be connected to a third party device system, so that the game server system may interact data with a third party application.
Accordingly, the game service cluster 30 may be further configured to subscribe to a fifth topic for the third party device system to publish messages in the communication cluster 10, to receive and process messages published by the third party device system in the fifth topic, and to publish messages in the sixth topic in the communication cluster 10, such that the third party device system subscribing to the sixth topic receives and processes messages published by the game service cluster 30 in the sixth topic.
The embodiment of the application is not particularly limited to the system architecture and service functions of the third party equipment system.
In this embodiment, the communication cluster in the game server system provided by the embodiment of the application naturally has the characteristic of cross-platform, so that the game server can easily perform data interaction with third party applications, and various game expansion services such as pavilion consignment, multi-device chat, ranking list, data center and the like are realized.
In the embodiment of the application, a clear and concise game server system framework is provided, and convenience is provided for subsequent development and maintenance. The server framework is decentralised, so that the clusters of logins, gas and Gateway are all independent of a single node, and any process fault does not affect the overall game service. The game server system provided by the embodiment of the application can realize load balancing, each process knows the holographic information of the whole game server system, and the process with the lowest load can be conveniently selected to provide service. The game server system has dynamic capacity expansion and contraction capability, can provide service in real time at the lowest cost, expands the capacity with higher load in Login, gas and Gateway clusters when the number of players increases, and contracts the capacity when the number of players decreases. The communication cluster for providing the message communication mechanism in the game server system has the characteristic of cross-platform naturally, so that the game server system can easily perform data interaction with a third party application, and the game service is expanded.
Corresponding to the devices (or referred to as nodes, node devices, and service devices) in the game server system provided in the embodiments of the present application, the embodiments of the present application provide a computer-readable storage medium storing a program of execution logic corresponding to the devices in the game server system, where the program is executed by the corresponding devices, and may execute the execution logic related to the devices in the foregoing embodiments.
While the application has been described in terms of preferred embodiments, it is not intended to be limiting, but rather, it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the spirit and scope of the application as defined by the appended claims.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), random Access Memory (RAM) of other nature, read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage media or any other non-transmission media that can be used to store information that can be accessed by a computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
While the application has been described in terms of preferred embodiments, it is not intended to be limiting, but rather, it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the spirit and scope of the application as defined by the appended claims.

Claims (12)

1. The game server system is characterized by comprising a communication cluster, a login service cluster, a game service cluster, a gateway cluster and a database, wherein the login service cluster, the game service cluster and the gateway cluster are respectively connected with the communication cluster, the login service cluster and the game service cluster are respectively connected with the database, the game service cluster is connected with the gateway cluster, and the login service cluster and the gateway cluster are respectively connected with a first game client;
the database is used for storing game user data;
the login service cluster is used for providing a game user login service for the first game client and reading or storing game user data in the database in the process of providing the game user login service;
The game service cluster is used for providing game service for the first game client and reading or storing game user data in the database in the process of providing the game service;
the gateway cluster is used for providing gateway services between the first game client and the game service cluster;
the communication cluster is used for providing message communication service among clusters for the login service cluster, the game service cluster and the gateway cluster.
2. The game server system according to claim 1, wherein the communication cluster is specifically configured to provide a messaging service between clusters based on a publish-subscribe mechanism to the login service cluster, the game service cluster and the gateway cluster;
the login service cluster is further used for subscribing a first theme of the game service cluster for publishing messages in the communication cluster to receive and process the messages published by the game service cluster in the first theme, and subscribing a second theme of the gateway cluster for publishing messages in the communication cluster to receive and process the messages published by the gateway cluster in the second theme;
The game service cluster is further used for subscribing a third theme of the login service cluster, which is used for publishing messages in the communication cluster, so as to receive and process the messages published in the third theme by the login service cluster;
the gateway cluster is further configured to subscribe to a fourth topic of the login service cluster for publishing a message in the communication cluster, so as to receive and process a message published by the login service cluster in the fourth topic.
3. The game server system according to claim 2, wherein the game service cluster is further configured to issue, in the first theme, load information of each game process managed by the game service cluster;
the login service cluster is specifically configured to process a login request of the first game client, determine a target game process according to load information of each game process received from the communication cluster, and issue a message including process information of the target game process to the third theme in the communication cluster;
the game service cluster is specifically configured to receive a message including process information of the target game process from the subscribed third theme, and provide a game service to the first game client through the target game process.
4. The game server system according to claim 2, wherein the gateway cluster is further configured to publish, in the second theme, load information of each gateway process managed by the gateway cluster;
the login service cluster is specifically configured to process a login request of the first game client, determine a target gateway process according to load information of each gateway process received from the communication cluster, and issue a message including process information of the target gateway process to the fourth theme in the communication cluster;
the gateway cluster is specifically configured to receive a message including process information of the target gateway process from the subscribed fourth theme, and provide a gateway service to the first game client through the target gateway process.
5. The game server system of claim 2, wherein the gateway cluster is further configured to receive a communication request from the first game client and a second game client, and issue a message including the communication request to the second theme in the communication cluster;
the game service cluster is further configured to receive a message including the communication request from the subscribed second topic, broadcast the message including the communication request to each game process managed by the game service cluster, process the communication request through the game process corresponding to the second game client, and send a processing result of the game process corresponding to the second game client for the communication request to the gateway cluster;
The gateway cluster is further configured to send the processing result to the first game client and the second game client.
6. The game server system according to claim 2, wherein the gateway cluster is further configured to receive a game request of the first game client for a preset high-load game service, and issue a message including the game request to the second theme in the communication cluster;
the game service cluster is further configured to receive a message including the game request from the subscribed second topic, broadcast the message including the game request to each game process managed by the game service cluster, and process the game request through the game process with the lowest current load.
7. The game server system according to claim 1, wherein the process of the game service system comprises: the login process managed by the login service cluster, the game process managed by the game service cluster, and the gateway process managed by the gateway cluster.
8. The game server system of claim 1, wherein the game service cluster and the gateway cluster are connected by a socket length link.
9. The game server system of claim 1, wherein the login service cluster is connected to the first game client via a socket length link.
10. The game server system of claim 1, wherein the communication cluster is further coupled to a third party device system;
the game service cluster is further configured to subscribe to a fifth topic of the third party device system for publishing messages in the communication cluster, so as to receive and process messages published in the fifth topic by the third party device system, and publish messages in a sixth topic in the communication cluster, so that the third party device system subscribed to the sixth topic receives and processes messages published in the sixth topic by the game service cluster.
11. The game server system according to claim 1, wherein the login service cluster is further configured to add at least one login server to the login service cluster when a load of each login process managed by the login service cluster is higher than a first preset value or a first capacity expansion instruction for the login service cluster is received;
The game service cluster is further configured to add at least one game server to the game service cluster when a load of each game process managed by the game service cluster is higher than a second preset value or a second capacity expansion instruction for the game service cluster is received;
the gateway cluster is further configured to add at least one gateway device to the gateway cluster when a load of each gateway process managed by the gateway cluster is higher than a third preset value or a third capacity expansion instruction for the gateway cluster is received.
12. The game server system according to claim 1, wherein the login service cluster is further configured to delete at least one login server from the login service cluster when a load of each login process managed by the login service cluster is lower than a fourth preset value or a first capacity reduction instruction for the login service cluster is received;
the game service cluster is further configured to delete at least one game server from the game service cluster when a load of each game process managed by the game service cluster is lower than a fifth preset value or a second capacity reduction instruction for the game service cluster is received;
The gateway cluster is further configured to delete at least one gateway device from the gateway cluster when a load of each gateway process managed by the gateway cluster is lower than a sixth preset value or a third capacity reduction instruction for the gateway cluster is received.
CN202310577223.3A 2023-05-18 2023-05-18 Game server system Pending CN116747511A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310577223.3A CN116747511A (en) 2023-05-18 2023-05-18 Game server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310577223.3A CN116747511A (en) 2023-05-18 2023-05-18 Game server system

Publications (1)

Publication Number Publication Date
CN116747511A true CN116747511A (en) 2023-09-15

Family

ID=87954220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310577223.3A Pending CN116747511A (en) 2023-05-18 2023-05-18 Game server system

Country Status (1)

Country Link
CN (1) CN116747511A (en)

Similar Documents

Publication Publication Date Title
US10347013B2 (en) Session idle optimization for streaming server
US20100113159A1 (en) Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems
US20090260005A1 (en) System and method for providing service
US20150133216A1 (en) View generation based on shared state
CN110113407A (en) Small routine state synchronization method, equipment and computer storage medium
US20150130814A1 (en) Data collection for multiple view generation
US11865456B2 (en) Method and apparatus for providing multi-player room, device, and medium
CN106302647B (en) Message distributing method and server
US20220201341A1 (en) Method, apparatus and device for game live-streaming
CN103533087A (en) Cloud service platform middleware and cloud uploading method
CN113467958B (en) Data processing method, device, equipment and readable storage medium
US11533543B1 (en) Community boosting of stream visibility
US20150130815A1 (en) Multiple parallel graphics processing units
CN112954059A (en) Computing power sharing method, computing power sharing system and storage medium
US10105596B1 (en) Broadcast dependent content delivery
US20120317170A1 (en) Subscribing to multiple resources through a common connection
Paravati et al. An open and scalable architecture for delivering 3D shared visualization services to heterogeneous devices
US11161045B1 (en) Content item forking and merging
CN116747511A (en) Game server system
KR20110079671A (en) Use of dynamic bounded regions to improve the scalability of decentralized online environments
US20210099503A1 (en) Method, system, and non-transitory computer readable record medium for processing chatroom based on usage
CN102402412B (en) Display function processing module, server and display processing method
EP3069264B1 (en) Multiple stream content presentation
CN113209635B (en) Data processing method, device and storage medium based on cache queue
US20220345325A1 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination