DataStoreService going down is arguably one of the most harmful problems that could happen. Especially when players are spending money this can heavily threaten the player experience and trust. So I would like to know what a developer can do to minimize disaster when this service happens to go down.
The biggest problems I am currently struggling with is that there does not seem to be a way to know when DataStoreService is having issues until you are actually using it to load or save data. Alternatively there does not seem to be a way to know when the service is back up until you are trying to load or save data. And to make matters worse, these actions are all budgeted. This all raises a few questions:
- When a player leaves the game and I fail to save the player’s data, what do I do? Do I keep retrying? And what if a player left the game to join another server instead?
- If I want to disable robux transactions when save and load calls fail, how would I distinguish between small ‘hick-ups’ and the service actually being down? Should I even distinguish the two?
- How would I effectively detect when DataStoreService is back up again after being down for a little while? Especially for if I implement an ‘offline mode’ of sorts.
Overall, DataStoreService going down temporarily seems like a problem that is tricky to work around no matter how you turn or twist it. So I would like to know, what are some effective solutions, or at least band-aids you could try to minimize the effects of this service going down?