Cannot create sessions for steam

Every time I call the “Create Session” node in the Game Instance blueprint, I keep getting

[2016.01.20-20.35.50:351][709]LogOnline:Warning: STEAM: No game present to join for session (Game)
[2016.01.20-20.35.50:351][709]LogOnline:Warning: STEAM: Can't start an online game for session (Game) that hasn't been created

The weird part is, the “Create Session” node fires the “Success” pin and not the “Failure” pin.

Even weirder, I can invite friends through the steam friend list, but the

OnSessionUserInviteAccepted( const bool bWasSuccess, const int32 ControllerId,	TSharedPtr< const FUniqueNetId > UserId, const FOnlineSessionSearchResult &InviteResult )

returns a FOnlineSessionSearchResult with all the properties being null as the InviteResult

The builds are properly being uploaded to steam and going through the steam client.

You get the steam overlay in-game along with the proper name of the game (not spacewar, because we’re not using appid 480 obviously :p)

What’s going on? Why is the Session result invalid and not available as a result in the “Find Sessions” GameInstance node?

Hey MajinSephiroth-

The log warnings you posted don’t actually mean that the create session failed. The fact that the steam overlay appears means that this is setup correctly. I’m not familiar enough with this system to say why OnSessionUserInviteAccepted is returning with a null value however I am looking into what may be causing this and will provide more information as soon as possible.

Cheers

Thanks ,

I had a feeling the logs would not be helpful in that regard, but it was the major thing that stood out. I’m going to try getting the engine source code from the git repository so that I may step through the steam interface and see where the disconnect happens.

Let me know if you find anything for me in the meantime!

Hey MajinSephiroth-

I am still looking into this issue and trying to understand why null information is getting passed in. Were you able to step through the code using source? Let me know if there is anything new you can add to the post.

I started being able to step through code yesterday and as I was going through it, the information seemed accurate until bool FillSessionFromLobbyData(FUniqueNetIdSteam& LobbyId, FOnlineSession& Session)

It seems to be failing on if (Session.SessionSettings.BuildUniqueId != 0 && Session.SessionSettings.BuildUniqueId == BuildUniqueId)

So, I’m going to make a new build and push it through steam (did not notice I downloaded the 4.11 source code, so I now have a 4.11 build I’ll push through instead of the 4.10.2) and see if it will break on the same spot again.

All of the Session.SessionSettings were coming in just fine and properly, makes sense that Session.SessionInfo is null because it never gets set due to that failed check. Which is weird because the project version is supposed to be the same (the same build is downloaded from steam for both machines)

Sooooo … After compiling the game with the 4.11 main source from github and pushing it through steam … everything works fine …

I’m at a loss as to why the SessionInfo is no longer null. Or why the 4.11 source worked, but I’m just going to leave it at that since it works now :stuck_out_tongue:

Thanks for trying to look into this for me , wish I knew why it works now. At least I have a better understanding on how the information is being stored in the SessionSettings and SessionInfo now.