Tencent Cloud Game Server Elastic-scaling (GSE) provides dedicated game server hosting services for the deployment and scaling of stateful games. It supports service discovery, flexible server scaling, and optimal resource scheduling. GSE helps developers quickly build a stable and low-latency deployment environment for multiplayer games while reducing OPS costs. It can be used to deploy and run Unreal and Unity game engines, as well as server frameworks written in C#, C++ or any language that supports gRPC. It is ideal for stateful games that need to remember data such as battle servers and push notifications in FPS, MOBA, turn-based games, MMORPG, chess and card games, and more.
GSE provides a runtime environment for game code packages where you can perform service discovery, scaling, cross-region deployment, and nearby scheduling. You can integrate the GSE ServerSDK into your server framework so that clients can request access to game servers through APIs and GSE will return the optimal game server for client access.
You can upload code packages and dependencies through GSE, which will deploy your code to the server fleet and launch it according to the configuration.
Generally, servers need to be suspended when games are updated, but GSE implements updates with zero downtime by providing an alias mechanism.
You can easily conduct or end an A/B test with GSE.
GSE supports cross-region deployment, and server fleets built in multiple regions make up a queue. When the queue is requested, the system will automatically select a server fleet in a region for player access. You can also manually adjust the fleet priority. When a region fails, the service will be quickly switched to another region.
GSE is available in regions such as Shanghai and North America and will soon be available in more regions.
GSE launches a process based on the launch path, launch parameters, and the allowed concurrent processes you specify.
After a process is launched, an API will be called to inform GSE that the process is ready to accept access requests.
GSE regularly performs health checks on processes. If a process is found to be unhealthy, it will be blocked and will not be assigned to any caller.
GSE manages and assigns game server sessions. From a service perspective, one game server session represents one gaming round (a battle) or a single service. From a backend program perspective, one game server session corresponds to one process, which will be launched by GSE in advance as configured. Generally, one process matches one session. When a client requests a game server session through TencentCloud API, GSE will assign this session to an idle process.
When a caller requests a game server session, GSE will assign an idle and healthy process to start the session.
When there are no players on a game server session or the session is unhealthy, the session will end itself or be ended. Logs will be saved before the session ends to facilitate troubleshooting.
GSE can select the nearest region to a player based on the network latency.
You can configure a game server session buffer as an auto scaling condition for a game server fleet. A game server session buffer is the proportion of available game server sessions.
The system provides CVM instance monitoring, game server session monitoring, and operation logs.
For information on the game player matchmaking feature, see Game Player Matchmaking (GPM). GPM provides flexible and powerful matchmaking logic algorithms. You can customize matchmaking rules, and the matched game battles will be automatically put in the GSE game server queue.