We're building an online multiplayer game, where short games will be played one-on-one, and in the future we are planning on also adding three player and four player game modes. I've implemented match making on a separate server, which when a match is found, requests a playfab server and sends the IP address to the connected players, who are then supposed to reconnect there.
We're using Unity and C#, and I'm hoping you might help me out with some architectural/API pointers. As we will have 1-on-1 games, we'll want a single server instance to handle hundreds (if not thousands) of matches concurrently, and only scale out when CPU, memory or other such constrains become a problem. How should I go about implementing this?
Right now, I call PlayFabMultiplayerAPI.RequestMultiplayerServerAsync when a match is made, and that seems to mark the instance as "unavailable" or something to that effect, since after two requests, the method returns "MultiplayerServerTooManyRequests - NoHostsAvailableInRegion". Or is this due to something else?
Any ideas, suggestions or links to resources I could use would be much appreciated.
Ps. The match making and game play works well when testing locally through the MockAgent.