Servertravel with Steam

Hi,

I have a bit of trouble using the SeamlessTravel option over the Steam Network.
My clients always get disconnected after a “servertravel %mapname%” is called.

Looking into the log file they get the info to load the new map, load it and after that they get dropped.

[2014.12.14-15.03.56:437][ 21]LogNet: Browse: steam.76561197983711055//Game/Maps/TransitionMap?game=/Game/Blueprints/MenuMode.MenuMode_C
[2014.12.14-15.03.56:437][ 21]LogNet: World NetDriver shutdown SteamNetDriver_0 [GameNetDriver]
[2014.12.14-15.03.56:438][ 21]LogNet: DestroyNamedNetDriver SteamNetDriver_0 [GameNetDriver]
[2014.12.14-15.03.56:451][ 21]LogNet: UNetConnection::Close: Name: SteamNetConnection_0, Driver: GameNetDriver SteamNetDriver_0, PC: PlayerController_2, Owner: PlayerController_2, Channels: 9, RemoteAddr: 76561197983711055:7777, Time: 2014.12.14-15.03.56
[2014.12.14-15.03.56:454][ 21]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_0
[2014.12.14-15.03.56:468][ 21]LogExit: GameNetDriver SteamNetDriver_0 shut down
[2014.12.14-15.03.56:472][ 21]LogNet:Display: SteamNetDriver_1 bound to port 7777
[2014.12.14-15.03.56:473][ 21]LogNet: Game client on port 7777, rate 10000
[2014.12.14-15.04.12:773][ 69]LogNet: Welcomed by server (Level: /Game/Maps/TransitionMap, Game: /Game/Blueprints/MenuMode.MenuMode_C)
[2014.12.14-15.04.12:773][ 69]LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
[2014.12.14-15.04.12:774][ 69]LogNet: UChannel::CleanUp: [PendingNetDriver] [NoPC] [No Owner]. ChIndex == 0. Closing connection.
[2014.12.14-15.04.12:786][ 69]LogNet: UNetConnection::Close: Name: SteamNetConnection_1, Driver: PendingNetDriver SteamNetDriver_1, PC: NULL, Owner: NULL, Channels: 2, RemoteAddr: 76561197983711055:7777, Time: 2014.12.14-15.04.12
[2014.12.14-15.04.12:789][ 69]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_1
[2014.12.14-15.04.12:805][ 69]LogLoad: LoadMap: steam.76561197983711055//Game/Maps/TransitionMap?game=/Game/Blueprints/MenuMode.MenuMode_C
[2014.12.14-15.04.12:927][ 69]LogParticles: Destroying 0 GPU particle simulations for FXSystem 0x000000241145B6A0
[2014.12.14-15.04.12:959][ 69]LogMemory: Platform Memory Stats for Windows
[2014.12.14-15.04.12:960][ 69]LogMemory: Process Physical Memory: 359.08 MB used, 407.98 MB peak
[2014.12.14-15.04.12:960][ 69]LogMemory: Process Virtual Memory: 336.52 MB used, 344.08 MB peak
[2014.12.14-15.04.12:961][ 69]LogMemory: Physical Memory: 3636.78 MB used, 7893.53 MB total
[2014.12.14-15.04.12:962][ 69]LogMemory: Virtual Memory: 938.76 MB used, 134217728.00 MB total
[2014.12.14-15.04.12:963][ 69]LogMemory: 
[2014.12.14-15.04.12:964][ 69]Allocator Stats for TBB: (not implemented)
[2014.12.14-15.04.13:015][ 69]LogWorld: Bringing World /Game/Maps/TransitionMap.TransitionMap up for play (max tick rate 0) at 2014.12.14-16.04.13
[2014.12.14-15.04.13:015][ 69]LogWorld: Bringing up level for play took: 0.001043
[2014.12.14-15.04.13:017][ 69]LogNet:Warning: Network Failure: GameNetDriver[ConnectionLost]: Your connection to the host has been lost.
[2014.12.14-15.04.13:018][ 69]LogNet: NetworkFailure: ConnectionLost, Error: 'Your connection to the host has been lost.'
[2014.12.14-15.04.13:018][ 69]LogNet: DestroyNamedNetDriver SteamNetDriver_1 [GameNetDriver]
[2014.12.14-15.04.13:020][ 69]LogExit: GameNetDriver SteamNetDriver_1 shut down

As you can see it starts to load the map “TransitionMap” but after that the NetDriver get’s shut down.
It continues to load the map (you can see it at the bottom of the log) but can’t connect to the server (or that’s what I think what happens here).

The server on the other side does process the switch to the new map and seems to close the connection, even after I set the “bUseSeamlessTravel = true;” in C++ in my GameMode.

Server Log:

[2014.12.14-14.53.39:508][284]LogGameMode: ProcessServerTravel: /Game/Maps/TransitionMap
[2014.12.14-14.53.39:573][307]LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
[2014.12.14-14.53.39:573][307]LogNet: UChannel::CleanUp: [GameNetDriver] [PlayerController_2] [PlayerController_2]. ChIndex == 0. Closing connection.
[2014.12.14-14.53.39:574][307]LogNet: UNetConnection::Close: Name: SteamNetConnection_0, Driver: GameNetDriver SteamNetDriver_0, PC: PlayerController_2, Owner: PlayerController_2, Channels: 9, RemoteAddr: 76561198008626675:7777, Time: 2014.12.14-14.53.39
[2014.12.14-14.53.39:576][307]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_0
[2014.12.14-14.53.39:582][308]LogPlayerController:Warning: Calling IsLocalController() while Player is NULL is undefined!
[2014.12.14-14.53.39:582][308]LogPlayerController:Warning: Calling IsLocalController() while Player is NULL is undefined!
[2014.12.14-14.53.39:754][370]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.39:956][444]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.40:166][520]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.40:393][603]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.40:544][658]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.40:761][737]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.40:969][813]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.41:187][892]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.41:379][962]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.41:557][ 27]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.41:761][101]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.41:968][177]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.42:187][257]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.42:385][329]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.42:557][392]LogNet: NotifyAcceptingConnection: Server GameLobby refused
[2014.12.14-14.53.43:365][687]LogEngine: Server switch level: /Game/Maps/TransitionMap
[2014.12.14-14.53.43:365][687]LogNet: Browse: /Game/Maps/TransitionMap?listen
[2014.12.14-14.53.43:368][687]LogLoad: LoadMap: /Game/Maps/TransitionMap?listen
[2014.12.14-14.53.43:368][687]LogNet: World NetDriver shutdown SteamNetDriver_0 [GameNetDriver]
[2014.12.14-14.53.43:371][687]LogNet: DestroyNamedNetDriver SteamNetDriver_0 [GameNetDriver]
[2014.12.14-14.53.43:372][687]LogExit: GameNetDriver SteamNetDriver_0 shut down
[2014.12.14-14.53.43:384][687]LogParticles: Destroying 0 GPU particle simulations for FXSystem 0x0000007AD0FDCC20
[2014.12.14-14.53.43:394][687]LogMemory: Platform Memory Stats for Windows
[2014.12.14-14.53.43:394][687]LogMemory: Process Physical Memory: 396.64 MB used, 396.64 MB peak
[2014.12.14-14.53.43:394][687]LogMemory: Process Virtual Memory: 303.86 MB used, 306.89 MB peak
[2014.12.14-14.53.43:396][687]LogMemory: Physical Memory: 4377.26 MB used, 8156.63 MB total
[2014.12.14-14.53.43:397][687]LogMemory: Virtual Memory: 848.61 MB used, 134217728.00 MB total
[2014.12.14-14.53.43:398][687]LogMemory: 
[2014.12.14-14.53.43:398][687]Allocator Stats for TBB: (not implemented)
[2014.12.14-14.53.43:407][687]LogWorld: Game class is 'MenuMode_C'
[2014.12.14-14.53.43:408][687]LogNet:Display: SteamNetDriver_1 bound to port 7777
[2014.12.14-14.53.43:408][687]LogNet: GameNetDriver SteamNetDriver_1 IpNetDriver listening on port 7777
[2014.12.14-14.53.43:412][687]LogAIModule: Creating AISystem for world TransitionMap
[2014.12.14-14.53.43:412][687]LogWorld: Bringing World /Game/Maps/TransitionMap.TransitionMap up for play (max tick rate 0) at 2014.12.14-15.53.43
[2014.12.14-14.53.43:412][687]LogWorld: Bringing up level for play took: 0.000612
[2014.12.14-14.53.43:413][687]LogGameMode: Warning - PATHS NOT DEFINED or NO PLAYERSTART with positive rating
[2014.12.14-14.53.46:683][879]LogNet: NotifyAcceptingConnection: Server TransitionMap accept
[2014.12.14-14.53.46:683][879]LogNet: Open TransitionMap 12/14/14 15:53:46 76561198008626675
[2014.12.14-14.53.46:684][879]LogNet: Added client connection.  Remote address = 76561198008626675:7777
[2014.12.14-14.53.46:686][879]LogNet: NotifyAcceptingChannel Control 0 server World /Game/Maps/TransitionMap.TransitionMap: Accepted
[2014.12.14-14.53.46:689][879]LogNet: Remote platform little endian=1
[2014.12.14-14.53.46:689][879]LogNet: This platform little endian=1
[2014.12.14-14.53.55:871][236]LogNet: Login request: /Game/Maps/TransitionMap?game=/Game/Blueprints/MenuMode.MenuMode_C?Name=Reaping666 userId: 76561198008626675
[2014.12.14-14.53.55:871][236]LogNet: Client netspeed is 10000
[2014.12.14-14.53.55:907][249]LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
[2014.12.14-14.53.55:908][249]LogNet: UChannel::CleanUp: [GameNetDriver] [NoPC] [No Owner]. ChIndex == 0. Closing connection.
[2014.12.14-14.53.55:908][249]LogNet: UNetConnection::Close: Name: SteamNetConnection_1, Driver: GameNetDriver SteamNetDriver_1, PC: NULL, Owner: NULL, Channels: 2, RemoteAddr: 76561198008626675:7777, Time: 2014.12.14-14.53.55
[2014.12.14-14.53.55:911][249]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_1
[2014.12.14-14.53.56:121][325]LogNet: NotifyAcceptingConnection: Server TransitionMap accept
[2014.12.14-14.53.56:121][325]LogNet: Open TransitionMap 12/14/14 15:53:56 76561198008626675
[2014.12.14-14.53.56:122][325]LogNet: Added client connection.  Remote address = 76561198008626675:7777

I currently have a blueprint parented to my custom GameMode in C++, which is setting the bool in the constructor.
I then have a menu based on UMG Widgets and have a client connect over the steam api (via the new Nodes in Unreal 4.6). That’s working perfectly.
Then the server does a “servertravel TransitionMap” to change the map (through Execute Console Command or directly in the console doesn’t matter).

Is there anything more I need to do, to keep connections to the client alive?

Thanks in advance for any help.

push It’s really important for us to get this working. No one has an idea?

Just updated to Unreal 4.6.1 and it suddenly started working. So looks like it was a bug in 4.6.0.
For all who might get the same problem!

We still have the same problem :frowning:

Do you solve the problem, we are in 4.7.3 and can’t still Servertravel to map.
Also use steamworks.

Nope, 4.7.3 still the same

Hello HitEmUp,

Are you receiving the exact same error messages as Drommedar?

He claims his issue was resolved in 4.6.1.

For those experiencing the issue still, have a look over the documentation to see if you might have overlooked something when setting up your server scripting.

Online Session Nodes

https://docs.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/OnlineNodes/index.html

Online Steam Subsystem

Let me know if you manage to address your issue, or if you have additional questions.

Thanks,

Andrew Hurley

4.7.3 it works with the OnlineSubsystemNull but if you are using the OnlineSubsystemSteam it stops working all of a sudden.

Hey all,

Have you made sure to follow the documentation provided when attempting to use the Online Steam Subsystem?

“The Steam subsystem requires some additional setup through Valve. Contact Valve and use their documentation to make sure you are setup on their end before attempting to use Steam in the Unreal Engine.”

If you have then no worries. We are constantly working to improve the Steam Subsystem and its compatibility so we appreciate your patience while fixes are implemented for this feature.

Thank you,

Andrew Hurley

Hey Andrew,

I have the exact same issue. I was wondering if you could give a little explanation on how and where I should contact valve about this. And why that solves the problem of ServerTravel not working with steam.

I also created a simple project that demonstrates the issue. I can give if you need it for anything.

Thank you,
Yannick

Hey YannickLange,

The ServerTravel command is handled by the Server, which if using the steam subsystem, you will be using steam servers.

Currently our documentation on the Steam Subsystem is slightly limited, and we ask users to navigate to the steam support page for additional support.