Allocations and reservations

Note: The content on this page pertains to Clanforge. If you’re using Multiplay Hosting, refer to the Multiplay Hosting documentation.

At the heart of Clanforge is a system that selects which servers should host a game session to allow the number of players to change dynamically and automatically. Clanforge makes this decision either by allocation or reservation.

The allocation system performs best and affords the most benefits for games that incorporate a matchmaker, while the reservation system is more limited in functionality, working best for games that don't incorporate a matchmaker.

For more information about the differences between the two, refer to Allocations and reservations.

Allocations

An allocation is a request from a matchmaker to Clanforge to find the best possible game server for a game session. Clanforge uses the following factors to select the best game server following an allocation request:

  • Game server region
  • Profile of the game server
  • Hosting score of the machine that’s hosting the game server
  • Server configuration of the game server

Additionally, if using a matchmaker, the quality of the connection between the game server and the game client may be a factor. Refer to Quality of service.

In this way, the allocation system always fulfills allocation requests with a game server instance that best optimizes performance, availability, and costs.

Besides selecting game server instances to reduce costs, the allocation system further optimizes the cost of the fleet by automatically defragmenting servers across machines and scaling game server instances down as needed based on time-to-live thresholds. As mentioned, allocation-based fleets work best for games that use a matchmaker to assign players to servers dynamically based on sets of player criteria, such as player experience level, location, and game mode. However, the allocation system doesn't support games that use a server browser where the players choose the game session they want to join from the game client.

The opposite of an allocation is a deallocation, which tells Clanforge when a game session finishes, and the server is available for a different game session (allocation).

Reservations

A reservation is a retroactive request by a server to notify Clanforge that the server is in use. Unlike allocations, the game server supplies the machine ID and the server ID in the request to tell Clanforge which server you want. The reservation system has no intrinsic logic to select a game server instance based on variables an allocation would have used, such as location, cost, and game settings. Clanforge can't choose the best server upon which to host the game. Reservation-based fleets work best for games that use a server browser, which requires the player to select a specific server for each game session from the game client.

The reservation system doesn’t support the ability to operate more than one game mode at a time. You can use the Fleet Profile Switch endpoint to trigger a zero-downtime profile change for all servers in a reservation fleet.

The opposite of a reservation is an unreservation, which tells Clanforge when a game session finishes, and the server can now return to the available pool.

Topics covered in this chapter: