Game Server Elastic-scaling

A stable, secure, elastic, and high-performance hosting service for stateful game servers

Overview

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.

Benefits
Real-Time Scaling

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.

Stateful Reduction Supported

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 for Guaranteed Service Stability

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.

Cross-region Deployment for Disaster Recovery

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.

Zero Downtime Updates

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.

Nearby Access

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.

Cross-platform Calls

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.

Pay-as-You-Go Billing for Lower Costs

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.

Features

Program Deployment and Updates

Server Instance Management

Game Server Session Management

Monitoring and Logging

Program Deployment and Updates


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.

Server Instance Management


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.

Game Server Session Management

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.

Monitoring and Logging

The system provides CVM instance monitoring, game server session monitoring, and operation logs.

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.

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.

Use Case:


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.


Solution:


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.

Pricing

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.

Help
Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
England
+44 808 196 4551 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
Korea
+82 080-899-3166 (Toll Free; local time: 9:00—12:00, 13:00-18:00)
Local hotline to be supported for more regions