Skip to main content

Armada

Last updated on

Overview

What is Armada?

Armada is a dynamic game server manager that utilizes a mixture of bare metal and cloud services to help reduce hosting costs for you, while still maintaining the best performance and experience for your players. Armada allows you to have multiple fleets of servers, which can be spread across different regions, providers, or infrastructure types.

Advantages of Armada

Armada allows you to take advantage of several features designed to ensure your players have the best gaming experience possible.

  • Provider-agnostic approach Armada allows you to choose between multiple providers, depending on your hardware requirements. You can decide to have 100% of your servers in AWS cloud if you have free credits, or you can choose to have 90% of your game servers hosted using dedicated bare metal with the last 10% being scaled into cloud if you wish to bring your costs down. Armada allows you to pick and choose exactly what hardware you want, from whoever you want without any limitations!

  • Cost-aware scaling Armada ensures that hosting costs are taken into account when scaling up or down. When scaling up, Armada will prioritize filling bare metal machines before bursting into the cloud. When scaling down, Armada looks for opportunities to reduce the load on the cloud machines without impacting performance or player experience.

  • Multi-region hosting Armada has been designed for greater global coverage and better game performance across more regions. With Armada you aren't tied to one hosting solution, which means you can make sure that your hosting providers cover each other's blind spots. Mix and match providers, hardware types, and regions based on your player demands.

  • Integrated matchmaking and lobby Armada connects directly with AccelByte Cloud's Matchmaking and Lobby services to provide geolocation support, so that you can match players in the same region for optimal player experience. If you already have a matchmaking and lobby service you prefer, we can help you integrate Armada with that instead of using AccelByte Cloud's.

  • Unsure what hardware to use? If you are unsure what dedicated bare metal provider to use, what regions you want or you have only ever used cloud, the Armada team is here to help! We can advise on everything from specific hardware types to use, how your game servers will perform, and which regions will be best to support all your players. We have partnered with a number of dedicated hardware providers who already cover the majority of popular regions across the globe.

Get Started with Armada

Before we can get you set up with Armada, our team will need some information about your game and players. This will help us accurately price out the hardware you'll need, as well as make sure your hosting covers the right locations to give your players the best experience possible.

  • Player counts For us to provide the best experience possible, we need to know some information about your players. First, we need to know the maximum number of players that can connect to your game server. We also need to know what your estimated average number of players will be over the course of a month, as well as the estimated peak number of players. With these player numbers, we can ensure that you have enough bare metal to cover the average player count, as well as ensuring that you can scale effectively into cloud to meet peak demand when things get busy.

  • Player locations With Armada, you can host your game server sessions pretty much anywhere in the world. While this is a great achievement, we are also aware that some games are more popular in different parts of the world than they are elsewhere. It is important for us to know where the majority of your players are based, so that we can deploy bare metal and cloud instances as close to them as possible. The closer the hardware, the better the performance. Your players deserve the best possible experience every time they play your game!

  • Game server resource requirements Every game server that you deploy will have some form of CPU and RAM usage. In order to provide the best possible performance for your players, Armada needs to know what the worst case scenario is in terms of resource usage requirements. To do this, you will need to run a session with the maximum number of players connected, using the most resource intensive map and game mode possible. During this session, you should record the CPU, RAM and network usage over a full match.

Once you have this data, the Armada team can then run it through our calculator. This will tell us exactly how many game server sessions we can safely fit on your bare metal and cloud server instances without impacting the game server performance. More importantly, it will also allow us to calculate the best distribution of bare metal and cloud to ensure you always have capacity for your players as well as lowering the cost for hosting.

Glossary

Here are some common terms in the Armada documentation, and their definitions:

  • Armada AccelByte's product. A suite of tools, services, and SDKs used to enable multiplayer for a game
  • DSM / DSMC / Dedicated Server Manager One of Armada's components that acts as the brain of Armada. This service stores deployment configurations that are defined from the Admin Portal and communicates with Nomad to deploy dedicated servers to be used in matchmaking.
  • DS / Dedicated Server / Game server / Authoritative server A counterpart for game clients in multiplayer architecture. Game clients connect to the game server during play sessions and have the server run all the game logic. In Armada, the traditional game server binary is containerized and deployed as a Docker container in a Nomad cluster. This running DS container is sometimes referred to as a pod.
  • DS Logs Logs generated by a running dedicated server. Game developers can download full DS logs from the Admin Portal.
  • DS Uploader A tool for game developers to upload the dedicated server binary to Armada. Upon upload, Armada's services will containerize the server and store it in a Docker image repository.
  • Game Session An active play session where a game client is connected to a game server. In Armada, a game session can be created through matchmaking.
  • Nomad A container orchestration suite that is used by Armada to deploy game server containers. In a nutshell, the main components of Nomad are:
  • Nomad Server The brain of the cluster, which the DSMC communicates with directly.
  • Nomad Agent/Client The worker of the cluster, which spreads to the machines the actual DS containers are running in.
  • Armada configuration/Dedicated server configuration Settings where game developers specify how the game's dedicated servers will be deployed. \ The configuration consists of:
  • Image Uploaded DS binaries that are already containerized and stored in an image repository. Armada uses the image version to uniquely identify which DS to deploy.
  • Pod Configuration Settings that will affect running DS containers, such as CPU and Memory allocation, and which port that the game server listens to.
  • Deployment Settings that tell Armada which image to run in a specific region, using which pod configuration. You can also define how many warm servers should be run to anticipate incoming players.
  • QOS/Quality Of Service A set of services that are deployed in each of the regions where Armada can spawn dedicated servers. Using the SDK, game clients can call the QOS in each region to measure network latency and determine the nearest region to ensure that matchmaking pairs players that are near each other.

Permissions

Make sure you're authorized to use our services and have the following permissions before you use Armada:

UsagePermissionsAction
Register a New Game SessionNAMESPACE:{namespace}:DSM:SESSIONCreate
Claim a DS for a Game SessionNAMESPACE:{namespace}:DSM:SESSIONUpdate
Retrieve terminated servers in a specific namespaceADMIN:NAMESPACE:{namespace}:DSAM:SERVERRead
Download the DS Artifact file.ADMIN:NAMESPACE:{namespace}:DSAM:ARTIFACTRead
Check DS Artifact's existence before downloading the file.ADMIN:NAMESPACE:{namespace}:DSAM:ARTIFACTRead
Retrieve terminated servers in all namespaceADMIN:NAMESPACE:{namespace}:DSAM:SERVERRead

Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.