Game wide matchmaking

Is there a good way to do game wide matchmaking and reserve server teleportation? I was thinking of having a Datastore table that every server reads and writes to, which looks something like this:

WaitingPlayers = {
    ["Gamemode1"] = {--array of players names
    },
    ["Gamemode2"] = {}
}

And a function on each that runs constantly and checks if the size of each game mode is divisible by 2, and teleports the first 2 players in each game mode to a reserve server. I don’t know how well this would work, out if this is even feasible, so I’m open for corrections and/or suggestions on how I can achieve my goal.

2 Likes

Also, please, no http service if possible. It’s above my current level.

1 Like

You’re most likely going to have to use the datastore method, then just sync everything.

I’m not exactly sure if this would produce your intended outcome, but have you considered using a start place exclusively for matchmaking, similar to DropBlox? This would avoid the complications of having to communicate between servers.

1 Like

. @BeastyBlake101 mentioned communicating between servers, which gave me the idea of “MessagingService”

You can read more here:

1 Like

The best way you could achieve this is to reserve a game server using ReserveServer() and then sending that code and players who you want to teleport through MessagingService to the other servers and teleport them as well.