Getting Started with GameFabric: Armadas & ArmadaSets

Welcome to Getting Started with GameFabric!

After completing this crash course, you’ll have a session-based server fleet that scales automatically and keeps a pre-warmed pool of servers ready the moment your matchmaker calls.

What you’ll need:

An Armada is a session-based fleet of game servers in a particular Region. They automatically scale up or down based on your actual player demand. Armadas retain a pre-warmed buffer pool for instant matchmaking and naturally shut down when the session ends. You don’t have to manage individual instances, Armadas handle it all for you.

ArmadaSets are your global configuration template. One ArmadaSet drives your entire mult-region fleet. GameFabric creates an Armada for each Region you configure, all sharing the same autoscaling rules and capacity planning. Tune your ArmadaSet and your changes roll out across every Armada within it at once. A typical use case for an ArmadaSet is one per game mode (like Team Deathmatch or Free-for-All) or one per game Branch (like QA or Test) where each is independently configured, scaled, and deployed globally.

If a persistent server is where you’re headed, or you'd like to test how your game server runs, see Getting Started with GameFabric: Vessels.

Let’s launch your fleet, captain!

Make sure you’re logged into GameFabric in your browser to access the UI. Then, in the left sidebar, click on ‘ArmadaSets’ under Dynamic Fleets

Setting up an Armada follows the exact same process as setting up an ArmadaSet (global fleet management). You navigate to Armadas on the left sidebar under Dynamic Fleet. However, we recommend using ArmadaSets for convenience, as an ArmadaSet will automatically populate Armadas in your desired Regions with a shared configuration across clusters.

You’ll be taken to the following dashboard.

Here, you’ll be able to access the ArmadaSets you have set up that will house all your various Armadas across your Regions, within their respective templates.

Click ‘+ Create New ArmadaSet’ in the center of the page. You’ll then be walked through some choice customization options to get your fleet up and running.

General

First is your General information.

  1. Name (required) — give your ArmadaSet a name and make sure it’s unique to any others you may have or intend to make. A good rule of thumb is to reference its stage in your production pipeline and the region it will service (e.g., prod-eu). 

  2. Description (optional) — it’s recommended to write a brief description of your ArmadaSet to give your team better insight into what it’s for explicitly (like a certain map or game mode).

  3. Game Server Labels (optional) — these are key/value pairs your matchmaker can filter on during allocation. Useful when you need to route players to specific server types, but we don’t need these for now.

  4. Tag (optional) — this is a short label that appears next to the ArmadaSet name in the UI. Useful for organizing multiple ArmadaSets at a glance, but we’ll skip it here.

Hit ‘Next’ to continue.

Regions & Scale

Now it’s time to set the Regions you want your ArmadaSet to populate with Armadas, the infrastructure types it will run on (bare metal, cloud), maximum replicas, and your safety buffer.

In the Region* dropdown menu at the top, select your available Regions or just the one you want to test on. For our purposes, we will operate in Europe West.

Then, you’ll want to choose your Infrastructure Type. You can run Armadas across both bare metal and cloud. So feel free to choose one, the other, or both for optimal performance and scaling.

We’ll go ahead and select Frankfurt baremetal and GameFabric Cloud through GCP.

Max Replicas

This is your hard ceiling on servers per Region Type. It must be at least as high as your Safety Buffer and Minimum (Min) Replicas. Set a ceiling that stays within your budget at peak.

Safety Buffer

This represents the number of servers kept in a ‘Ready’ state. It’s what lets your players get into a match without waiting for a server to boot. Base it on your expected concurrent users and average session length — you can always tune as you go!

Min Replicas

For us, we’ll just say 2 Max Replicas and 2 Safety Buffer across, and leave Min Replicas unadjusted.

Note: GameFabric offers Dynamic Buffers for automatic adjustments to your server pool based on real demand and Scale-To-Zero which shuts down unused cloud capacity automatically and brings it back online only when you need it.

Once you’ve gotten your Region and Region & Infrastructure Type set up, continue by clicking ‘Next’.

Container Templates & Volumes

You’ll land on the third step with a variety of options and room for customization, but it’s fairly straightforward. If you followed our Getting Started with GameFabric: Vessels guide, this should look familiar.

We’ll walk you through exactly what you need to fill in, and a few things you may want to take note of for the future:

Required — just follow these steps and you’ll be good to go:

  1. Name — this locks as ‘default’, tied to the name of your ArmadaSet in the Step 2.

  2. Branch — Select the Branch you wish to take your image from. If you followed our Getting Started with GameFabric: Branches & Images guide, you should have a Branch with an image already.

    1. Select Image — Select the image you assigned to your Branch

    2. Select Tag — Select the specific image version you want to use for the ArmadaSet

  3. Container ports  Add at least one port for your game server:

    1. Policy — Dynamic’ (recommended): a random, fixed public port is assigned at runtime while your server binds to its expected fixed local port.‘

Passthrough’: public and local port match

  1. Name — an identifier for this port, used in API references and logs

  2. Port — the local port your game server binds to

  3. Network Protocol — TCP or UDP, depending on your game’s transport layer

  4. Protection Protocol — None or TCP

  1. Compute Resources — the resources guaranteed to your Armadas in this ArmadaSet, used for scheduling. Reflect real usage, as a server scheduled on a node without enough free resources won’t start!

    1. CPU Request — the minimum CPU guaranteed to your Armadas. Enter a value, then select your unit from the following dropdown. If you’re unsure, millicores is the more precise option. 

      1. Millicores — For finer control (e.g, 500 = half a core)

      2. Cores — For whole numbers (e.g., 2 = two full cores) 

    2. Memory Request — the minimum guaranteed amount of memory for a container. Enter a value, then select your unit.

      1. Mi — mebibytes; M is the decimal equivalent.

      2. Gi — gibibytes; G is the decimal equivalent.

Optional — We won’t cover these in this guide, but read below for those who want greater control of if you’re interested in additional functionality:

You’ll note a toggleable button labeled ‘Advanced Settings’ here. This reveals optional CPU Limit and Memory Limit fields. These are not recommended at this stage.

  1. Command — overrides your Dockerfile’s ENTRYPOINT. Skip unless you need to change startup behavior without rebuilding.

  2. Args — overrides CMD from your Dockerfile. Skip this unless you need custom startup arguments.

  3. Environment Variables — variables to pass to the container, overriding image defaults. 

  4. Volumes — temporary shared storage across containers, cleared when the server stops.

  5. Config Files — mount configuration files at a specified path inside the container; changes to the source files are automatically reflected without a rebuild.

  6. Secrets — mount sensitive values like API keys without exposing them as plaintext.

When you have what you need filled in, hit ‘Next’.

Advanced & Protection

This is the final page you’ll use to set up your ArmadaSet. It covers numerous optional, though important, functionality that you can enable on your game servers for protection, observability, health, lifecycle checks, and your update strategy.

This is the final page you’ll use to set up your ArmadaSet. It covers numerous optional, though important, functionality that you can enable on your game servers for protection, observability, health, lifecycle checks, and your update strategy.

Here are a few worth setting before you finalize:

  1. Observability (Profiling) — eBPF-based CPU profiling at around 2-3% overhead. Safe in production. Check the box and you’ll have performance data from day one.

  2. Container Health (Health Checks) — though disabled by default for initial testing, you’ll want this enabled for production. Without them, unresponsive servers can't be detected or cleaned up automatically.

  3. Game Server Termination (Termination Grace Period) — how long your server gets to wind down before a forced shutdown. Default is 30 seconds but can be adjusted to match your typical session length.

  4. Update Strategy (Strategy) — Modifies the behavior of Armada server updates. You’ll have three options to choose from.

    1. Use Default: uses the system default strategy. A good place to start and what we’ll choose for this guide.

    2. RollingUpdate: transitions game servers from the old version to the new one gradually, adding new servers before removing old ones. Safer for production, as active sessions aren’t disrupted.

    3. Recreate: terminates all non-allocated game servers immediately and replaces them with the new version. Faster, but all ‘Ready’ servers are removed at once.

Skip for now — these options either require prior setup or are fine on defaults:

  1. SteelShield (Gateway Policies) — controls outbound traffic bypass for game servers via GatewayPolicies. Requires these policies to be configured first, we’ll skip for now.

  2. Shutdown Notification — this controls how long an allocated server has to begin graceful shutdown in different scenarios. The defaults are sensible, so we don’t need to change these. Leave them unless you have specific requirements.

  3. Autoscaling (Sync Interval) — Sync Interval’ sets the time between each autoscaling action in seconds. Default is 30 sec., and we recommend leaving it as is.

And that’s it! Once everything is in order, you can go ahead and hit ‘Create ArmadaSet’!

Your new ArmadaSet should now populate the ArmadaSets page, where you can get a quick overview on it.

You can click on the triple-dot menu on the far right of your newly created ArmadaSet. This will present a menu with a few options (like converting your ArmadaSet to an Armada or vice versa). For now, hit Details

This page lets you edit and adjust the settings you’ve just established for your ArmadaSet. You also get in-depth information on the state of your ArmadaSet and the Armadas within it. 

Feel free to explore around!

Congratulations! You’ve successfully deployed your first ArmadaSet running in GameFabric. From here, you can spin up and down your session-based game servers across the globe through one easy configuration.

If you want a more detailed overview on Armadas and ArmadaSets, read more in our official documentation.

Check out our other guides:

Weave GameFabric Into Your Game.

Get Started