Download

Advanced Sessions Plugin

That was way fast. Thanks, I will just check if they are playing and are joinable before getting their session information. I will take a look at it when I get off work.

The crash problem strangely didn’t manifest again with engine version 4.12 and your current build from 06-21-2016. I was on 4.11 previously. I wonder if some things were fixed by Epic between those releases.

I had trouble getting “bIsJoinable” to report correctly? Maybe I was implementing it wrong. “bIsPlayingSameGame” did work though. I used a different solution to overcome friends showing in the server browser when sitting in the main menu. I used a check to see if UniqueBuildID != 0 to filter out the “menu player” results. Maybe not the best solution but it seems to work for now.

I will attach screenshots of my bp nodes below.

Thanks!

Here are screenshots from my progress so far.

Friends browser
friends-list.PNG

Server browser
server-browser.PNG

Fetch list of friends
construct-fetch-friends2.PNG

Fetch friend’s avatars
fetch-avatars.PNG

Fetch friend’s sessions
fetch-friends-sessions.PNG

Crude loop counter for controlling the session fetching (better method anyone?)
fetch-friends-session-loop-count.PNG

Clears list and refreshes everything
clear-refresh-friends-list.PNG

Builds the list of friends that are in sessions.
build-session-list-objects.PNG

Mmmmm, it returns an empty session result on failure to retrieve currently, i’m adding a IsValidSession() node to check if a session is valid or not and also will change that to return FAILED if there was no valid session instead of returning an empty session. So the GetFriendSession with throw “OnFailure” now if the returned session is empty instead of returning “OnSuccess” and having an empty session attached.

It was originally just returning the result of the SteamCall.

Edit Uploaded with the more correct results from GetFriendSession and the IsValidSession Node.

Is this error in the log related to the plugin?
LogVoiceEncode:Error: StopLocalVoiceProcessing: Ignoring stop request for non-owning user
I used the AdvandcedFriendsGameInstance as a parent, but have not setup anything voice related yet.

Also why does the ping return 9999, is this intended when the session is on a LAN?

Thanks for the awesome Plugin :slight_smile:

No its not, and 9999 is an engine bug that is slated to be fixed soon hopefully.

Hi mordentral,
I have a some problems with your plugin.

  1. The game can’t find any sessions. Find Sessions Advanced is always returns an empty array, and I don’t know why, because my friend is created a game session.
  2. My friend invited me, but I also can’t connect to the game and this is what my Log file says:
    [2016.06.29-11.29.45:617][561]LogOnline:Warning: Async task ‘FOnlineAsyncTaskSteamJoinLobby bWasSuccessful: 0 Session: Game LobbyId: Lobby [0x186000089DCC514] Result: ‘3’ k_EChatRoomEnterResponseNotAllowed (General Denied - You don’t have the permissions needed to join the chat)’ failed in 0.391433 seconds

P.S. Also I have a messages like this:



[2016.06.29-11.29.12:915][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 10000017 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 10000017 value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000003c 14
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000003c value 14
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000003d 262144
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000003d value 262144
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 10000050 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 10000050 value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 10000052 1000
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 10000052 value 1000
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 10000088 124
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 10000088 value 124
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 10000089 2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 10000089 value 2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000008a -2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000008a value -2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000008b -883284736
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000008b value -883284736
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000008c 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000008c value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 1000008d 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 1000008d value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 100000aa 2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 100000aa value 2
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 2000003b 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 2000003b value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 20000083 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 20000083 value 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 20000084 0
[2016.06.29-11.29.12:916][480]LogOnline:Warning: STEAM: Failed to parse setting from key 20000084 value 0
[2016.06.29-11.29.12:917][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 20000085 0
[2016.06.29-11.29.12:917][480]LogOnline:Warning: STEAM: Failed to parse setting from key 20000085 value 0
[2016.06.29-11.29.12:917][480]LogOnline:Warning: Unknown or unsupported data type from Steam key data 20000086 0
[2016.06.29-11.29.12:917][480]LogOnline:Warning: STEAM: Failed to parse setting from key 20000086 value 0


What version of the engine are you using? Can you post a screenshot of your blueprint?

Edit: I’m pretty sure friend invites are broken for now until it’s fixed in a future engine release. I got friend search and join to work.

Those warnings are because of using the generic APP ID for Steam, it is filtering out other peoples games from the returned list for you and notifying you about it. I can’t help with your finding problems without seeing your blueprints.

The engine version is 4.12.3 (I had the same problem with the 4.10.4 and just converted my project) And of course I can show you my blueprints.
Creating the game session:
bp1.jpg
Searching for game sessions (resulting array length is always zero):
8ef37afa93a978a8de643c3484bc59747e9d1e46.jpeg
And here’s inviting friend to the game:
bp3.jpg

I hope this will help you.

Where is your friend located? App ID 480 is region locked so if he is across country bounds it may be blocking you two from seeing each other.

I say this because generally your implementation looks correct and that exact same issue has come up a million times here.

Worth noting that the region lock may be to EU, instead a country-to-country basis as I’ve been able to play with someone living in Britain as well as Norway. However, I have never been able to play with someone from the US. I wish Valve would make some more detailed information available as it’s causing quite a lot of confusion and frustration. :rolleyes:

My friend is located in Russia just like me. And now I’ve changed the AppID of my game to the AppID of one of my old projects. Will test now.

It didn’t work.


[2016.07.01-15.48.29:334] 13]LogOnline:Warning: Async task 'FOnlineAsyncTaskSteamJoinLobby bWasSuccessful: 0 Session: Game LobbyId: Lobby [0x18600008B140A35] Result: '3' k_EChatRoomEnterResponseNotAllowed (General Denied - You don't have the permissions needed to join the chat)' failed in 0.369664 seconds


And I can’t find my friend’s game session.

[UPDATE]
Okay, now it’s working. Problem has been solved in a very strange way: I’ve just created a new empty project and moved all my work into that project.

Curious, we had a similar issue and I sent that project to Mordentral hoping he might spot whether it was an error on my part - or some bug, maybe your project suffered a similar fate as mine had?

I was on 4.11.2 when it happened to my project, so I decided to upgrade to 4.12.3 and in doing so made a new empty project and mine started working again as well.

I think we’ll never know the source of this problem. But this is a very strange bug. By the way, I think it would be great if Mordentral will make a blueprint functions to interact with the Steam stats. Because I spent few weeks for that and still have a some troubles.

Out of curiosity, before your issue began to occur - had you been adding/removing plugins shortly before?

My project just started acting up again, it wouldn’t connect to Steam when launching as a Standalone anymore. All I can really think of is that yesterday I took a look at eXi’s sound visualization plugin - but later removed it after having tried it a bit. I’m thinking maybe that could have corrupted it?

It however seems like removing Binaries, Intermediate and Saved fixed the issue. It now connects to Steam when launching as a standalone. Mordentral said it seemed like some binaries were corrupted in the project I sent him earlier, so I guess he was right. Now I just need to figure out what actually breaks it so I can avoid it in the future.

Really all I remember doing as of lately is;

  1. Checked out eXi’s sound visualization plugin, later removed it.
  2. Worked with some logic in one of my gamemodes.
  3. Playtested in a different environment - use separate processes, launch as a listen server.

I’ll see if I can reproduce it :rolleyes:

Edit: Reproduction successful, at least in my case.

1. Untick Use Single Process
2. Change Editor Multiplayer Mode to Play as Listen Server
3. Change Number of Players to 2
4. Play and then close the game.
5. Revert the settings back to default; Use Single Process.
6. Steam no longer connects when launching as standalone, removing the folders Binaries, Intermediate and Saved is necessary to fix it.

Not sure if it’s logical why this happens, but it’s a 100% reproducible issue with my project which is unfortunate as I found playtesting in the above environment to be the most “accurate”. However, I now know what causes it and how I can fix it.

Just delete the Project/Saved directory, it saves your last settings and can get in the way sometimes of using new settings (was killing some of my VR experiments).

Got ya, you reckon this could be what messed up my previous project? Or did that thing just get possessed or something? :stuck_out_tongue:

It probably is what messed up your previous one yea, some of the settings get “stuck” on in saved and even make it through to packaged builds.