So I'm making a global matchmaking system and I'm gonna need to store a table of the players that have readied up to join a match and that table is gonna be edited a lot so what's the best thing to use that won't cause any issues with roblox limits
Technically you can make a cross server matchmaking system via the Roblox datastores
, but you will be subject to ~6 seconds of delay between all of your calls alongside the Roblox datastore send/get limits. You probably wouldn't have any issues with storage size as Roblox Datastores are pretty big.
Another method you could use is the MessagingService, however this also has very strict limits and often times is unreliable as it can completely fail to load. The upside to this is that you can get more immediate and faster server to server interactions. The downside is that there is no storage mechanism, and you will have to keep track of players on each individual server and hope they stay in sync.
Perhaps with a cross between both the Roblox datastores
and MessagingService
might be your best "in-roblox" option.
By far the best and most popular solution to global matchmaking at the moment is to use an external datastore
(one that exists outside of Roblox such as Firebase, MySQL, MongoDB, ect...). However this requires a lot of experience setting up and maintaining. You usually have to pay money in order to get reliable servers and storage limits. However, in terms of functionality this is the best option as you will not deal with major delays, and you will have an easier time controlling the storage failures and manipulation of the data.