Skip to main content

Introduction to the AccelByte Multiplayer Servers

info

AMS is available for a free trial to AGS Shared Cloud clients, while AGS Private Cloud clients can make a request to enable it in their account. For more information, see Activate AMS and create AMS account.

Introduction

AccelByte Multiplayer Servers (AMS) is a dynamic dedicated game server manager that enables you to serve dedicated game servers as close to your players as possible. AMS allows you to have multiple fleets of servers, each with their preferences on AccelByte instance type and their own scaling behavior, that can be spread across different regions.

AMS allows you to take advantage of several features designed to ensure your players have the best gaming experience, such as:

  • Easy to integrate: AMS has been designed to stay out of the way of your regular server development. By using the AccelByte Server SDK, you will only need to call one API explicitly to make AMS work for you.
  • Multi-region: AMS has been designed for global coverage. With AMS, you can maintain a separate server fleet size per region, allowing you to save costs by adjusting the fleet size according to your regional demand.
  • Elastic demand-based scaling: AMS scales based on your players' demand per region at any specific time. This ensures your host machine cost in the region is minimized when it has less demand while ensuring that there are always resources available when demand is at its peak.
  • Warmed dedicated servers: AMS enables you to preload and maintain a healthy amount of warmed (up and running) dedicated servers for each region so that they can be claimed immediately by a game session without the need for its players to wait for a server to load.
  • Integrated matchmaking with AGS: AMS works with AccelByte Gaming Services (AGS) to provide geolocation support, so you can match players in the same region for an optimal player experience.

How does the AMS dedicated server management work?

Image of AMS architecture flowchart

The following is a summary of the process to make dedicated servers available in your service regions:

  1. Integrate your dedicated server with the AccelByte SDK. See Integrate dedicated servers with the SDK.
  2. Upload your dedicated server build onto AMS using the AMS CLI. See Upload a dedicated server build using AMS CLI.
  3. Create and configure fleets on the AccelByte Gaming Services (AGS) Admin Portal to your desired location. Then, activate your fleet. See Create a fleet to manage dedicated server allocation.
  4. The Fleet Commander is your representative to the AMS multi-tenant environment, so it makes virtual machine requests on your behalf.
  5. The virtual machine requests are handled by the AMS core multi-regional orchestrator to find hosting virtual machines for your fleets.
  6. The entire virtual machine that is assigned to your fleets is dedicated to you; you don't have to worry about resource contention from other AMS customers.
  7. The watchdog agent manages and monitors the lifecycle of all dedicated servers within a virtual machine.

Service components

This section covers the service components of AMS.

Fleet commander

Fleet Commander is deployed in each of your environments. It evaluates all of the namespaces within an environment and makes virtual machine instance requests on behalf of the environment to AMS Core.

AMS Core

AMS Core is the multi-regional orchestrator that processes requests from the Fleet Commanders in all the customers' environments to find virtual machine resources for them.

The regional orchestrator will also make sure that every virtual machine is assigned to exactly one owner so that you don't have to worry about noisy neighbors.

Watchdog

The watchdog manages and monitors the life cycle of the dedicated servers, and each virtual machine handling dedicated servers contains a watchdog (known as that virtual machine's "local watchdog"). The watchdog also emits observability metrics and analytic events to the respective platforms.

Key concepts

Dedicated server

A dedicated server (DS) is a disposable game server that hosts one game session. The dedicated server is discarded and replaced with a new one by AMS once it has finished serving a game session. Not to be confused with a peer-to-peer (P2P) server.

Dedicated server states

The dedicated server states keep track of the lifecycle of a dedicated server. The states are:

  • Creating
  • Ready
  • In Session (this is shown as Claimed in the Admin Portal)
  • Drain
  • Unresponsive

The change of states of a dedicated server are described in the following diagram.

Image of dedicated server states diagram

Fleet

A fleet is a collection of dedicated game servers, active or idle, to serve game sessions.

Quality of service

Each regional cluster will have its own quality of service (QoS) servers that are used to verify the performance between your players' locations and the regional cluster. This data is used to find out the best region for your players to play in.

In practice, once your game is integrated with the AccelByte Client SDK, the SDK will automatically ping each of the available regions to keep the connection data updated for you.

Virtual machine

A virtual machine (VM) is the host to run your dedicated servers, sourced from a cloud provider or from baremetal in the regional resource pool. A typical virtual machine belongs to one of the AccelByte virtual machine instance families.

Timeouts

Timeouts are time limits that are applied to your dedicated servers during some of the states in their lifecycles. All these timeouts are configurable in the Admin Portal.

Creation timeout

The creation timeout starts when the watchdog launches your dedicated server and marks its state as Creating. It gives a configurable time limit for your dedicated server to initialize so that if your dedicated server fails to initialize, the watchdog will remove the server and start another one again in its place.

The creation timeout is applicable only when the dedicated server is in the Creating state. Once the dedicated server is ready to be used and notifies the watchdog, it will enter the Ready state.

Session timeout

The session timeout starts when a dedicated server is claimed by a game session and enters the In Session state. This timeout gives a time limit for your dedicated server to serve a game session so that the watchdog can remove any stale servers that fail to exit normally after a game session has finished. If this timeout is exceeded, the watchdog sets the state of the server to Drain.

Drain timeout

The drain timeout starts when a dedicated server receives the drain signal from the watchdog and enters the Drain state. This timeout gives a time limit for your dedicated server to finish any necesarry operations before it exits itself. If the dedicated server fails to exit before the drain timeout expires, the watchdog to forcibly stop it.

Unresponsive timeout

The unresponsive timeout refreshes when a server finishes its last health check with the watchdog. This timeout gives a time limit for your dedicated server to recover its connection to the watchdog in case of any service interruption. If this timeout is exceeded, the watchdog removes the server and restarts another one in its place.

Resource sharing

AccelByte Multiplayer Servers (AMS) has a multi-tenant architecture designed to enable resource sharing between AccelByte Gaming Services (AGS) game namespaces across different hosting environments. This article outlines what resources are shared between game namespaces when you create an AMS account and link it across multiple game namespaces.

Resources shared through AMS account

When your game namespaces are linked to the same AMS account the following resource types can be shared between them.

  1. Uploaded dedicated server images: AMS can be configured to automatically distribute dedicated servers by region. Using the AMS command line interface, you can upload these dedicated servers and have them available for each game namespace that is linked to the AMS account. You can view the storage quota for dedicated server images from any game namespaces linked to the AMS account.

  2. Observability account and metrics: you can view the observability account and metrics from any game namespaces linked to the AMS account.

  3. Billing account and metrics: you can view the billing account and metrics from any game namespaces linked to the AMS account.

What's next

Get started with AMS by activating it in your namespace and creating your AMS account. See Activate AMS and create AMS account.