I have a working dedicated server and a client build set up. Clients can successfully connect to the server once it boots the first map - either going through the Online Beacon or directly via the “open” console command.
The current flow is:
- Client clicks to join a server via the server browser at the main menu
- Online beacon handles the initial communication, checking for a few things (is the server full? is the server accepting connections at the moment? etc)
- If the server accepts the connection, then the client travels to the server as normal
This all works when I first start the server. When the server switches to a new map using seamless travel (by calling ServerTravel()), I can see that the online beacon gets destroyed and a new one is created once the new map is loaded (the online beacon creation happens inside the game mode). The creation is successful, since the logs show that InitHost() returns true on the server and the respective NetDriver is set up. But, if a Client now attempts to connect to the server by going through the online beacon, it appears the Client Beacon is unable to communicate with the server, getting time out errors. On the server side, I can see no sign of requests coming from the client.
I’m at loss here since I haven’t found anyone with similar problems. I have already attempted to disable steamNetworking and p2p relays, but the problem is the same, the beacon only works when the server boots on the first map, any subsequent ServerTravel(…) will result in the online beacon not working anymore.
I also tried using SteamSockets and IpNet for the net driver on the online beacon, both display the exact same behavior as described above.
Can anyone provide any insight?