Questions about server allocation when a game is run

I’m trying to understand Roblox’s server allocation logic and I have a few questions:

  1. Roblox will allocate a new server to run the same game when the first server reaches its limits, right? Which are these limits? The number of players (is there a fixed number)? CPU consumption? Anything else?

  2. If I need to shut down the server for a major update on my game and the game is running on 10 servers simultaneously, will Roblox shut down all the 10 servers automatically?

  3. If in my game, player “A” is on server 1 and player “B” is on server 2, will they be able to interact with each other, as if they are both on the same server? For example, I player “A” (server 1) wants to visit the house of player “B” (server 1)

  4. Where can I learn about this server automated distribution by Roblox?

To answer your questions, I didn’t quite understand Q4, my bad.

  1. There isn’t a fixed number, Roblox usually creates new servers if a clients server runs bad on the first server, (if connection isn’t great, Roblox automatically creates a newer server for them to join).

  2. Newer servers launched after the update might not receive it yet. Try shutting down all servers again so it can apply.

  3. With the use of scripts, yes they can.

1 Like

This is an assumption based on logical methodology / backing and as such can’t be proven to be fully true - this is mainly off of how a sum of other companies work with distribution:

  1. Roblox servers are likely allocated a specific amount of base processing power, and then for every user on top of that the server will be able to use more. It will be granted more processing power if needed, but only in the limits where it is reasonable to do so (the server isn’t busy).
  2. Yes, when you run a game your server has a JobID to make itself distinct and as such it can terminate the servers it knows exist, Roblox will terminate every server on your behalf.
  3. Technically yes, you can use the messaging service to achieve this but it also has its own limitations attached to it. But it wont be like they are in the same server.
  4. You won’t be able to, Roblox engineers are unlikely to confirm or state information about their services both for security reasons and because you don’t actually need to know. You may find more information in the forums but it wont be public information.

For your own ease:
You might want to stop making the assumption that a server has its own server - this is usually done because we call game servers a “server” when in reality its a ‘sub-server’ (I guess you could call it that) in a server box. What we call a server, is different to how the server box works (which is an actual server). You’ll find hundreds of games running on the same server box (as they have the processing power to do this and its cheaper). They basically have server farms which is where your data is sent about - you’ll connect to the nearest server farm and it will route your connection onward to other servers without you knowing (unless your routing to the server center with the information of your server on).

1 Like

Summing up from what I understood, in practical terms, as a developer, I do not have to worry if my game is running on 1 or 100 servers at the same time? Does this mean that if there are 1000 players playing my game at the same time (which will certainly be distributed on several simultaneous servers), within my script I don’t have to worry about that? I mean, if these 1000 players decide to visit my home at the same time, it will be possible, even they are allocated inside different servers, is that correct?