Hello, developers. I am trying to make a global leaderboard using profile service. I have made the mistake of not saving data to an OrderedDataStore along side the ProfileService. My game has over 500k+ player data and I cannot transfer all of that data over to OrderedDataStore.
However, I figured out how to get the list of all 500k+ player data using ProfileService.
What I need help with is sorting the data, and not get ratelimited in the process. All the data is stored to one ProfileService.DataStore. I have a table for pets, and other values but I need to sort the Cash value from greatest to least.
What I’d normally do here is just to add some delays in.
I think if you wrap the two ProfileService calls (GetCurrentPage and AdvanceToNextPageAsync) in pcalls, you can check if those ones fail. And any time they do you’d just need to add a wait for it (I’m not too sure what the rates are, but it might be like a minute?)
Just make sure you loop those bits in case they do fail, but that should be enough to get around the rate limiting.
The amount of data I need to convert will take me weeks to months, especially since i’m gaining a lot of new players now. I’m trying to look for a different way instead of looping through 500k+ player data (It’s actually 620k).
Also, adding waits to stop rate limiting doesn’t work like that. Even if it did, as said above it would take weeks/months with the right waits.
ProfileService is not made to support global leaderboards, as loleris, the creator of the module, explains here. I would recommend just using the normal Roblox datastore for the leaderboards as you can use both types of datastores in one game.