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, table games, and more.
All games have peak and off-peak hours. 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, enabling you to meet peak demand while eliminating the need to pay for idle servers during off-peak hours.
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.
Health check is performed on servers, and the runtime environment is monitored in real time. If a server fails, it will be deallocated, and traffic will be rescheduled to other servers in a matter of seconds. No manual OPS is required. If a massive failure occurs, the region can be automatically switched based on the speed test result. You can also manually eliminate the faulty region.
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. When a region fails, the service will be quickly switched to another region.
GSE supports zero downtime updates. A client can request a server in a server fleet through an alias. When the version is updated, you can create a server fleet and point the alias to the new fleet to implement an update with zero downtime.
GSE provides an automated testing tool that evaluates the latency between a client and servers in various regions. It then uses an algorithm to find the nearest server address for the client to access. You can also manually adjust the priorities of server fleets in different regions.
GSE can be called across platforms including PCs, mobile devices, and game consoles. It supports running programs complied with Unreal and Unity engines and custom gaming server frameworks in C#, C++, and any language that supports gRPC.
The GSE service is scalable in real time, which can reduce resource usage by 60%. Billing is accurate to the second on an hourly cycle based on actual usage.
Zero Downtime Updates
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.
The system provides CVM instance monitoring, game server session monitoring, and operation logs.
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.
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.
In commonly used game frameworks, a client needs to sustain a persistent connection with a server to push messages to the client instantly. Message push is generally a core module in games, but there are a number of issues that might occur during deployment. Firstly, a high number of messages may fail to be pushed due to network failures. Secondly, messages might only be pushed by servers with high specifications, and a faulty server will have an overly high service impact.
With the aid of GSE, you can implement cross-region disaster recovery with minimal costs. When a region fails, you can swiftly switch to another region. The message push service is distributed among multiple servers, so that even if a server fails, the affected scope will be small, and you can quickly switch to another server.
The beta phase of Game Server Elastic-scaling (GSE) will end on August 30, 2020, and the service will become commercially available from 00:00:00 September 1, 2020. Pricing documentation will be released soon. For any help, please contact us.