isten-Server Steamlobby not listed - Advanced Sessions

Having searched the web up and down without getting definitive clues, there is nothing left but asking for help.

Problem: Steam-Lobbies created with my Unreal Game are not listed to other game clients.


  • I have tested with a game client on a different machine and different steam account. The problem exists for both clients in the same network aswell as in separate networks.

  • In all cases the steam download
    server
    were the same for both server
    and client.

  • In all of these cases the
    server/client were in a NAT-Network,
    if that matters.

  • The game is registered (not yet released) on Steam and uses an own App-ID. The App-ID is referenced within the DefaultEngine.ini aswell as the game_target.cs, as described in the numerous instructions.

  • The Steam-Overlay itself works and I can successfully retrieve the Steam Username.

  • The Game is packaged with the ProjectLauncher (currently in Debug mode).

  • Unreal-Engine - Version 4.25.4, Advanced Sessions for Unreal 4.25, Steamworks-Library - Version 1.47


The Blueprint - Nodes:

Server:
Imgur

Client:
Imgur


The DefaultEngine.ini

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

[/Script/Engine.GameEngine]
;currently commented out. the same as above.
;+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20
;OnlineSubsystem.bInitServerOnClient=true

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=1743880
SteamAppId=1743880
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=0.1.2
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
MaxClientRate=100000
MaxInternetClientRate=100000

[/Script/OnlineSubsystemUtils.IpNetDriver]
MaxClientRate=100000
MaxInternetClientRate=100000
      
[/Script/Engine.Player]
ConfiguredInternetSpeed=50000
ConfiguredLanSpeed=50000

...

The Game_Target.cs

public class RTS_HeroesTarget : TargetRules
{
	public RTS_HeroesTarget(TargetInfo Target) : base(Target)
	{
        bOverrideBuildEnvironment = true;

        Type = TargetType.Game;

        // Ensure that we compile with the Steam OSS
        bUsesSteam = true;

        ExtraModuleNames.AddRange( new string[] { "RTS_Heroes" } );

        //Replace this number with the eventual steam app id
        GlobalDefinitions.Add("UE_PROJECT_STEAMSHIPPINGID=1743880");

        //The game name in steam
        GlobalDefinitions.Add("UE_PROJECT_STEAMPRODUCTNAME=\"Andalia\"");

        //Game directory for steam
        GlobalDefinitions.Add("UE_PROJECT_STEAMGAMEDIR=\"Andalia\"");

        //This is what shows up under the game filter in Steam server browsers
        GlobalDefinitions.Add("UE_PROJECT_STEAMGAMEDESC=\"Andalia, Fantasy-RTS\"");
    }
}

The Game_Build.cs

public class RTS_Heroes : ModuleRules
{
	public RTS_Heroes(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "NavigationSystem" });

		PrivateDependencyModuleNames.AddRange(new string[] { });

        bLegacyPublicIncludePaths = false;

        // Uncomment if you are using Slate UI
        // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
        
        PrivateDependencyModuleNames.Add("OnlineSubsystem");
        PrivateDependencyModuleNames.Add("OnlineSubsystemNull");
        AddEngineThirdPartyPrivateStaticDependencies(Target, "Steamworks");

        // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
    }
}

Log-Output on the Server:

LogSteamShared: Display: Loading Steam SDK 1.47
LogSteamShared: Steam SDK Loaded!
LogOnline: OSS: Creating online subsystem instance for: Steam
LogOnline: STEAM: Steam User is subscribed 1
LogOnline: STEAM: [AppId: 1743880] Client API initialized 1
LogOnline: STEAM: Initializing SteamNetworking Layer
LogOnline: STEAM: Missing P2PCleanupTimeout key in OnlineSubsystemSteam of DefaultEngine.ini, using default
LogInit: WinSock: version 1.1 (2.2), MaxSocks=32767, MaxUdp=65467
LogOnline: OSS: TryLoadSubsystemAndSetDefault: Loaded subsystem for module [Steam]
LogInit: Build: ++UE4+Release-4.25-CL-14469661
LogInit: Engine Version: 4.25.4-14469661+++UE4+Release-4.25
---
[2021.09.01-09.26.14:597][  0]LogInit: Using OS detected language (de-DE).
[2021.09.01-09.26.14:597][  0]LogInit: Using OS detected locale (de-DE).
[2021.09.01-09.26.14:600][  0]LogTextLocalizationResource: LocRes '../../../Engine/Content/Localization/Engine/de-DE/Engine.locres' could not be opened for reading!
[2021.09.01-09.26.14:601][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystem/Content/Localization/OnlineSubsystem/de-DE/OnlineSubsystem.locres' could not be opened for reading!
[2021.09.01-09.26.14:601][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystemUtils/Content/Localization/OnlineSubsystemUtils/de-DE/OnlineSubsystemUtils.locres' could not be opened for reading!
[2021.09.01-09.26.14:601][  0]LogTextLocalizationResource: LocRes '../../../Engine/Plugins/Online/OnlineSubsystemSteam/Content/Localization/OnlineSubsystemSteam/de-DE/OnlineSubsystemSteam.locres' could not be opened for reading!
[2021.09.01-09.26.14:601][  0]LogTextLocalizationResource: LocRes '../../../Engine/Content/Localization/Engine/de/Engine.locres' could not be opened for reading!
---
[2021.09.01-09.26.15:090][  0]LogOnline: Warning: STEAM: Failed to obtain steam user stats, user: melchur [0x221F571A0C0] has no stats entries
---
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: dumping NamedSession: 
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	SessionName: GameSession
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	HostingPlayerNum: 0
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	SessionState: Pending
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	RegisteredPlayers: 
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	    0 registered players
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: dumping Session: 
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	OwningPlayerName: melchur
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	OwningPlayerId: melchur [0x22198040FA0]
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	NumOpenPrivateConnections: 0
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	NumOpenPublicConnections: 3
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	SessionInfo: HostIP: INVALID SteamP2P: 76561199160075497:7777 Type: Lobby session SessionId: Lobby[0x186000002415419]
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: dumping SessionSettings: 
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	NumPublicConnections: 4
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	NumPrivateConnections: 0
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bIsLanMatch: false
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bIsDedicated: false
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bUsesStats: false
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bShouldAdvertise: true
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bAllowJoinInProgress: true
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bAllowInvites: false
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bUsesPresence: true
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bAllowJoinViaPresence: true
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	bAllowJoinViaPresenceFriendsOnly: false
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	BuildUniqueId: 0x00c89141
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 	Settings:
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 		Map=02 : OnlineService
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 		Name=terst : OnlineService
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 		Open=true : OnlineService
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 		gameNumber=0 : OnlineService
[2021.09.01-09.26.58:983][653]LogOnlineSession: Verbose: OSS: 		gameEnded=false : OnlineService
[2021.09.01-09.26.58:997][653]LogNet: Browse: /Game/Game/Maps/Map02/Lvl_Map02_Preview?listen
[2021.09.01-09.26.58:998][653]LogLoad: LoadMap: /Game/Game/Maps/Map02/Lvl_Map02_Preview?listen
[2021.09.01-09.26.58:998][653]LogWorld: BeginTearingDown for /Game/Game/Maps/MainMenu/Lvl_MainMenu
[2021.09.01-09.26.58:999][653]LogWorld: UWorld::CleanupWorld for Lvl_MainMenu, bSessionEnded=true, bCleanupResources=true
[2021.09.01-09.26.59:000][653]LogSlate: InvalidateAllWidgets triggered.  All widgets were invalidated
[2021.09.01-09.26.59:047][653]LogAISub: UAISubsystem::~UAISubsystem EnvQueryManager (000002219C05FA00), frame # 3653
[2021.09.01-09.26.59:047][653]LogAISub: UAISubsystem::~UAISubsystem AIPerceptionSystem (00000221AD640880), frame # 3653
[2021.09.01-09.26.59:051][653]LogUObjectHash: Compacting FUObjectHashTables data took   3.36ms
[2021.09.01-09.26.59:076][653]LogStreaming: Display: Flushing async loaders.
[2021.09.01-09.27.00:050][653]LogAIModule: Creating AISystem for world Lvl_Map02_Preview
[2021.09.01-09.27.00:050][653]LogAISub: UAISubsystem::UAISubsystem EnvQueryManager (00000221AF6AE000), frame # 3653
[2021.09.01-09.27.00:050][653]LogAISub: UAISubsystem::UAISubsystem AIPerceptionSystem (00000221AA97BDC0), frame # 3653
[2021.09.01-09.27.00:051][653]LogLoad: Game class is 'BP_Lobby_GameMode_C'
[2021.09.01-09.27.00:089][653]LogNet: ReplicationDriverClass is null! Not using ReplicationDriver.
[2021.09.01-09.27.00:093][653]LogNetCore: DDoS detection status: detection enabled: 0 analytics enabled: 0
[2021.09.01-09.27.00:093][653]LogNet: Display: SteamNetDriver_2147482481 bound to port 7777
[2021.09.01-09.27.00:100][653]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2021.09.01-09.27.00:100][653]LogNet: GameNetDriver SteamNetDriver_2147482481 IpNetDriver listening on port 7777
[2021.09.01-09.27.00:155][653]LogWorld: Bringing World /Game/Game/Maps/Map02/Lvl_Map02_Preview.Lvl_Map02_Preview up for play (max tick rate 0) at 2021.09.01-11.27.00
[2021.09.01-09.27.00:156][653]LogWorld: Bringing up level for play took: 0.055851
[2021.09.01-09.27.00:163][653]LogGameMode: FindPlayerStart: PATHS NOT DEFINED or NO PLAYERSTART with positive rating
[2021.09.01-09.27.00:193][653]LogUMG: Display: Widget Class WBP_MainMenu_Lobby_C - Loaded Fast Template.
[2021.09.01-09.27.00:194][653]LogUMG: Display: Widget Class WBP_MainMenu_LobbyPlayerSlot_C - Loaded Fast Template.
[2021.09.01-09.27.00:346][653]LogLoad: Took 1.347248 seconds to LoadMap(/Game/Game/Maps/Map02/Lvl_Map02_Preview)

...

Log-Output on the Client:

[2021.09.01-09.26.33:443][769]LogOnlineSession: STEAM: Found 0 lobbies, finalizing the search

Update:

After switching Create Session and Find Session Nodes back to the default ones, provided by the Engine, the Sessions now appear. Connecting and playíng over the Internet also works with this.

However, I still need the Advanced Session Nodes in order to add Meta-Data to my game sessions. So I’ll keep investigating what’s wrong with them.

Problem solved.

It seems it was only due to Min Slots Available on the Advanced Sessions Find - node not being 0. I can’t believe it took me months to come across this. However, it was an easy find once I knew my problems had something to do with Advanced Sessions.

I’m still confused what this field is for when it apparently breaks your find results…

1 Like

THANK YOU!

I’ve wasted days on this bug! Everything worked fine locally, but in Steam it refused to find ANY Sessions. Because I had Min Slots Availabe = 1 (I don’t want to find full servers)
Now it works when it’s set to 0

This is definitely a bug.

No info in any documentation or forum has pointed to this being an issue. Smh