Advanced Sessions Plugin

[quote=“be LSDeath, post:1666, topic:30020”]

Run “Launch game” from project icon in project folder and yes, using lan checked

Sorry, didn’t really mean use lan, meant to ask “are you using the NULL subsystem”. Also you might want to try with packaging as well as with the default find session node.

[quote=“, post:1667, topic:30020”]

Sorry, didn’t really mean use lan, meant to ask “are you using the NULL subsystem”. Also you might want to try with packaging as well as with the default find session node.

I’m using config setup from this Online Subsystem Steam Interface in Unreal Engine | Unreal Engine 5.2 Documentation i think that it is not NULL subsystem (OnlineSubsystemUtils.IpNetDriver ? by default without steam engine use this subsystem, i suppose). And i’m not package game, i just run 2 instance of my game from Play “Standalone game” and “Launch game” from solution folder(i tried each combination with Standalone game as server, as client, tried run only from “Launch game”). Each attempt led to 0 session after call “Update”. With custom Find sessions or with default

[quote=“be LSDeath, post:1668, topic:30020”]

I’m using config setup from this Online Subsystem Steam Interface in Unreal Engine | Unreal Engine 5.2 Documentation i think that it is not NULL subsystem (OnlineSubsystemUtils.IpNetDriver ? by default without steam engine use this subsystem, i suppose). And i’m not package game, i just run 2 instance of my game from Play “Standalone game” and “Launch game” from solution folder(i tried each combination with Standalone game as server, as client, tried run only from “Launch game”). Each attempt led to 0 session after call “Update”. With custom Find sessions or with default


 

 [OnlineSubsystem] DefaultPlatformService=Steam
  1. Now that you've told UE4 that you want your application to use the Steam Online Subsystem, you'll need to configure the **OnlineSubsystemSteam** module by adding the following settings: 	
 [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480

 

Need to change DefaultPlatformService to NULL and bEnabled for steam to False if you want to test on lan using the null subystem.

[quote=“, post:1669, topic:30020”]


 

  1. [OnlineSubsystem] DefaultPlatformService=Steam
  1. Now that you've told UE4 that you want your application to use the Steam Online Subsystem, you'll need to configure the **OnlineSubsystemSteam** module by adding the following settings:
	[OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480

 

Need to change DefaultPlatformService to NULL and bEnabled for steam to False if you want to test on lan using the null subystem.

Still doesn’t work. And one moment - it work with or without your changes if i dont call Update session function. Also, find session work with lan = false and lan = true, if CreateSession using lan = true, but only until i update it.

[quote=“be LSDeath, post:1670, topic:30020”]

Still doesn’t work. And one moment - it work with or without your changes if i dont call Update session function. Also, find session work with lan = false and lan = true, if CreateSession using lan = true, but only until i update it.

Can you show me a SS of your UpdateSession call?

[quote=“, post:#Post:0x000055984c4e3150, topic:30020”]

Can you show me a SS of your UpdateSession call?

Screenshot ?

[quote=“be LSDeath”]

Screenshot ?

mmm, well it should be working, the NULL subsystem doesn’t actually use all of the parameters, but it shouldn’t brick the session.

Thank you so much for this. Really saved me. You are truly selfless for writing this code with no expectation in such a way that you did, even after the unreal integration is taking such a long time.

Strongly considering helping if i sell my game – maybe you should add an option for people to support on paypal as well maybe (just a thought not definitive)?

If you had not done this code, my life really might be different. The steam integration adds so much value to the game. Thank you. You are helping more people than you know with what you are doing here.

here is a suggestion for your posting, not sure if you want to add this but just a thought:

my game was entirely blueprint based before i had a need to expose the server name variable to set it, so i had to convert it to a c++ project. in doing so, i had a package error unless the code was built at least once in visual studio, so maybe you can add that the code must be built in visual studio or there may be an error even if an empty c++ file is created in the project as you state in step 2 of your setup info for the plugin. (maybe this works for others but for me it only worked after i did a test build in visual studio).

these steps seemed to help in my case: https://allarsblog.com/2015/11/04/co…roject-to-cpp/

after that everything was working great! gosh i love unreal. :slight_smile:

I even got push to talk working with your start/stop networked voice functions (did not need to register as you earlier mentioned as well)

p.s. was reading above post maybe you can try to use two machines to test your game with lan disabled? make sure to pass in all pins to update session node? steam is where all the action is right know in multiplayer and lan does not have any marketability so you really should consider switching over to non-lan games.

Hello! I want to know how to make a Custom Status for Steam. I was making a Friend List System and now a Invite system, but I want to know how the player inviting can know the status of the other player.

For example: In Dota 2 and PUBG you can know if your friend in at the Menus or In-Games even already in a party. Like this: https://i.imgur.com/yQNDg.png

I saw the “Status String” but I don’t see how to use it.

Here are some ideas. Attached pictures for a similar thing I did along with a blueprint and the result. In my case I just have a steam friends list with online / away / offline status for all the steam friends as listed.

Here are pics of my code and output

Blueprint code - Imgur: The magic of the Internet

Friends list output - Imgur: The magic of the Internet

You can probably view these videos for more information.

Steam multiplayer friends list - Unreal Engine 4 - Steam Multiplayer Friend list [Advanced Sessions] - YouTube
(get the color of in game / online / offline players and all players from your steam friend’s list)

Lobby system - Unreal Engine 4 - Lobby System [Advanced Session] - YouTube
(to send invite with the click of a button)

for the friends info, the settings like online / offline / away / status are all related to what is returned from the steam friends list when the get function is called. Since the steam list sets these values based on their own status, i believe there is no way to set a custom advanced in-game state unless you do it separately out of the sessions plugin.

In the case that many users are logged in and playing online on a central server, that server itself will have the status values for all players, and that would have to be set in a centralized way rather than through steam, because there’s again no way for steam to set specifics like that apart from being in a game or being offline. (the only way steam would be able to do this is they had calls to the local game code and did checks for status, and returned that value in their own friends list interface).

As far as the status string output of BPFriendPresenceInfo is concerned, I believe this is what it returns “Added GetSteamFreindGamePlayed today, it returns the AppID and (maybe) the GameName. If retrieving the game name fails it will be an empty string and just the AppID is returned.”
So that would only be the game name or app id, but not anything from specific status in the game – again that needs to be set locally in your game or game server.

I am not sure if this is what you want, and forgive me if I am wrong, just giving my ideas.

Yeah, I already did the friend list: https://i.imgur.com/KUtexb5.png - It already show the game the friends are playing.

I want when a friend is playing my game and I am inside the game too, it would show in what part of the game my friends are. Like in the Dota 2 example, ‘Playing Pugna level 23’, or something like that.

I would just like to say thank you for sharing this asset with us, it’s no doubt helped a lot of people, myself included, that would otherwise struggle.

Hello everyone!
First of all i want to say THANK U! for this AWESOME plugin! It’s great!
But i have a quastion. I want to make some kind of authorisation using the steam API. This plugin contains “UniqueNetId” but it generates new every time. Can i find “id” or something, that will be unique for every steam account and will not change (not like display name or netid)

‘Cancel Find Sessions’ looks that is not working, it go direct to ‘On Success’ without waiting to really cancel the search, causing a lot of problems.

I try to ‘Find Session Advanced’, than use ‘Cancel Find Sessions’ to stop the search. I connected the rest of the code in ‘On Success’ to continue only when the search is proper cancelled, but when I enter in other widget that use ‘Find Session Advanced’ it connect automatic because it don’t proper cancelled the other search.

To understand better: I enter in a matchmaking widget and cancel the search, but when I enter in the Server List that automatic find server, after a while connect to the game that the matchmaking found that was cancel. I added a delay of 5 seconds to proper wait the cancel find and the problem don’t happens anymore.

[quote=“HeliaXDemoN, post:1679, topic:30020”]

‘Cancel Find Sessions’ looks that is not working, it go direct to ‘On Success’ without waiting to really cancel the search, causing a lot of problems.

I try to ‘Find Session Advanced’, than use ‘Cancel Find Sessions’ to stop the search. I connected the rest of the code in ‘On Success’ to continue only when the search is proper cancelled, but when I enter in other widget that use ‘Find Session Advanced’ it connect automatic because it don’t proper cancelled the other search.

To understand better: I enter in a matchmaking widget and cancel the search, but when I enter in the Server List that automatic find server, after a while connect to the game that the matchmaking found that was cancel. I added a delay of 5 seconds to proper wait the cancel find and the problem don’t happens anymore.

Did you pass in a player controller to it? It will fail right away if it didn’t get a valid player controller.

[quote=“, post:1680, topic:30020”]

Did you pass in a player controller to it? It will fail right away if it didn’t get a valid player controller.

Yes, It was basically like this: https://i.imgur.com/hMuwJ6H.png

It should only close the widget when it goes to ‘On Success’ that in my interpretation of the function when the ‘Find Session’ is complete canceled, but it go enters in ‘On Success’ without waiting to cancel.

[quote=“HeliaXDemoN, post:1681, topic:30020”]

Yes, It was basically like this: https://i.imgur.com/hMuwJ6H.png

It should only close the widget when it goes to ‘On Success’ that in my interpretation of the function when the ‘Find Session’ is complete canceled, but it go enters in ‘On Success’ without waiting to cancel.

It wouldn’t be even calling OnSuccess at all unless the backend subsystem sent out the OnCancelFindSessionsComplete delegate with bSuccess, there isn’t much I can do if the backend is sending the wrong result.

Are you on steam or NULL subsystem? I could see the NULL / lan returning right away

[quote=“, post:1682, topic:30020”]

It wouldn’t be even calling OnSuccess at all unless the backend subsystem sent out the OnCancelFindSessionsComplete delegate with bSuccess, there isn’t much I can do if the backend is sending the wrong result.

Are you on steam or NULL subsystem? I could see the NULL / lan returning right away

Tried Standalone with Steam open(my friend list working) and PIE, same result here. It go instantly to ‘On Sucess’.

[quote=“HeliaXDemoN, post:1683, topic:30020”]

Tried Standalone with Steam open(my friend list working) and PIE, same result here. It go instantly to ‘On Sucess’.

Steam doesn’t work with PIE…

[quote=“, post:1684, topic:30020”]

Steam doesn’t work with PIE…

But I tried “Standalone with Steam open(my friend list working)”