Documentation

Support

Multiplay Hosting

Multiplay Hosting

Zero downtime releases

Learn how zero downtime releases let you deploy new versions without interrupting active players.
Read time 1 minuteLast updated 3 days ago

Zero downtime releases are build updates you release without taking any game servers offline, allowing you to update your build without subjecting your players to inactive servers or downtime. You can implement a zero downtime release by following the A-B build pattern. The A-B build pattern is where you keep two builds for one game. While one build (for example, build A) is active, you can update the other build (for example, build B). When build B is ready to release, you can start allocating servers with build B (using build configuration B). As game sessions using build A end, your fleet gradually transitions to using build B as you make new allocations. Because you use build configurations to point to builds, you’ll also need two build configurations:
  • A build configuration for build A
  • A build configuration for build B
In practice, using the A-B build pattern looks like this:
  1. You allocate game sessions using build configuration A (which points to build A).
  2. You release an update for build B.
  3. You wait until build B has finished propagating to the machines using
    GetBuildInstalls
    endpoint
    .
  4. You allocate game sessions using build configuration B, which points to build B.
The following flowchart shows the release cycle of a fleet using the A-B build pattern.
A flowchart with a column marked Build A and another marked Build B. The chart shows the necessary flow back and forth between Build A and Build B to ensure zero downtime for your game during a build update.

A flowchart with a column marked Build A and another marked Build B. The chart shows the necessary flow back and forth between Build A and Build B to ensure zero downtime for your game during a build update.