Hi,
We want the lobby system to handle a user being removed from the lobby on mobile via a loss of internet connection or due to them putting the app into the background. We are using the lobby system where players ‘ready up’ and then we allocate a dedicated server for the gameplay (We do not use relay).
We currently have the host sending a heartbeat every 15 seconds along with an active lifespan of 30 seconds and a disconnect removal time of 60 seconds. If the host puts the app into the background, the lobby goes into an inactive state after 30 seconds as expected due to the heartbeat no longer being sent. However, the host never seems to get removed from the users list, the host does not transfer and no lobby event for a user leaving or being kicked gets called on other users devices.
It seems the only way to get the host to be transferred or to be told about another user leaving is to hard close the app or do it gracefully via the RemovePlayerAsync call. However, if the user is dropping their connection they wouldn’t be able to make such a call.
What is the expected behavior here? Should the lobby system be transferring host if the host drops their connection or backgrounds the app? Should it then be informing other users about the user leaving?