I’m in need of a tool/a way to gather game data. I’m making a game with the idea of dead by daylight, and I need to have accurate statistics on every match to know what to nerf and what to buff, etc. If survivors win 90% of games there is obviously a huge problem and without accurate statistics like which perks have highest win rate, etc it would be hard to make the necessary adjustments. Thanks
Probably shouldn't do this:
The simplest option would be to have a DataStore which contains these statistics. On the server, you can collect statistics and store them in a table. When the server shuts down, and at every certain interval (like every 10 minutes) you can update the DataStore by incrementing the saved statistics with those stored on the server. The local data on the server can then be cleared, restarting the process. I’m not sure if you have to worry about data caching, potentially resulting in data loss if multiple servers try to update statistic data at the same time, but you could use MessagingService to avert this, which would allow servers to broadcast when they are updating the statistics DataStore.
If DataStores are too unreliable, you can use a data storage web API. This should also be relatively trivial, because storing a few numbers (or a lot of numbers) is much simpler than storing player data.
Alternatively, instead of every server saving their data to the same DataStore key, each server could save to a timestamped key of the server data, which is unique to that server only. You could store these unique keys in an OrderedDataStore (assuming it is a randomly generated number). When you need to process the data, you can combine the data for each unique key into one.
That is really not an elegant solution, but unfortunately the limitations and many caveats of DataStores make me scared to use them when data is being updated from multiple sources simultaneously. I would really go with an offsite solution, it would probably be easier than using what Roblox offers (which is highly ironic)
You do not want to use Roblox Datastores for this, you want an analytics service.
See below:
Are there any such free services?
I personally use GameAnalytics for free as linked in the aforementioned post. GoogleAnalytics also has a free version.