From what I understand, these are the calls required for a self hosted server on client and server side:
-Register Server
-Deregister Server
-RefreshHeartbeat
-Matchmake (Client)
-RedeemMatchMakerTicket
-NotifyMatchmakerPlayerLeft
It seems that if I were to have PlayFab host the server, I don't need to call Register/DeregisterGameServer, and also I don't need to send heartbeats.
But server still has to call RedeemMatchMakingTicket. Since the server doesn't call RegisterGame, there is no LobbyId. Where would I get the LobbyID I need to redeem the ticket?
Answer by martinliu1993 · Nov 14, 2017 at 09:00 PM
On a 2nd look, it seems that the client needs to pass both the ticket and the lobbyId from the client to the server when redeeming match making ticket. the client receives both from the result of the MatchMake call
The client must pass up their ticket, but the LobbyId is actually part of the command line info sent to the server when it is started (have a look at the "game_id" parameter - https://api.playfab.com/docs/tutorials/landing-tournaments/custom-game-servers).
Suppose I were using a self hosted server, then do I just pass up the lobbyId to the client that I got on the server from the result of "RegisterGame"?
Oh! Sorry, yes - I was obviously thinking of servers hosted with us. For externally hosted servers, you do get the LobbyId back from the call to RegisterGame. So that would indeed be the one to use.