I'm exploring the usage of TagFilter in the Matchmake request to filter out some game server instances which started under some conditions.
The tag is not immediately set when the game server instance starts, and not in every case.
My Matchmake request is as follows:
{ BuildVersion:"test-1", GameMode:"pvp", Region:"EUWest", StatisticName:"mmr", TagFilter:{ Excludes: [ {Data: {GameMode: "pvai"}} ] } }
It works fine in the scenarios where no game is created (it just creates a new game). For the 2nd player (or more), however, there are two scenarios:
- If I issue a matchmaking request after the first server has been tagged, I don't want both to be matched. It works fine, and a new game server instance is created for the second player;
- If I issue a matchmaking request *before* the first server has been tagged, the matchmaking service replies with a 500: Internal Server Error. Example response below:
{"code":500, "status":"InternalServerError", "error":"InternalServerError", "errorCode":1110, "errorMessage":"An unexpected error occured while processing the request.", "errorHash":"7115e505849159f217c46360d0cf049b", "errorDetails":{"RequestID":["5decd7ee875b4d72a7d44b209576f8bc"]}}
I believe this is a bug?
The behavior I'm expecting is for the user to be matched with any existing game server instance that doesn't fulfil the criteria I've defined in excludes (and matches the BuildVersion, GameMode and Region).
If it helps, for traceability, the title where this happened was C6B9.