An allocation is a request from a matchmaker to Multiplay to find the best possible game server for a game session. When a matchmakerA multiplayer networking feature in games that groups players into a game session. needs a game server to host a game session, it makes a request to Multiplay's APIs to allocate a game server for this purpose.
This page describes an overview of the allocation flow process, breaking it down step by step.
- Request allocation: The matchmaker makes an HTTP request to the Server Allocate API endpoint. The request includes the fleet-region in which the allocation should be made and the profile of the server to run.
- Hand off: Multiplay hands the request off to its allocation processor. This is done asynchronously to prevent the matchmaker from having to hold a connection to the APIs for too long while waiting for a response.
- Find best available server: The allocation processor finds the best serverAn available game server that best meets the requirements for an allocation request. from the available pool in the requested fleet-region, and then removes the selected game server from the available poolThe group of game servers in a fleet that is online and ready to fulfill an allocation request. and marks it as allocated.
- Ensure game server is ready: The allocation processor prepares the selected game server, applying configurations, and making sure the game server executableThe executable that runs on a machine and hosts a game server session. is running and on the correct versionHolds all the files for a specific iteration (version) of a game image. When a game server starts up, it uses the game image version files to run the game server process..
- Complete allocation request: Once the game server is ready, Multiplay stores the full server details against the allocation request so they can be returned to the matchmaker.
- Return allocation details: Meanwhile, the matchmaker is polling the Server Allocations API endpoint. When the request is complete, Multiplay returns the details of the server to the matchmaker.