We are wondering if the following is possible, and how it may be achieved. We are using UE4 if that matters, although most of this should be related to the GSparks events and what not.
1. We would like to create a party or group using GSparks and have player data of each party member delivered so that we can display UI widget with party member informations
2. Begin matchmaking as a party to fill in the remaining vacant slots OR choose to start a private match with only the current party members (based on user defined match settings)
3. Once the match has been filled (or contains the party members in case of private match) we would then have the player at index 0 in the player list contact our dedicated server service to create a server and wait until a reply is received. (The only GSparks interaction here is the notification of the match being "ready")
4. Once our server has replied, we need to transmit the data to each player in the current match to instruct them to connect to the dedicated servers IP address
5. Once the match as ended, player clients remove themselves from the match (and our dedicated server), but must remain in the party once returning to a menu
We do not see an implicit party or group functionality in GSparks and we do not see any "party matchmaking". Is what we outlined achievable with your services?
I've been trying to make the matchmaking, but I've encountered some kind of dead end.
If i need 4 players to start the match, and i have 5 players matchmaking (3 individual, 2 in a team), let's say this is the sequence they start the matchmaking:
- player 1 starts MMR and in the response he does FPM in cloud code and finds no match
- player 2 starts MMR and in the response he does FPM in cloud code and finds no match
- player 3 (that is in party with player 4) starts MMR and in the response he does FPM in cloud code and finds no match. here should he try to wait for a match, or create a pending match and add player 4 to it?
The problem is that if a pending match is create, there is no kind of response to trigger a script in order to make the decision for the match based on the teams.
So the question mostly is: is there a trigger script when a pending match is created from MMR? And how should i make the process of cloud scripts, which cloud scripts should i use (example on matchmaking request/response, matchfound request/response, etc..) in order to achieve the above scenario correctly?
Sorry if the scenario is not clear... and thanks in advance!
From my understanding, a Pending Match is automatically created upon the first MatchMakingRequest. You can verify this by querying the NoSQL system collection pendingMatches.