Today we are announcing a major improvement to how we start new servers: prewarming.
Sometimes players need to wait for a new server to start up when trying to join an experience. The most common cases are when existing servers are full, teleporting to a reserved server, or joining a private/VIP server. Players must wait for the new server to start up (typically 5-6 seconds, but potentially longer) before they’re able to hop in and play. This feature allows players to join new servers just as quickly as if they were joining an existing server.
We have enabled this recently for all experiences that exceed a threshold for the rate at which new servers start. Experiences with at least one server start in the past minute have prewarming enabled. We’re using this as the eligibility criteria as this allows us to minimize how many empty prewarmed servers are running while maximizing how many server starts can use them. Please note that we may tune this threshold as we monitor this feature.
Prewarming is automatically applied to all experiences meeting the server start frequency threshold. There is no need for you to take any action on your part for your players to join your experience faster.
Feel free to leave any comments or feedback below.
Wow so so cool this was needed for a while it always bother me how long it took to create new ones. But how will it work with really big games were servers are started every other second?
This is awesome. It’s hugely helpful for games with lobby systems that create a new server to teleport to, such as my own. I can’t even tell it teleported anymore! So smooth!
Great improvement to user experience, a few questions…
How long do prewarmed servers exist before shutting down in the case that no players join?
Do prewarmed servers run server sided game code immediately on start-up? If this is the case, should we be careful for loading game sequences that might require or yield for a player to exist in the game? I don’t see there being many scenarios where this is the case, but better to be safe than sorry.
Currently, up to 5 min (disclaimer: subject to change without notice)
No, we don’t run any of the experience’s code until the first user is about to join to guarantee backwards compatibility. cc @InCrIpTiOnYT who asked a similar question
This is an awesome change, especially for experiences with 1 player servers! Great to see.
One question; does this mean we can no longer trust that joining a ‘new’ server (being the first player in it) will ensure you’re on the latest version of the game (assuming you joined within 5 minutes of a new update being published)? Also, I’m assuming the “Shut Down All Servers” button we use in the case of an update would also shut down these prewarmed servers?
Joining a “new” server is always guaranteed to be the latest published version. If we detect a prewarmed server running an old version we’ll shut it down instead of using it.
“Shut Down All Servers” ignores prewarmed servers. It’s not necessary to shut them down due to the condition above. (Side note - “Shut Down All Servers” is being consolidated with “Migrate to Latest Update.” More info here - Improvements to Updating Experiences)
Hi
Does this change anything for server startup speed when using ‘shutdown all’?
Especially when using a method like this: SoftShutdown2 — Shutdown all servers with peace of mind!
That teleports users to a new server on shutdown.
And please decrease the limit in the future. I imagine only about the top 200 or so experiences have a new server start each minute. (Or experiences with low playercounts!)
Great feature. Now, all we need is a way for players to join newly published servers instead of old servers when we publish! (and optionally press a button to execute this)
This release doesn’t change anything in regards to “Shutdown All”
As for the threshold - we have to be careful not to start too many prewarmed servers since they use our datacenter resources. We’re monitoring the impact and will tune it as needed
However, I do wonder how this will behave with servers that end up bricking one way or another. Does this mean players will be stuck leaving and rejoining the prewarmed server, even if new players join the game? Usually, the trick to shut down a “broken” server is to have everyone leave, will prewarming affect this in any way? (That is, assuming the server stays ‘open’ in the background).