Suppose a player wants to play a match, so they enter the matchmaking queue.
Then their game crashes (or they ALT+F4).
This would mean the program would exit without being able to call something like CancelAllMatchmakingTicketsForPlayer()
It seems, then, that a player could be matched who already quit the game. This will be a pain point in our game, because a match is ruined if a player doesn't show up. It would also feel bad for the disconnected player (for being AFK) if they are punished for the fact that their game simply crashed.
What is a best practice for handling this case?