I'm experiencing an odd error where players fail to connect to my game server if it is the first game on that server instance. For subsequent games, it works as expected (players can connect).
I looked at archived games, and noticed that the first game for a given IP would start up successfully, but it would contain no players (and players reported that the Lobby said "game started!" but remained stuck in the lobby rather than the game starting up).
I suspect some kind of race condition where I am calling StartGame() then immediately sending a GameServerReady message (which contains the IP & port of the game server to connect to) and the clients are trying to connect before that server is ready.
Does that sound like it is the case?
If so, how can I wait for the server started by StartGame() to be "ready"?
Or should it be the client's responsibility to retry every few seconds?