Your matchmaking system is fine for our needs, but in our game players need to be online to compete.
For now I solved it by using a web hook (post) on FindPlayers, which takes the list, uses the Presence API (GetPresenceOfUsers) to see if the users are online and returns only those.
It works well, but if FindPlayers had an option to exclude offline users it would probably be even better.
Imagine this use case:
Regarding arbitrary DisableMatchMaking, I would need to clean the list of offline users who for some reason remain with MatchMacking enabled. Imagine the case:
a player searches for opponents -> EnableMatchMaking is called the game searches for opponents for 30 seconds, then calls DisableMatchMaking and stops the search if the player receives a phone call or for some reason closes the app before the 30 seconds are up, the user is left with MatchMacking active in this case, even if formally right that MatchMacking is active, the player should not be chosen because actually not available for our game.Among the MatchMacking options you have "Automatically disable matchmaking for players after XX days". Even if I set it to 1, it doesn't seem to work (maybe a bug?), in fact the player always remains enabled until it is disabled from the game using DisableMatchMaking.
Thanks,
Alessio