I believe the normal sequences are:
Dedicated server:
- Load level
- Create a session
Listen server
- Create a session
- Load a level
I’m not fond of this disparity. In the listen server case, clients join before things are ready (certainly the local client does).
I’d prefer in both cases to do this:
- Load a level
- Wait for everything to be ready, which means ensure important BeginPlays have completed.
- Create a session
Do any of you developers do this?
Frankly listen server is an ugly case (because you have 2 types of server and 2 types of client) but you need it if your multiplayer game supports single-player (so that you can implement single-player as a listen server).