UE 5.1 Steam Sockets Problem

We are using Advanced Steam Sessions Plugin. Still doesn’t work.

1 Like

■■■■ this sucks lol. I really don’t want to build source. I hope Epic sees this and pushes it forward since the fix is already known…

they know Its marked to be fix in update 5.3 even when we vote a lot on it they didn’t push the fix to 5.2 :confused:

Yeah it’s a real bummer… 5.3 feels really far away and I want to test my game without building source lol.

I could connect with these options, thanks. (5.1.1 Source Build)

It looks like there’s a new version of that issue ticket here:

With 5.4 as target fix. It also has the suggested workaround of setting net.VerifyNetSessionID and net.VerifyNetClientID to 0.

Adding this to DefaultEngine.ini worked for me in Unreal Engine 5.1 and 5.2.
Using Advanced Sessions.

[SystemSettings]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

3 Likes

This worked for me to in version 5.2. If I wasn’t already bald I would have pulled out all my hair trying to figure out what was going on with my packaged builds,

Can anyone confirm if this is actually fixed in the 5.3 preview?

At last this fixed my FindSessions with Steam, Thanks.

1 Like

Hey all, I can’t get joining to work with Steam Sockets, and I’m pulling my hair out trying to figure out what’s going wrong. I’m on 5.3, with no Advanced Sessions plugin. When I try to join a LAN game with steam sockets, I just get kicked back to the menu. This is the log. I can join LAN games with steam disabled though…

What am I doing wrong :face_holding_back_tears:

(Ignore FCTween warning, not relevant.)

DefaultEngine.ini

[URL]
GameName=<REDACTED>
Port=27015
PeerPort=27015
QueryPort=27015

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

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=true
bUsesPresence=true
bRelaunchInSteam=false
bInitServerOnClient=true
bUseLobbiesIfAvailable=true
SteamDevAppId=<REDACTED>
bUseSteamNetworking=true
bAllowP2PPacketRelay=true
GameServerQueryPort=27015
P2PConnectionTimeout=90

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

[Core.Log]
LogOnline=VeryVerbose

[SystemSettings]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

Hello, guys. I see that the steam socket bug we were having in 5.1-5.3 was solved in 5.4. I was using these variables in 5.3 and steam sockets worked just fine:
[SystemSettings]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

[ConsoleVariables]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2

But it seems that after upgrading to Unreal Engine 5.4 the connection doesn’t work, anyone else tried? It always throws me out of the session.

Hello. We were having the same issue on 5.3.2 (can find/create/join and play) in a Development package uploaded to Steam, but unable to join sessions using a Shipping build (albeit still being able to create and find sessions).

We are using the Advanced Sessions plugin, lobbies and no Steam Sockets, and were unable to join the created sessions (server travel failed and sent us back to the Main Menu, and only in Shipping builds).

Overriding these console variables / system settings fixed the issue for us, at least for now.

this is what our DefautEngine.ini looks now:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
;+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemEOS.NetDriverEOS",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
;NativePlatformService=EOS

[OnlineSubsystemSteam]
bEnabled=true
SteamAppId={insert your steam app id}
SteamDevAppId={insert your steam app id}
;SteamShippingId={insert your steam app id} (not sure if this one actually gets used lol)
bInitServerOnClient=false
bUseSteamNetworking=false

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

[SystemSettings]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2
net.VerifyNetSessionID=0
net.VerifyNetClientID=0

[ConsoleVariables]
net.CurrentHandshakeVersion=2
net.MinHandshakeVersion=2

EDIT: There was also something else that was interfering in the Shipping builds.
On previous testing versions, we were using Epic’s EOS.
Apparently, this triggered some changes in this setting file:

C:\Users{User}\AppData\Local{YourGame}\Saved\Config\Windows\Engine.ini

If you’re doing a clean install of the Game, the {YourGame} folder will be created with this file, and only a few [Core.System] Paths will be written.

The file we had been using had some NetDriver settings (I don’t know why) that were tampering with the Create/Join flow.
Deleting the entire folder finally fixed this issue. And now, after playing a few times, the only settings that are modified/added automatically during gameplay is the following:

[GameNetDriver StatelessConnectHandlerComponent]
CachedClientID=4

which doesn’t seem to have any influence on how the game runs.

So, if you’re having the same issue as us, before attempting any fix, check if this Engine.ini file has any Subsystem/NetDriver settings written, because if it has, then those settings will be interfering with the settings you used to create your Shipping package

I also have this problem with version 5.4. After some time on the dedicated server, it kicks me off the server. Has anyone managed to solve it?