Advanced Sessions Plugin

Good to know, thanks!

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