5.0.3 Steam initial handshake packet timeout

Hello

I am using UE 5.0.3 with OnlineSubsystemSteam. I am running my game on 2 separate PCs with 2 separate Steam accounts (Play Standalone from within the Editor).

I can host an online game on one PC and then see the session on the other PC when searching for the sessions. When I try to join the session, the game tries to open a connection between the two PCs (P2P), and I can see log entries being generated on both sides. However, connection never succeeds and eventually times out with many lines of

LogHandshake: Verbose: Initial handshake packet timeout - resending.

in the client’s log (the PC trying to join the session). Meanwhile on the server, I get multiple of these entries:

LogOnline: Verbose: STEAM: - Id: Nyle [0x110000153E1CF7E], Number of Channels: 0, IdleTime: 54.161
LogOnline: Verbose: STEAM: - Detailed P2P session info:
LogOnline: Verbose: STEAM: -- IPAddress: 192.168.0.39:60408
LogOnline: Verbose: STEAM: -- ConnectionActive: 1, Connecting: 0, SessionError: 0, UsingRelay: 0
LogOnline: Verbose: STEAM: -- QueuedBytes: 0, QueuedPackets: 0

Creating and joining a Steam-LAN session works properly (although I had to manually configure the network interface metric of my WAN interfaces in Windows settings for the broadcast to work and see the advertised LAN session).

This leads me to believe that it’s probably some networking issue on my side. But maybe one of you has had similar problems and found a solution.

What I tried so far:

  • Firewall and Anti-Virus program disabled on both PCs
  • Port 7777 (tcp+udp) forwarded in my router to the IP of the PC hosting the game (I think this shouldn’t be necessary when using Steam OSS)
  • Connect to different networks (Laptop through mobile hotspot, so it is not in the same LAN)
  • Tried hosting+joining in both directions
  • Tried with my brother in a different household, same issue
  • Configuring WAN interface to have highest priority in Windows (on both PCs)

Note: For inexplicable reasons (at least for me) it sometimes very rarely worked to connect (such as once at the start of the day, and then never again the rest of the day), but mostly it doesn’t work.

If there are any ideas or suggestions, I would be very happy to hear them :).

Edit: I should note that I have an older game (UE 4.22) with Steam integration, and there I can connect perfectly fine with both PCs. Is there something quirky going on with UE5’s Steam integration?

Cheers!

I’m having the same problem. I’m not positive, but this might be an issue with non-seamless travel in UE 5.0?

I found this on the bug tracker:
Unreal Engine Issues and Bug Tracker (UE-151220)

I’m not sure if that’s the issue, though, because with or without seamless travel turned on I can’t load the level before the connection times out.

Nearly two years later we figured out (part of) the cause. We observed these timeouts whenever the HOST of the game has started the Standalone Game from the editor. Regardless of whether the CLIENT started the game from the editor or not.

For the Steam connection to work properly, the HOST of the game must start the game either from a packaged build, or by right-clicking the .uproject file and selecting “Launch Game”.

Hope this helps anyone experiencing the same issue :).