Heres how to config the netdrivers on 5.6+
Update server DLL files
The fix above is correct but its missing one line which tells the engine a client has connected.
SteamSubsystem->TriggerOnSteamServerLoginCompletedDelegates(true);
void FOnlineAsyncTaskManagerSteam::OnSteamServersConnectedGS(SteamServersConnected_t* CallbackData)
{
FOnlineSessionSteamPtr SessionInt = StaticCastSharedPtr<FOnlineSessionSteam>(SteamSubsystem->GetSessionInterface());
if (SessionInt.IsValid())
{
SessionInt->bSteamworksGameServerConnected = true;
SessionInt->GameServerSteamId = FUniqueNetIdSteam::Create(SteamGameServer()->GetSteamID());
SteamSubsystem->TriggerOnSteamServerLoginCompletedDelegates(true);
}
}
STEAM NET DRIVER < BROKEN EVEN AFTER THE ABOVE FIX
[SocketSubsystemSteamIP]
bAllowP2PPacketRelay=True
P2PConnectionTimeout=300
P2PCleanupTimeout = 100
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“SocketSubsystemSteamIP.SteamNetDriver”,DriverClassNameFallback=“/Script/SocketSubsystemSteamIP.SteamNetDriver”)
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=“/Script/SocketSubsystemSteamIP.SteamNetConnection”
STEAM SOCKET NET DRIVER < WORKING WITH ABOVE FIX
[SocketSubsystemSteamIP]
bAllowP2PPacketRelay=True
P2PConnectionTimeout=300
P2PCleanupTimeout = 100
[/Script/Engine.Engine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“/Script/SteamSockets.SteamSocketsNetDriver”,DriverClassNameFallback=“/Script/SteamSockets.SteamNetSocketsNetDriver”)
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=“/Scripts/SteamSockets.SteamSocketsNetConnection”