As a Roblox developer, it is currently impossible to allow all incoming players to a newly created high-player-count server to load from the datastore at the same time, immediately.
Currently, the start budget for each datastore command is the same regardless of player count. When our team shuts down our large 100-player servers for our game (Adopt Me! - Roblox), players have to wait a long time because, naturally, we make a lot of datastore requests when everyone joins at once. Additional, we’re exhausting the datastore queue because of the sheer amount of requests, which is causing player loading to error.
If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.
This would give players much better load times. If this budget isn’t increased, we will need to implement our own datastore queue in order to ensure we don’t overfill Roblox’s provided datastore queue. This takes valuable time away from anyone building high-player-count games from focusing on features.
This is a problem I’m having myself with Redshift Arena. Could be I just wrote the system horribly, but I can’t have more than 1 person in the main menu at a time currently.
I feel like Roblox has the infrastructure now to increase the budget, and I completely support this change.
Roblox actually already implements a queue. The only issue is that the queue is limited to around 30 requests before it drops future requests. If the Roblox queue or the initial budget can’t be increased, then we will definitely need a custom queue.
The budget does increase based on player count every minute minute. That’s not the problematic part though. The issue is the initial budget, which is constant regardless of player count. This forces players to wait a minute in a load screen for the budget to catch up. More info about initial and per minute rates here: Datastores: Initial values for datastore budgets are not documented
Are you doing more than one GetAsync request per player? The initial budget is 100 (last I checked), so you should be able to fire off 130 requests without errors, and only the additional 30 would have to wait.