Hello everyone!
I know this question has been asked many times, and I’ve read everything I could find on the topic — but I still can’t get it to work!
I’ve spent over 40 hours this past week trying to solve it, and I’m stuck.
Does anyone have an idea what I am doing wrong, or is the plugin broken?
My theory
Looking at the logs, it seems like I’m trying to join the MainMenu map, while the host (running a listen server) has already switched maps using?listen
.
These log lines make me think something isn’t working correctly with the Steam subsystem. The logs mention theIpNetDriver
, this should beSteamNetDriver
I think?
LogSockets: Warning: GetAddressInfo failed to resolve host with error SE_HOST_NOT_FOUND [11001]
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: , Name: IpConnection_2147482359, Driver: Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 3, Time: 2025.06.27-18.55.50
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = PendingConnectionFailure, ErrorString = Your connection to the host has been lost., Driver = Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422
About the Project
- Build editor from source 5.6.0
- Using Advanced Sessions Plugin 5.6 from here.
- C++ and Blueprint, only doing Blueprint code so far. (With one empty C++ class)
What I did so far
- Build the Engine from source
- Added Plugins to Project
- Added new C++ class
- Created AdvancedFreindsGameInstance and implemented OnSessionInvitaAccepted
- Updated .uproject, .ini and Build.cs
- Cleaned and Re-Compiled Project successfully
- Added steam_appid.txt to Build and Project directory
- Packaged Project for WinDev
What works
- Steam interface
- Creating a session via CreateAdvancedSession
- Finding sessions via FindSessionsAdvanced
What does not work
- Joining the session via FindSessionsAdvanced → JoinSession
- Joining Session via Steam-Invite
The client will get an error and the host will see a successful join.
Testing on two different machines with two different Steam accounts but the same build from one machine.
Debug output Client joining via ServerList
LogSteamShared: Display: Loading Steam SDK 1.57
LogSteamShared: Steam SDK Loaded!
LogOnline: Verbose: STEAM: Steam: Starting SteamWorks. Client [1] Server [1]
Setting breakpad minidump AppID = ****
SteamInternal_SetMinidumpSteamID: Caching Steam ID: *** [API loaded no]
LogOnline: STEAM: Steam User is subscribed 1
LogOnline: STEAM: [AppId: ***] Client API initialized 1
LogOnline: STEAM: [AppId: ***] Game Server API initialized 1
LogOnline: Verbose: STEAM: Created thread (ID:7092).
LogOnline: OSS: Created online subsystem instance for: STEAM
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for type [STEAM]
|
V
Verbose: STEAM: Starting search for Internet games...
LogOnline: Verbose: STEAM: FOnlineAsyncEventSteamLobbyUpdate LobbyId: Lobby[0x1860000D8028E35]
LogOnline: Verbose: OSS: Async task 'FOnlineAsyncTaskSteamFindLobbiesForFindSessions bWasSuccessful: 1 NumResults: 1' succeeded in 0.309148 seconds
LogOnlineSession: STEAM: Found 1 lobbies, finalizing the search
LogOnlineSession: STEAM: Search result 0: LobbyId=Lobby[0x1860000D8028E35], LobbyId.IsValid()=true, CSteamID(LobbyId).IsLobby()=true
LogScript: Script Msg: Found a session. Ping is 9999
|
V
Verbose: STEAM: FOnlineAsyncEventSteamLobbyEnter LobbyId: Lobby[0x1860000D8028E35] Result: '1' k_EChatRoomEnterResponseSuccess (Success)
LogOnline: Verbose: STEAM: FOnlineAsyncEventSteamLobbyUpdate LobbyId: Lobby[0x1860000D8028E35]
LogOnline: Verbose: OSS: Async task 'FOnlineAsyncTaskSteamJoinLobby bWasSuccessful: 1 Session: GameSession LobbyId: Lobby[0x1860000D8028E35] Result: '1' k_EChatRoomEnterResponseSuccess (Success)' succeeded in 0.248246 seconds
LogOnlineVoice: OSS: StartLocalProcessing(0) returned 0xFFFFFFFF
LogOnlineVoice: OSS: Starting networked voice for user: 0
LogOnlineVoice: OSS: RegisterLocalTalker(0) returned 0x00000000
LogOnlineVoice: OSS: Invalid user specified in RegisterLocalTalker(1)
LogOnlineVoice: OSS: Invalid user specified in RegisterLocalTalker(2)
LogOnlineVoice: OSS: Invalid user specified in RegisterLocalTalker(3)
LogOnlineSession: STEAM: Using P2P Data for Connection Serialization
LogOnlineSession: OSS: Join session: traveling to steam.76561198094895081:7777
LogBlueprintUserMessages: [DungeonGameInstance_C_2147482570] Joined Session
LogGlobalStatus: UEngine::Browse Started Browse: "steam.76561198094895081/Game/TheDungeonProject/Levels/Level_MainMenu"
LogNet: Browse: steam.76561198094895081/Game/TheDungeonProject/Levels/Level_MainMenu
|
V
Created socket for bind address: 0.0.0.0:0
LogNet: IpConnection_2147482359 setting maximum channels to: 32767
PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
LogHandshake: Stateless Handshake: NetDriverDefinition 'GameNetDriver' CachedClientID: 4
LogNet: Game client on port 7777, rate 100000
LogNetVersion: TheDungeonProject 1.0.0.0, NetCL: 0, EngineNetworkVersion: 42, GameNetworkVersion: 0 (Checksum: 1220682179)
LogSockets: Warning: GetAddressInfo failed to resolve host with error SE_HOST_NOT_FOUND [11001]
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: , Name: IpConnection_2147482359, Driver: Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 3, Time: 2025.06.27-18.55.50
LogNet: UNetConnection::SendCloseReason:
LogNet: - Result=AddressResolutionFailed, ErrorContext="AddressResolutionFailed"
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: , Name: IpConnection_2147482359, Driver: Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = PendingConnectionFailure, ErrorString = Your connection to the host has been lost., Driver = Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422
LogNet: Warning: Network Failure: PendingNetDriver[PendingConnectionFailure]: Your connection to the host has been lost.
LogNet: NetworkFailure: PendingConnectionFailure, Error: 'Your connection to the host has been lost.'
LogNet: DestroyNamedNetDriver: Name:PendingNetDriver Def:GameNetDriver IpNetDriver_2147482422
LogRHI: Display: Encountered a new graphics PSO: 1911018763
LogGlobalStatus: UEngine::Browse Started Browse: "/Game/TheDungeonProject/Levels/Level_MainMenu?closed"
LogNet: Browse: /Game/TheDungeonProject/Levels/Level_MainMenu?closed
LogNet: Connection failed; returning to Entry
LogLoad: LoadMap: /Game/TheDungeonProject/Levels/Level_MainMenu?closed
LogWorld: BeginTearingDown for /Game/TheDungeonProject/Levels/Level_MainMenu
LogWorld: UWorld::CleanupWorld for Level_MainMenu, bSessionEnded=true, bCleanupResources=true
Accepting and invite
Creating a session
Joining a session via ServerList
Game.uproject
{
"FileVersion": 3,
"EngineAssociation": "{1C66A00B-408B-CA94-EF65-18953AAB5918}",
"Category": "",
"Description": "",
"Modules": [
{
"Name": "Game",
"Type": "Runtime",
"LoadingPhase": "Default"
}
],
"Plugins": [
{
"Name": "ModelingToolsEditorMode",
"Enabled": true,
"TargetAllowList": [
"Editor"
]
},
{ "Name": "AdvancedSessions", "Enabled": true },
{ "Name": "AdvancedSteamSessions", "Enabled": true },
{ "Name": "OnlineSubsystemSteam", "Enabled": true },
{ "Name": "SteamShared", "Enabled": true },
{ "Name": "OnlineSubsystem", "Enabled": true }
],
"TargetPlatforms": [
"Windows"
]
}
DefaultEngine.ini
[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver", DriverClassName="OnlineSubsystemSteam.SteamNetDriver", DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
[OnlineSubsystem]
DefaultPlatformService=Steam
bHasVoiceEnabled=true
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=*** (My own from steam)
SteamAppId=*** (My own from steam)
; If using Sessions
bInitServerOnClient=true
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
Game.Build.cs
using UnrealBuildTool;
public class Game: ModuleRules
{
public Game(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AdvancedSessions", "AdvancedSteamSessions" });
PrivateDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemSteam" });
}
}