Advanced Sessions Plugin

Hey Peeps

I have my steam subsystem all hooked up using the advanced sessions plugin. I’m trying to get the steam login ui to open when no one is logged into steam on begin play using the “Show External Login UI” blueprint node. Is this the correct way of going about it?

I am able to open the profile using the “Show Profile UI” node when logged in.

Many Thanks

I don’t know either because when the client launched the game they will go past through steam, If its a steam game.

Advanced Sessions plugin: no version is work all asked to rebuild manual don’t know how aim beginner thank you

The precompiled binaries list has a 5.0 Preview 1 version now.

The normal plugin packing procedure is currently a bit broken with how the AS modules work so I had to manually package these.

Did you find a solution to the problem below?

[quote=“anonymous_user_982a9af3, post:3060, topic:30020, full:true”]
UE5 branch changed a line in SteamRequestGroupOfficersCallbackProxy.cpp from
#include "UObject/CoreOnline.h"
to
#include "Online/CoreOnline.h"

With this change, when trying to build the plugin VS will throw an error because it can’t find the dependency. Changing this single line back makes everything build without errors but I’m guessing this change had a reasoning. Can someone help me understand the change?

I changed the line last night when revising the plugin.

And its just them consolidating code to better locations.

1 Like

Plugin won’t load with preview 2 update.
Should I change something in the files?

Did you download the latest binary? I just updated it yesterday.

I donwnload it by this link https://github.com//AdvancedSessionsPlugin
The master branch beein updated 3 day ago. There is another ?

Master is 4.27, you need the UE5 branch. I don’t change master over to the latest engine release until it is out of preview.

I tried to use the plugin in a UE5 project, but after I’m adding it, I’m getting this error on launch:

image

If I chose “Yes” then I get this error:

image

If I remove the plugin then the project is fine.

I used vreue4 from main post to download it (AdvancedSessionPlugin-50-Preview2 downloaded today).

//Edit: More info on the problem:

Great plug-ins. Do you have any functions / instructions or tutorials about these nodes? Thank you very much

1 Like

You are on the Early Access version of UE5, you should be on the Preview version.

Hi, I’m having an issue similar to this post: [Solved] - Blueprint JoinSession loading to incorrect map - #4 by Mesket

I’m using the Steam Online Subsystem with two different computers with two different Steam accounts.

Basically I can see the Host when looking for sessions and I can access its ExtraSettings so I am sure it’s the one I am running. When connecting to it, the JoinSession node returns a success. In the logs of the Host I can see a Client tried to connect, and likewise I can see the Client found the host and connected it.

However, it doesn’t do much afterwards, simply hanging on the map and not loading the Host’s map.

I’ve tried the same method with both computers logged off Steam. I confirmed that Steam was not working as the overlay as unavailable. I was able to join a session in this case and everything was working as designed.

Below I added some logs. Some further explanation on the levelnames that might pass by in the logs

  • MainMenu: Startup level for everyone. Here all settings are set and launches the LoadingLevel
  • LoadingLevel: Based on settings in the GameInstance, LoadingLevel either connects to or hosts a session
  • DefaultMap: Gameplay level where all players should end up in

Connecting via Steam and project UI

I’ve double checked all nodes and flows and it should work properly. The OpenLevel (by Object Reference Node) has listen added to it in options. Here below is the log from the moment that the Client starts connecting to the Host.

[2022.03.29-10.30.08:262][215]LogAIModule: Creating AISystem for world LoadingLevel
[2022.03.29-10.30.08:402][215]LogLoad: Game class is ‘BP_AgoraGameMode_C’
[2022.03.29-10.30.08:405][215]LogWorld: Bringing World /CREWAgora/Levels/LoadingLevel.LoadingLevel up for play (tick rate 0) at 2022.03.29-12.30.08
[2022.03.29-10.30.08:405][215]LogWorld: Bringing up level for play took: 0.000406
[2022.03.29-10.30.08:406][215]LogGameMode: FindPlayerStart: PATHS NOT DEFINED or NO PLAYERSTART with positive rating
[2022.03.29-10.30.08:408][215]LogLoad: Took 0.218045 seconds to LoadMap(/CREWAgora/Levels/LoadingLevel)
[2022.03.29-10.30.08:658][346]LogBlueprintUserMessages: [BP_CoagulateGameInstance_C_0] User -63,921,253 has entered CREW
[2022.03.29-10.30.10:414][196]LogOnlineSession: STEAM: Using P2P Data for Connection Serialization
[2022.03.29-10.30.10:414][196]LogOnlineSession: OSS: Join session: traveling to steam.76561198180819823:17777
[2022.03.29-10.30.10:415][196]LogNet: Browse: steam.76561198180819823:17777/Game/Maps/MainMenu
[2022.03.29-10.30.10:415][196]LogNet: Display: SteamNetDriver_0 bound to port 17777
[2022.03.29-10.30.10:416][196]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2022.03.29-10.30.10:416][196]LogOnline: STEAM: Adding user 76561198180819823:17777 from RegisterConnection
[2022.03.29-10.30.10:416][196]LogNet: Game client on port 17777, rate 15000

CLI Connection
I tried connecting via cli command UE4Editor.exe ProjectName.uproject ServerIP -Game to directly connect by IP and bypass I get the following log messages:

[2022.03.29-10.17.58:594][ 0]LogNet: Browse: 10.0.0.56/Game/Maps/MainMenu?Name=Player
[2022.03.29-10.17.58:594][ 0]LogInit: WinSock: Socket queue. Rx: 32768 (config 32768) Tx: 32768 (config 32768)
[2022.03.29-10.17.58:594][ 0]LogNet: Created socket for bind address: 0.0.0.0 on port 0
[2022.03.29-10.17.58:594][ 0]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2022.03.29-10.17.58:594][ 0]LogNet: Game client on port 7777, rate 15000

Note the first line in the CLI Connection log, for some reason it wants to load the MainMenu rather than DefaultMap. Also there’s a difference in the ports between connecting via CLI and the JoinSessions node

As an addendum to my post above, I made a minimal project that showcases the issue I’m having.

I only inserted this piece of logic which tries to find a session, if it’s not compatible, then host a session. If it does find one and is compatible, then join the session and print the message “Session started, loading map now”. This message prints but it never changes maps.

You can find the project here: MPSkeleton

And to round up technical details:

UE4.27.2
Latest version of AdvancedSessions
Steamworks v151
AppId 480

1 Like

I’ve managed to fix this issue! I simply switched over SteamSockets and it started working properly.

Has there been changes whereby the older NetDrivers don’t work anymore in current SteamWorks?

Anyways, this issue wasn’t related to AdvancedSessions in the end so sorry for clogging up the thread

1 Like

For the record, generally in cases like that things would be unrelated to AS, its only exposing back end functions to the front end.

But no steam “should” function without steam sockets.

1 Like

At the danger of veering offtopic, but to activate the Steam Online Subsystem, I simply followed the UE4 documentation and SteamSockets is not mentioned anywhere in it. Has Steamworks completely transitioned to SteamSockets and Epic has not updated their documentation yet?

Not that I am aware of no

1 Like

Master branch is now 5.0 and 4.27 is locked to its own branch. I’ll be compile prebuilt binaries later on after some additional testing.

1 Like