Announcing Server Prewarming

Prewarmed servers are always new instances. When all players leave they will shut down just like normal.

As a side note - if “bricking” is an issue on Roblox and not from your scripts please open a Bug Report!

8 Likes

Oh, no wonder they’re always the latest pushed update. Thanks!!!

7 Likes

Wow! I did not expect that this will show up that quickly but from now on I see roblox just getting slowly better.

8 Likes

Will a setting exist in the future to have scripts be ran when the prewarming is complete?

9 Likes

How does this work internally? It would be cool to know

9 Likes

I do have to make a comment about the example video, it shows you joining a server that already had players in it, so pre-warming would not apply or were you showing a example of a bunch of players all trying to join the same server at the same time? :face_with_raised_eyebrow:

7 Likes

great job, really impressive!!

9 Likes

@Sayersooth No plans for that. We don’t let any scripts run until the first player is about to join, so there’s no “prewarming complete” event to hook into. From a scripts perspective it should just look like a normal server start

@BrannanZ At a high level - prewarming works by looking at the rate of game starts across all experiences and all data center regions and maintaining a pool of prewarmed servers based on that data. We’re constantly guessing what are the next servers that users are going to try to start! Maybe we’ll make a blog post on it someday :slight_smile:

@knightmb1 In both cases I used some admin settings to force a new server, once with prewarming and once without. Blox Fruits is just a popular game so other people joined before my player list even started rendering!

12 Likes

Roblox is making a string of awesome updates lately. Hopefully the list continues getting longer!

9 Likes

Awesome job, I can only imagine the code ninjutsu it took to make it load a server instance and then pause the server at just the right moment and then wait for a player to be inbound before resuming and getting all that timing to be perfect, my code fingers hurt just thinking about it. :melting_face:

12 Likes

This looks really awesome. It would be really cool to see stats on how this feature affects average server startup and teleport times across the platform.

11 Likes

While I can’t share metrics, I’ll share a funny story. When we first enabled this we had an automated alert trigger because teleports were completing much faster than expected :smile:

18 Likes

Are individual prewarmed servers waiting for someone join a specific experience or do prewarmed servers not know what experience they will load until someone tries to start a new server for any eligible experience?

6 Likes

Prewarmed servers are specific to an experience. It’s loaded and ready, just waiting for a join to start running scripts.

We already have an experience-agnostic server prewarming step before loading an experience which has been in production for several years.

6 Likes

Do experience-agnostic prewarmed server have any conditions like this does or do they work with any experience?

Also, once a server knows what experience it will host, how long does it take for the server to download the experience asset and get everything ready? Can you go more into how you speed up this step?

5 Likes

Let me clarify - The first step of our server initialization process is experience-agnostic and happens for all servers. The part that players wait on is the step where we load a specific experience onto that server. Prewarming is speeding things up by doing that “experience load” step before anyone tries to join. The step itself takes the same amount of time. But since it’s done before players join, they no longer have to wait for it

6 Likes

I think my use of the term ‘prewarmed’ made my question a bit vague because I already understood this.

In any case, I have a request that may be unrelated to your work on Roblox.
In your example GIF you are showing the improvement in join time with the Roblox app already running. For those of us who like to join from a browser I would like to see improvements in client launch time. In a quick test I just did, it took 16 seconds for the Roblox window to even pop up after clicking the play button. This feels really weird for a program that is only 77MB in size.

4 Likes

will this affect soft server shutdowns?

3 Likes

This is massive for my game, awesome update!

3 Likes

Awesome! Best feature of the year! :grinning:

3 Likes