GameLift Instance Boot Time Reduction

I’m noticing individual instance boot time can take between 5-15 minutes for a Windows server.

Our use case is a traditional dedicated server model with 16 players per server. Throughout the day, while users login, ideally we would scale up additional instances to meet population demand.

To avoid users having to wait for new instances to spin up, is there anything that can be done to reduce boot time? How much faster are Linux-based servers? Will boot times vary with time of day?

Hello @funbits_cjacobson -

There are a couple of things you could do to reduce player wait times:

  1. Switch over to Linux GameLift instances. This instance type typically scales up and is ready for servicing games and players within 1-2 minutes. Boot times do not vary with time of day in either Linux or Windows cases.
  2. Use a Game Session Queue [1]. With a Queue, GameLift can “drain” game session requests into multiple fleets, perhaps in different regions. This allows you to redirect groups of players who might be waiting for a server to a region or fleet that does have capacity, while you wait for capacity to scale-up in other regions. You can control the maximum player latency that groups of players would be subjected to (eg. “only place players in other regions if the resulting latency would be 60ms or less”). Even if you do not configure your Queue to span across multiple regions, it’s best practice to use them because it acts as a “shock absorber” for players attempting to enter game servers, assuming you are comfortable with keeping players waiting for a period of time.
    Does this help out?

[1] http://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html

The time estimate for Linux boot helps very much. We will move towards a Linux based server. Also very good to hear that time of day does not affect services.

Queues are a great feature and I wish we had anticipated using Gamelift as a matchmaking service earlier. For now we are using Steam’s matchmaking, which allows us to span multiple regions by adding the server’s region to its matchmaking data and having the client switch regions before creating a player session with the Steam-selected server.