Dedi vs listen server, order of startup operations

I believe the normal sequences are:

Dedicated server:

  1. Load level
  2. Create a session

Listen server

  1. Create a session
  2. 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:

  1. Load a level
  2. Wait for everything to be ready, which means ensure important BeginPlays have completed.
  3. 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).

It sounds like you have a bigger issue with initialization if you run into trouble of early joining clients.
All that is required for a player to join should happen during the login request long before BeginPlay.

That being said I don’t think anything is stopping you from starting the listen server and then creating the session other than a lot longer wait times before anyone else can see your session and join.