CommonSessionSubsystem in CommonUser Plugin.

I followed Lyra and made my own online game. Host Session BP Node works fine in standalone and LAN mode. But when I set it to dedicated server and clients, It’s not working. Log says the Session is created, however that “Server travel should never create a pending net game.”

LogNet: Game client on port 17777, rate 100000
LogLoad: Warning: UEngine::TickWorldTravel failed to Handle server travel to URL: /Game/Core/Maps/Default/Test?listen?Experience=B_DefaultExperience. Error: 
LogOutputDevice: Warning: Script Stack (0 frames) :
LogOutputDevice: Error: Ensure condition failed: Ret != EBrowseReturnVal::Pending [File:G:\UnrealEngine\UnrealEngine_53_fork\UnrealEngine\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp] [Line: 14557] 
Server travel should never create a pending net game
LogStats:             FDebug::EnsureFailed -  0.000 s
LogNet: Warning: Travel Failure: [ServerTravelFailure]: 
LogCommonSession: Warning: TravelLocalSessionFailure(World: /Game/Core/Maps/StartUp/UEDPIE_1_StartUp.StartUp, FailureType: ServerTravelFailure, ReasonString: )
LogNet: TravelFailure: ServerTravelFailure, Reason for Failure: ''
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: , Name: IpConnection_4, Driver: PendingNetDriver IpNetDriver_4, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 3, Time: 2023.10.13-16.19.54

And I basicly dived into the source code line by line. It looks like this problem happens in UEngine::TickWorldTravel() and UEngine::Browse() function in UnrealEngine.cpp file. But I don’t know why after pending state the engine just travel back to last used url.
To sum up, the session is created successfully, but it failed to server travel. And in LAN and standalone mode it works fine. Also, original create session and open level node inside engine works fine too.
Really hope someone can enlighten me.

1 Like

Did you ever get to the bottom of this? I’m seeing the same thing.

Hello! If you are doing a seamless travel in editor it might not work correctly.

You can try to setting “net.AllowPIESeamlessTravel” in true.
But sometimes you are going to have issues.

I recomend testing the traveling in a build instead of the editor.

More Info: