Machine provisioning

Behind the scenes, game servers run on machines. These machines can be physical machines in a data center or cloud machines from a cloud provider, such as Google Cloud Platform.

Before Game Server Hosting can use a machine to host your game servers, it must configure the machine to best suit your needs. This configuration process is called machine provisioning.

Game Server Hosting does the following during the machine provisioning process:

  • Installs build executables.
  • Starts game servers (if the fleet has the start on provision setting enabled).

Start on provision

The start on provision setting controls when game servers start. It has important implications for how the game server lifecycle and the allocation lifecycle work in a fleet.

For example, if you use a multi-session allocation lifecycle, enabling the start on provision setting ensures servers are ready to fulfill an allocation as soon as the machine is ready.

Start on provision is disabled by default. You can change this setting by contacting Unity Support.

Start on provision enabled

If the start on provision setting is enabled, Game Server Hosting starts game servers after provisioning the machine they exist on.

Game Server Hosting also automatically restarts servers after an intentional exit, giving the servers time to load resources before receiving the next allocation. This functionality shortens the time before the server’s ready to receive the next allocation.

Warning: Game Server Hosting requires servers to start during the machine provisioning process if the start on provision setting is enabled. This means that if a build executable fails to start due to a bug (or another reason), it will prevent the fleet from scaling.

Start on provision disabled

If the start on provision setting is disabled, Game Server Hosting doesn’t start game servers after provisioning the machine they exist on. Instead, Game Server Hosting starts game servers when they’re allocated.

Game Server Hosting doesn’t restart a build executable process after an intentional exit if the fleet has the start on provision setting disabled.

Best practices

The recommended best practice for the start on provision setting depends on how you manage your game’s sessions. As a result, there’s no definitive best practice for when to enable (or disable) the start on provision setting. However, in general, starting servers on machine provision works well for multi-session allocations–but that doesn’t mean it can’t work for single-session allocations.

If you use multi-session allocations (long-lived sessions), it might make sense to enable the start on provision setting. This way, game servers start during the machine provisioning process, and they’re ready to accept allocations as soon as Game Server Hosting provisions the machine. It also ensures servers restart automatically after an intentional exit.

If you use single-session allocations, it might make sense to disable the start on provision setting. This way, game servers don’t start until you allocate them.

Warning: Game Server Hosting requires servers to start during the machine provisioning process if the start on provision setting is enabled. This means that if a build executable fails to start due to a bug (or another reason), it will prevent the fleet from scaling.