Advanced Sessions Plugin

Hi, I’m having an issue similar to this post: [Solved] - Blueprint JoinSession loading to incorrect map - #4 by Mesket

I’m using the Steam Online Subsystem with two different computers with two different Steam accounts.

Basically I can see the Host when looking for sessions and I can access its ExtraSettings so I am sure it’s the one I am running. When connecting to it, the JoinSession node returns a success. In the logs of the Host I can see a Client tried to connect, and likewise I can see the Client found the host and connected it.

However, it doesn’t do much afterwards, simply hanging on the map and not loading the Host’s map.

I’ve tried the same method with both computers logged off Steam. I confirmed that Steam was not working as the overlay as unavailable. I was able to join a session in this case and everything was working as designed.

Below I added some logs. Some further explanation on the levelnames that might pass by in the logs

  • MainMenu: Startup level for everyone. Here all settings are set and launches the LoadingLevel
  • LoadingLevel: Based on settings in the GameInstance, LoadingLevel either connects to or hosts a session
  • DefaultMap: Gameplay level where all players should end up in

Connecting via Steam and project UI

I’ve double checked all nodes and flows and it should work properly. The OpenLevel (by Object Reference Node) has listen added to it in options. Here below is the log from the moment that the Client starts connecting to the Host.

[2022.03.29-10.30.08:262][215]LogAIModule: Creating AISystem for world LoadingLevel
[2022.03.29-10.30.08:402][215]LogLoad: Game class is ‘BP_AgoraGameMode_C’
[2022.03.29-10.30.08:405][215]LogWorld: Bringing World /CREWAgora/Levels/LoadingLevel.LoadingLevel up for play (tick rate 0) at 2022.03.29-12.30.08
[2022.03.29-10.30.08:405][215]LogWorld: Bringing up level for play took: 0.000406
[2022.03.29-10.30.08:406][215]LogGameMode: FindPlayerStart: PATHS NOT DEFINED or NO PLAYERSTART with positive rating
[2022.03.29-10.30.08:408][215]LogLoad: Took 0.218045 seconds to LoadMap(/CREWAgora/Levels/LoadingLevel)
[2022.03.29-10.30.08:658][346]LogBlueprintUserMessages: [BP_CoagulateGameInstance_C_0] User -63,921,253 has entered CREW
[2022.03.29-10.30.10:414][196]LogOnlineSession: STEAM: Using P2P Data for Connection Serialization
[2022.03.29-10.30.10:414][196]LogOnlineSession: OSS: Join session: traveling to steam.76561198180819823:17777
[2022.03.29-10.30.10:415][196]LogNet: Browse: steam.76561198180819823:17777/Game/Maps/MainMenu
[2022.03.29-10.30.10:415][196]LogNet: Display: SteamNetDriver_0 bound to port 17777
[2022.03.29-10.30.10:416][196]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2022.03.29-10.30.10:416][196]LogOnline: STEAM: Adding user 76561198180819823:17777 from RegisterConnection
[2022.03.29-10.30.10:416][196]LogNet: Game client on port 17777, rate 15000

CLI Connection
I tried connecting via cli command UE4Editor.exe ProjectName.uproject ServerIP -Game to directly connect by IP and bypass I get the following log messages:

[2022.03.29-10.17.58:594][ 0]LogNet: Browse: 10.0.0.56/Game/Maps/MainMenu?Name=Player
[2022.03.29-10.17.58:594][ 0]LogInit: WinSock: Socket queue. Rx: 32768 (config 32768) Tx: 32768 (config 32768)
[2022.03.29-10.17.58:594][ 0]LogNet: Created socket for bind address: 0.0.0.0 on port 0
[2022.03.29-10.17.58:594][ 0]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2022.03.29-10.17.58:594][ 0]LogNet: Game client on port 7777, rate 15000

Note the first line in the CLI Connection log, for some reason it wants to load the MainMenu rather than DefaultMap. Also there’s a difference in the ports between connecting via CLI and the JoinSessions node