Is there anyone who can run the Online Subsystem Steam properly in UE 5.6?

Hi,
I’m trying to migrate my project from UE 5.5.4 to UE 5.6.
Everything has been going well so far, except for the Steam integration.

The scenario is as follows;

  • A hosting player runs the packaged game on a PC with Steam Account - A and creates a lobby session and successfully travels to lobby map via server travel.
World->ServerTravel(PathToLobby);
  • Another player (client) runs the same packaged game on another PC with Steam Account - B and tries to join host player A.
PlayerController->ClientTravel(Address, ETravelType::TRAVEL_Absolute);

Everything looks ok up to Client Travel line. When I debugmessage PlayerController, Address etc they are all fine.

But player B stays on the same level and ClientTravel does not work.

This is exactly the same code on UE 5.5.4.

I’ve been debugging & testing many different alternatives for two days but I haven’t been able to make any progress.

Has anyone encountered a similar situation?

Regards

1 Like

I have the same issue in UE5.6.
In my case, the issue occurs when I try to connect Lobby.
I was perfect in UE5.5 but in UE5.6 does not work.
I am still looking for a solution or a Hero.

1 Like

Checked several free assets or opensource GitHub projects too. No chance…
I’m starting to think there’s a serious problem with UE5.6’s OnlineSubsystemSteam module. I’ll stop looking into it now. I hope someone figures it out.

I’m experiencing the same issue and haven’t been able to get it working.

I noticed there were some changes to SocketSubsystemSteamIP and OnlineSubsystemSteam in UE 5.6. I’m just trying to implement a basic CreateSession → FindSession → JoinSession flow.

Everything seems to work fine — except the ClientTravel using the resolved connect string.

When running the same project on UE 5.5, it works flawlessly and both players can connect without issues.

Here’s the error the client gets when trying to connect:

LogNet: Error: Unable to find a binding socket for the resolve address result 7656412030524655:7777
LogNet: Warning: Encountered an error, cleaning up this connection now
LogNet: Error: BroadcastNetworkFailure: FailureType = PendingConnectionFailure, Error: Your connection to the host has been lost.

At first, I had trouble setting up SteamNetDriver properly due to the recent changes with SocketSubsystemSteamIP, but I eventually resolved that — only for this connection error to persist.

For now, I’ll probably go back to 5.5 — I have no idea what’s going wrong in 5.6 anymore.

2 Likes

I’m adding myself to the list. I used a free Steam plugin in 5.5 that stopped working in 5.6.
I’ve been trying to solve this since the release day of 5.6

Long story short, no success and I’ve started to rip out Steam and implemented a simple OnlineSubsystem for testing purposes.

Dedicated server creates and announces sessions, client can see it but Join Session does not work.

However, the error is a PendingConnectionFailure, too.

Client log:

[2025.06.10-00.15.20:344][732]LogNet: Warning: Exhausted the number of resolver results, closing the connection now.
[2025.06.10-00.15.20:360][733]LogNet: Warning: Encountered an error, cleaning up this connection now
[2025.06.10-00.15.20:378][734]LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = PendingConnectionFailure, ErrorString = Your connection to the host has been lost., Driver = Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147480581
[2025.06.10-00.15.20:378][734]LogNet: Warning: Network Failure: PendingNetDriver[PendingConnectionFailure]: Your connection to the host has been lost.
[2025.06.10-00.15.20:378][734]LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'

My server has an IPv6 address and I don’t know what “Exhausted number of resolver results” is meant to say - there’s nothing to resolve…

1 Like

I have reported this as a bug. If Epic staff creates a bug report on their internal system I will share here.

2 Likes

It works with the SteamSockets net driver thankfully. Enable the Steam Sockets plugin and add this to your DefaultEngine.ini

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
6 Likes

I didnt know about steamsockets, thanks now it works on 5.6

Doesn’t work for me, are you using listen or dedicated server?

This solution didn’t work for me either. I’m using a listen server.

It works with listen servers for sure. I’m not sure about dedicated servers.

This works for me too. What is the difference between the 2?

I got it to work again too with the help of some friendly people from the Unreal Source Discord. Works for the dedicated server but requires a lot of changes to Unreal source code.

You can follow the conversation here:

1 Like

Hi all

I ran into the same issue when moving to 5.6 and determined it was because the SteamNetDriver has been moved. SteamNetDriver now exists in the SocketSubsystemSteamIP module as opposed to the original location in OnlineSubsystemSteam.

The fixed ini config is as follow:

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="SocketSubsystemSteamIP.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

However, I suggest moving to the new SteamSockets (as suggested in this thread) as it will probably be more future-proof.

Cheers!

2 Likes

I believe that steam subsystem was already working using steam sockets (since version 4.something).
They just silently moved the NetDriver class to the other module, you mentioned.
You can take a look at this: Unreal Engine Issues and Bug Tracker (UE-297279)

it works for me. Thank you, my hero

So…this works…however…Now I have to do something that I feel like is not the right way to do it despite it now working.

Hopefully someone can give me some advice. (My game is Blueprints Only)

Relevant Plugins Enabled:

  • Online Subsystem Steam
  • Steam Sockets
  • Advanced Steam Sessions

Relevant DefaultEngine.ini settings:

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
bInitServerOnClient=true
bHasVoiceEnabled=true
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=true
bInitServerOnClient=true --I candidly have no idea wtf this does, saw in another post
bUseSteamNetworking=true --I candidly have no idea wtf this does, saw in another post
bAllowP2PPacketRelay=true --I candidly have no idea wtf this does, saw in another post

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=OnlineSubsystemSteam.SteamNetConnection

Given all that, I have this currently working on UE5.6:

  1. Player A Hosts a Server
  2. Player B can join Player A’s server
  3. Player A starts the game and sends everyone that is a client to a Transition Map
  4. When all clients are gone, Player A does “ServerTravel” with Seamless Travel enabled to the game map, and then all clients rejoin the server.
  5. Game ends, and then Step 3 happens again. Clients are kicked to a Transition Map. Server Seamless Travels to the Lobby Map. Clients then rejoin the server

This was working the exact same in UE5.5 (I wasn’t using Steam Sockets), but I was using “Open Level” with “listen” (which felt cleaner), and I never used ServerTravel.
Anytime I try to use Open Level WITH or WITHOUT “listen”, the server gets kicked to the Menu:

SteamSockets API: Error Cannot create listen socket. Already have a listen socket on P2P vport 7777

Only ServerTravel seems to work in UE5.6 for my specific scenario, and ONLY if Seamless Travel is enabled. The error only kind of makes sense. Is the default code really unable to ignore the duplicate listen socket error? Does it seriously have to just crash to Menu?

I prefer that my clients are loaded to a Transition Level before the match starts, so I’m not really interested in having them all travel together to the game map.

This is just word vomit at this point, but if anyone has any alternative advice let me know.

Server Travel is broken right now: Unreal Engine Issues and Bug Tracker (UE-239936)

1 Like

Welp…lol. That answers that for me. Thank you for that link. Now I don’t feel like a crazy person. I should be grateful I have a workaround!

Here is an explanation of what’s going on, just so people are wrapping their heads around it.

1. [/Script/Engine.GameEngine]
2. !NetDriverDefinitions=ClearArray
3. +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/SteamSockets.SteamSocketsNetDriver",DriverClassNameFallback="/Script/SteamSockets.SteamNetSocketsNetDriver")

4. [OnlineSubsystem]
5. DefaultPlatformService=Steam

6. [OnlineSubsystemSteam]
7. bEnabled=true
8. SteamDevAppId="480"
9. SteamAppId="480"
10. bUseSteamNetworking=true
11. bAllowP2PPacketRelay=true

12. [/Script/OnlineSubsystemSteam.SteamNetDriver]
13. NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

7 tells steam to be enabled for the application.
8 + 9 just tells steam what game is launching. you replace this with an Steam AppID steam provides once you purchase the rights to post a game on their store.
10 tells unreal engine you want access to steams networking tools which I’ll explain further.
11 replaces bInitServerOnClient. bInitServerOnClient would allow you to host a server on your local pc currently running the client, then let the client join, and potentially others as well. bAllowP2PPacketRelay tells the newer engine you would like to allow Peer2Peer Connections which includes the server/Client setup.

Online Subsystem Steam is an API that allows you to access steams interfaces,
Some interfaces:

  • Matchmaking (Lobbies and GameServer APIs)
  • Leaderboards
  • Achievements
  • Voice
  • UserCloud
  • SharedCloud
  • External UI

From what I understand, Steam Sockets is a plugin that extends Online Subsystem steam and includes the following.

  • Improved Security and Reliability
  • DDos Protection
  • End to end encryption with NAT Traversal
  • Ping calculation for listen servers, this allows Matchmaking systems to determine optimal servers by ping without having to join them. The older SteamNetworking could not provide ping calculation until users were already connected to the server.

Using Steam Sockets in Unreal Engine | Unreal Engine 5.6 Documentation | Epic Developer Community

Lastly, Through much testing, I found trying to host a game from within the editor will result in an error when trying to configure the listen socket.

This error is only in the editor

if you compile your game and run the compiled project, it should let you host correctly.

1 Like