Unreal Engine 4.8 Pre. 4 Steam Issues

Hello,

I 've got some issues with the Multiplayer Sessions.
I got the log here:

2015.06.03-17.23.25:224][963]LogOnline:Warning: STEAM: Failed to parse setting from key selected_division_68 value 1
[2015.06.03-17.23.25:225][963]LogOnline:Warning: Unknown or unsupported data type from Steam key data versus_game_type 4
[2015.06.03-17.23.25:225][963]LogOnline:Warning: STEAM: Failed to parse setting from key versus_game_type value 4
[2015.06.03-17.23.25:226][963]LogOnline:Warning: STEAM: Unable to parse search result for lobby 'Lobby [0x186000045C1B882]'

Fullversion :
http://finalspark-gamestudios.com/cdn/TheLostIslandAlpha-backup-2015.06.03-22.50.21.log

Anyone know if this has something to do that no one finds a session?

Cheers, Bander

Hi Bander,

Can you show me what you’re OSS settings look like in your project’s DefaultEngine.ini? And can you show me your setup for creating and joining a session that isn’t working? Thanks!

OSS

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27077
bRelaunchInSteam=true
GameVersion=1.1.2.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

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

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

3 days no answer … Hopefully someone looks at this problem… I blueprinted the Multiplayer-System new and still the same error. No one finds the session / can join.

Hi Bander,

It was the weekend, most people weren’t here =/

I’ve looked at your settings and BP setup, and I’m not seeing anything wrong with them. I’ve reached out to the networking team here and asked them to look over your log, and I’ll let you know when they get back to me. Thanks for your patience!

Have you set this up in 4.7.6 as well, and did it work there?

Jup it worked in 4.7.6 … this error is new with 4.8 prev. 4 … Thank you that you guys work on this ! :slight_smile:

oh and btw … this is my new blueprint looks a bit better :slight_smile:

Hi Bander,

Since you’re using the 480 app id, the session search will actually find lobbies hosted by other games that are also using an app id of 480. It looks like the warning you’re getting in your log is implying that one of the sessions you found has set some data on the lobby that UE4 doesn’t recognize. Looking at the log, there are a lot of unrecognized keys, and it could be that the lobbies from other games are filling up the search results up to the Max Results value before any lobbies from your own game are returned. Assuming this is the case, the best fix is to of course get a unique app id, but increasing Max Results may work as well.

Hope that helps!

Thank you Ill try my best!

This is very interesting and probably an issue I’m experiencing, I will try increasing the number of results returned from FindSession to say 100 and see what that yields.

How do we know which Session we created? Is there a way to name the sessions? or is that a function for C++ which I’m happy with by the way.

Hey Lyrical,

In Blueprints, Create Session only supports one implicitly named session currently. In C++, the first parameter to create session is to give it an fname. You can access all session stuff by that name.

did you ever fix this issue as I have the same problem, even on blank projects that have keys bound to join and host a server and I have had this problem for a few months now.

Hi TheMunky,

Can you let us see the Server and Client logs?

Hi Ben, since he didn’t answer I will :slight_smile:

Having this same issue… Some info (+ logs attached). I’ll preface this by saying sometimes I am able to connect, although usually I find another persons session. Certainly there must be a way to find mine? I want networking done before I even think about starting gameplay… And without gameplay I can’t get greenlit and get a unique app id. If it’s not possible … then it just isn’t, however all I’ve seen around is, “maybe, maybe not”.

Running a dedicated server. Server is on separate machine, with all ports required forwarded correctly. Server also has its own steam account.

I am creating a session through RegisterServer() in AGameSession::RegisterServer():

void AGameSession::RegisterServer()
{
UWorld* World = GetWorld();
IOnlineSessionPtr SessionInt = Online::GetSessionInterface(World);

FOnlineSessionSettings Settings;
Settings.NumPublicConnections = 3;
Settings.bShouldAdvertise = true;
Settings.bAllowJoinInProgress = true;
Settings.bIsLANMatch = true;
Settings.bUsesPresence = true;
Settings.bAllowJoinViaPresence = true;
Settings.BuildUniqueId = 1337;

SessionInt->CreateSession(0, GameSessionName, Settings);
return;

}

I see no indication anywhere that the session creation is failing… BuildUniqueId is normally not set, however I was hoping setting it would help.

Here is the client Find/Join session:

Client does succesfully find a session, however of course the problem is I am finding another users session… Judging by the variables shown in the log, there are a large amount of people using app id 480 - so surely there must be a way to access ones own server exclusively?

If you need anymore info please ask. Been trying to solve this issue for a while now…

[link text][3]
[link text][4]

Hey sorry been really busy.

I started a thread on it when I first encountered the problem It’s here:

I’ll attach a log from the client to this reply, it’s from a completely fresh project, the only thing I have done to it, is bound 2 keys with create and join session logic to them, ?
link text

Hi all,

Yes, this appears to be the same problem. Unfortunately, there isn’t much to be done in a Blueprints-only project, and since this won’t affect a project with a unique Steam app id, this isn’t likely to change. Aside from adjusting how your code works with C++, the only real solution is to increase the Max Results in the Find Sessions node.

@vanlacke you might consider iterating through the Find Sessions output array with a ForLoopWithBreak, rather than simply attempting the join Element 0. You’ll probably have more success that way.

Oh my…So obvious. Honestly can’t believe I missed that. Brain fog… Thanks a lot

Sorry to mark this as unanswered again by commenting. But maybe you could give some insight on a new issue. The dedicated server crashes when the server runs Find Sessions. The client isn’t even joining - I’m just printing all results. This is the only change along with reducing the results to 20.

Here’s crash files: Google Drive: Sign-in

The only thing the client logs is this: LogInit:WinSock: I am Dev-Laptop (192.168.1.100:0)

Looks like the issue might be “Assertion failed: IsValid()”… Maybe? But it doesn’t give much info on that…

That’s okay, but it would be better to track this in a new post since it’s a separate issue. If you wouldn’t mind, can you create a new post in the Bug Reports section with all this information for me? I’d also like to know if the crash occurs in PIE or in a packaged project. It might be helpful to know if this occurs in a fresh project as well, and if so, if you could post it online somewhere for me and get me a download link, I can test it out here as well. Thanks!

Hey Ben thank you for the reply, how exactly would I go about changing the Max Results?

In the Find Sessions node, there’s an Integer input labeled Max Results. You can either feed in a variable node, or simply enter the max results you’d like there.