Player session timeout should be 60s from the time of player session creation, even with FlexMatch delays I would expect you to be getting 45-50s per ticket to connect a player in. I know there is a GameLift backlog item to configure the timeout values for player session life.
As to the FlexMatch issue, unfortunately, there are some limitations in the current auto-backfil hooks. GameLift will find players for your game session; if it starts with players missing, then it will autobackfil if enabled. If players subsequently leave/disconnect, the current implementation will not submit an auto-backfil ticket on your behalf. You will have to manually submit a backfil request here.
You may need to manage the matchmaking data manually and not rely on auto-backfill to enable customization of what happens to players that disconnect ie:
- Player connects - AcceptPlayerSession
- Player disconnects - start a ‘disconnection timer’ on server
- Either Player reconnects into existing player session and matchmaking data is not updated
- Or player fails to re-connect in time - RemovePlayerSession on server, update matchmaking data and call MatchbackfillRequest. Player has to make a new matchmaking request
Or something similar, will need to handle edge cases for player of game session ending etc.