Game Server Engine
A stable, secure, elastic, and high-performance hosting service for stateful game servers
Overview
Tencent Cloud Game Server Engine (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, table games, and more.
Benefits
Real-Time Scaling
Stateful Reduction Supported
Health Check for Guaranteed Service Stability
Cross-region Deployment for Disaster Recovery
Zero Downtime Updates
Nearby Access
Cross-platform Calls
Pay-as-You-Go Billing for Lower Costs
Features
Program Deployment
- You can upload code packages and dependencies through GSE, which will deploy your code to the server fleet and start it according to the configuration.
Zero Downtime Updates
- Generally, servers need to be suspended for games updates. By contrast, GSE provides an alias mechanism to implement updates with zero downtime.
A/B Test
- You can easily conduct or end an A/B test with GSE.
Auto Scaling
- Auto scaling is performed once every day: games have peak and off-peak hours. Surges generally happen during noontime and evenings, and demand falls after midnight. With GSE, you can set a selected instance type and a scaling scope, and GSE will auto-scale game servers according to player traffic within the specified scope throughout the day.
- Stateful reduction: GSE does not remove instances with running processes. When the server load drops and reduction is triggered, GSE will inform the game processes that the server is being removed and prevent new game server sessions from being assigned to said server. However, it will not forcibly terminate the instance, which may cut client connections.. The instance will be removed only after the game processes initiate an end command.
Cross-region Deployment
- GSE supports cross-region deployment where 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.
Global Release
- GSE is deployed in Shanghai and North America regions and will be available in more regions soon.
GSE manages and assigns game server sessions. For the service, one game server session represents one gaming round (a battle) or a single service. From the perspective of backend program, one game server session corresponds to one process, which will be started 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.
Game Server Session Start
- When a caller requests a game server session, GSE will assign an idle and healthy process to start the session.
Game Server Session End
- When there are no players on a game server session or it is unhealthy, it will end itself or be ended. Logs will be saved before it is ended to facilitate troubleshooting.
Nearby Assignment of Game Server Session
- GSE can select the nearest region to a player based on the network latency.
Server Scaling Based on Ratio of Available Game Server Sessions
- You can configure a game server session buffer for a game server fleet as an auto scaling condition. A game server session buffer is the ratio of available game server sessions.
The system provides CVM instance monitoring, game server session monitoring, and operation logs.
- Program Deployment and Updates
- Server Instance Management
- Game Server Session Management
- Monitoring and Logging
Program Deployment
- You can upload code packages and dependencies through GSE, which will deploy your code to the server fleet and start it according to the configuration.
Zero Downtime Updates
- Generally, servers need to be suspended for games updates. By contrast, GSE provides an alias mechanism to implement updates with zero downtime.
A/B Test
- You can easily conduct or end an A/B test with GSE.
Scenarios
Use Case:
On a battle server, a battle usually lasts minutes (no more than one hour), and the traffic peaks during noontime and evenings. During the off-peak hours, some servers are not required.
Solution:
You can use GSE to add/remove servers instantly during peak/off-peak hours, which will dramatically reduce your server costs. In addition, GSE can assign the nearest access region for each battle, guaranteeing network stability and gaming fair play. GSE is suitable for table, turn-based/strategy, and real-time battle games. You can create a game server session that represents a room or server where players can battle or chat with each other.
- Battle server
- Message Push
Use Case:
On a battle server, a battle usually lasts minutes (no more than one hour), and the traffic peaks during noontime and evenings. During the off-peak hours, some servers are not required.
Solution:
You can use GSE to add/remove servers instantly during peak/off-peak hours, which will dramatically reduce your server costs. In addition, GSE can assign the nearest access region for each battle, guaranteeing network stability and gaming fair play. GSE is suitable for table, turn-based/strategy, and real-time battle games. You can create a game server session that represents a room or server where players can battle or chat with each other.