Dedicated server crash with OnlineSessionNull and Steam Game Client

I have game Client with active Steam Integration

[OnlineSubsystem]
DefaultPlatformService=Steam

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

[OnlineSubsystemSteam]
bEnabled=True
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

but Dedicated Server don’t use SteamSubsystem, it uses OnlineSubsystemNull.

When Player is trying to connect from SteamSubsystem to Dedicated Server without SteamSubsystem crash happen.

About crash
OnlineSubsystemNullTypes.h line 12
TEMP_UNIQUENETIDSTRING_SUBCLASS(FUniqueNetIdNull, NULL_SUBSYSTEM);

that macro has check expression in constructor (OnlineSubsystemTypes.h line 942)

crash log

I have this problem as well have you found the solution

I have the same problem but with google play. Everything worked fine until i switched from 4.18 to 4.20, but now since the UniqeNetId type is GOOGLEPLAY and OnlineSubsystemNull checks if it’s equal to FName(“NULL”) it fails. The crashing assertion didn’t exist in 4.18, since they introduced different FUniqueNetId types. In 4.18 RegisterPlayer made an instance of FUniqueNetIdString, whereas in 4.20 onlinesubsystemnull makes an instance of FUniqueNetIdNull.

Same here. New parameter bUseSteamNetworking helped only when Steam overlay is disabled. Basically unreal client crashes a dedicated server when tries to login with Steam activated. It shouldn’t behave like that for sure

I’ve commented out engine source code (for dedicated server)
/check(GetType() == TYPE);/
in OnlineSubsystemTypes.h and it worked for me