Advanced Sessions Plugin

Hi . Enyoing your library, works out pretty nicely.

Currently I try to mimic the steam friends list in game, showing the status of the friends.
In case the friend is playing a game, the game name shall be displayed.
I correctly receive that the friend is playing a game, but I can’t get the app name.


void UAdvancedSteamFriendsLibrary::GetSteamFriendGamePlayed(const FBPUniqueNetId UniqueNetId, EBlueprintResultSwitch &Result, FString & GameName, int32 & AppID)
{
...
            int Len = SteamAppList()->GetAppName(GameInfo.m_gameID.AppID(), NameBuffer, 512);

            if (Len != -1) // Invalid
            {
                GameName = FString(UTF8_TO_TCHAR(NameBuffer));
            }
...
}

Len is -1, tried for multiple games. I tried to look it up, maybe something is deprecated. However I’m not able to find anything about ISteamAppList interface neither something that replaces its functionality.
The AppId is correct, it matches the game that is played.
Any idea what could be going on?

Thanks

[quote=“Rumbleball, post:1928, topic:30020”]

Hi . Enyoing your library, works out pretty nicely.

Currently I try to mimic the steam friends list in game, showing the status of the friends.
In case the friend is playing a game, the game name shall be displayed.
I correctly receive that the friend is playing a game, but I can’t get the app name.

Len is -1, tried for multiple games. I tried to look it up, maybe something is deprecated. However I’m not able to find anything about ISteamAppList interface neither something that replaces its functionality.
The AppId is correct, it matches the game that is played.
Any idea what could be going on?

Thanks

That is actually using the wrong function, its for locally installed games and is a restricted API. I think I must have left some testing from another function in that node at some point. I’ll delete that call entirely, you should be doing “Playing Other Game” (like most games do), that or manually checking against the WebAPI gamelist with the app ID I guess.

Hey .

I have your plugin AdvancedSessions and AdvancedSteamSessions.
I’m trying to compile my game however I’m not able to because the 2 plugins are failing to build.

Can you help me.

Here is a pastebin. 1>------ Build started: Project: ShaderCompileWorker, Configuration: Development - Pastebin.com

[quote=“DualFuelStudios, post:1930, topic:30020”]

Hey .

I have your plugin AdvancedSessions and AdvancedSteamSessions.
I’m trying to compile my game however I’m not able to because the 2 plugins are failing to build.

Can you help me.

Here is a pastebin. 1>------ Build started: Project: ShaderCompileWorker, Configuration: Development - Pastebin.com

Download the latest version, you don’t have the 4.20 release that fixed that.

I got a crash using seamless travel in 4.19.2 everything work fine when a travel from lobby to a map but when I return to lobby the game crash here is the log.


[2018.08.21-06.50.11:195][127]LogWorld: ----SeamlessTravel finished in 0.96 seconds ------
[2018.08.21-06.50.14:443][127]LogWindows: Error: === Critical error: ===
[2018.08.21-06.50.14:443][127]LogWindows: Error:
[2018.08.21-06.50.14:443][127]LogWindows: Error: Fatal error!
[2018.08.21-06.50.14:443][127]LogWindows: Error:
[2018.08.21-06.50.14:443][127]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000100
[2018.08.21-06.50.14:443][127]LogWindows: Error:
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000A5CB06C0 UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x000000009964C904 UE4Editor-AdvancedSessions.dll!UGetFriendsCallbackProxy::Activate() [d:\documents\unreal projects\vrexppluginexample - 4-15\plugins\advancedsessions\advancedsessions\source\advancedsessions\private\getfriendscallbackproxy.cpp:39]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8B3E094 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D10781 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D287B1 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D111EE UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8B3E094 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D29D73 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CB199 UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CAA7C UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B4824B4B UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B488D967 UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CAB7D UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CAA7C UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B4897CE7 UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CAB7D UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48CAA7C UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B481DE85 UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B48DD507 UE4Editor-UMG.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8B3E094 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D10781 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D287B1 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:443][127]LogWindows: Error: [Callstack] 0x00000000B8D111EE UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D111EE UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D287B1 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D111EE UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D2AA82 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8B3E094 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000B8D29D73 UE4Editor-CoreUObject.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A5CCCCFB UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A702EE9E UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A643603B UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A641233E UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A641FAC3 UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A6F605D4 UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A6E7A0DD UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000A63D2DF1 UE4Editor-Engine.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x0000000096F55EAC UE4Editor.exe!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x0000000096F66BD0 UE4Editor.exe!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x0000000096F66C4A UE4Editor.exe!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x0000000096F74177 UE4Editor.exe!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x0000000096F75B87 UE4Editor.exe!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000E9123034 KERNEL32.DLL!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000EB641431 ntdll.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error: [Callstack] 0x00000000EB641431 ntdll.dll!UnknownFunction ]
[2018.08.21-06.50.14:444][127]LogWindows: Error:
[2018.08.21-06.50.14:546][127]LogExit: Executing StaticShutdownAfterError
[2018.08.21-06.50.14:571][127]LogWindows: FPlatformMisc::RequestExit(1)
[2018.08.21-06.50.14:572][127]Log file closed, 08/21/18 02:50:14

Anyone know what is causing this problem?

i try “get session state” “is player in session” “get session settings”
it work on steam but not work on lan (Online Subsystem Null)

is this right or it need to setup something to make this work on lan?

Hello,
I played around with the plugin and followed a few different tutorials to build the engine from source and get a session up and running.

Current state is:

  • I am able to package the project with a dedicated server.exe,
  • I can start it either with steam running or with all the different steam api dlls in the folder, without any errors (looks like it tries to find the api dlls and falls back on a running steam instance if it can’t find them),
  • I can NOT find it locally if I have steam running or the dlls beside the server.exe, even if searching for local matches,
  • I can find a match if steam isn’t running (doesn’t matter if searching lan or online, it always finds it),
  • I can find it Locally over steam > view > server, with steam running,
  • but I can’t find it in the Internet tab despite adding port forwarding in the modem and adding firewall exceptions for 7777 (Unreal) and 27015 (Steam Master Server).

Questions:

  • Why does it not matter if searching LAN OR Internet with steam disabled?
  • Why can’t I find my server with Steam enabled on the Internet tab? (I know that the port forwarding should work because I hosted a Minecraft Server and that worked fine)

Pastebin of the relevant parts of the DefaultEngine.ini

[GameName].Build.cs

[GameName].h

[GameName]Server.Target.cs

UE4/Plugins/Online/OnlineSubsystemSteam/Source/Private/OnlineSessionsAsyncServerSteam.cpp
Only relevant changes

I am at the end of my wits here so any help is appreciated!

[quote=“Unavi, post:1934, topic:30020”]

Hello,
I played around with the plugin and followed a few different tutorials to build the engine from source and get a session up and running.

Current state is:

  • I am able to package the project with a dedicated server.exe,
  • I can start it either with steam running or with all the different steam api dlls in the folder, without any errors (looks like it tries to find the api dlls and falls back on a running steam instance if it can’t find them),
  • I can NOT find it locally if I have steam running or the dlls beside the server.exe, even if searching for local matches,
  • I can find a match if steam isn’t running (doesn’t matter if searching lan or online, it always finds it),
  • I can find it Locally over steam > view > server, with steam running,
  • but I can’t find it in the Internet tab despite adding port forwarding in the modem and adding firewall exceptions for 7777 (Unreal) and 27015 (Steam Master Server).

Questions:

  • Why does it not matter if searching LAN OR Internet with steam disabled?
  • Why can’t I find my server with Steam enabled on the Internet tab? (I know that the port forwarding should work because I hosted a Minecraft Server and that worked fine)

Pastebin of the relevant parts of the DefaultEngine.ini

[GameName].Build.cs

[GameName].h

[GameName]Server.Target.cs

UE4/Plugins/Online/OnlineSubsystemSteam/Source/Private/OnlineSessionsAsyncServerSteam.cpp
Only relevant changes

I am at the end of my wits here so any help is appreciated!

Okay, what are you trying to do, keep in mind that many of the newer versions of the engine have incorporated fixes that used to require this plugin. Think about an alternative solution to this plugin.

[quote=“DLROKen, post:1935, topic:30020”]

Okay, what are you trying to do, keep in mind that many of the newer versions of the engine have incorporated fixes that used to require this plugin. Think about an alternative solution to this plugin.

I want to host a dedicated server which should be visibel in the Internet tab of Steam.
What did they add in the newer versions? The basic create and find session nodes in BP (UE 4.20) only show Use Lan, how many Public Connections are allowed and how many results should be shown. Looks like I still require the plugin.
What would be the alternative?

Starting with 4.20 I’m seeing this error when packaging, anyone has a clue?


ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\AdvancedSessions\AdvancedSessions\Intermediate\Build\Win64\UE4\Shipping\AdvancedSessions\AdvancedSessions.precompiled

[quote=“ostinelli, post:1937, topic:30020”]

Starting with 4.20 I’m seeing this error when packaging, anyone has a clue?


ERROR: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files\Epic Games\UE_4.20\Engine\Plugins\AdvancedSessions\AdvancedSessions\Intermediate\Build\Win64\UE4\Shipping\AdvancedSessions\AdvancedSessions.precompiled

You need to put the plugin in the project directory unless I start compiling the pre-compiled binaries out of IDE, 4.20 added a new file that is only generated with rocket builds.

Thank you, that worked!

Except that now I’m having the following:


LogOnline: Display: STEAM: Loading Steam SDK 1.39
LogOnline: Warning: STEAM: Steam API disabled!
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
LogOnline: OSS: Unable to create OnlineSubsystem module Steam
LogOnline: Verbose: OSS: Created thread (ID:11436).

Any ideas? This used to work on 4.19.

[quote=“DLROKen, post:1935, topic:30020”]

Okay, what are you trying to do, keep in mind that many of the newer versions of the engine have incorporated fixes that used to require this plugin. Think about an alternative solution to this plugin.

That isn’t really true…I wish it was.

The authentication addition that they added in 4.20 for dedicated servers isn’t relevant, I never provided a solution for that.

[quote=“ostinelli, post:1940, topic:30020”]

Except that now I’m having the following:


LogOnline: Display: STEAM: Loading Steam SDK 1.39
LogOnline: Warning: STEAM: Steam API disabled!
LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
LogOnline: OSS: Unable to create OnlineSubsystem module Steam
LogOnline: Verbose: OSS: Created thread (ID:11436).

Any ideas? This used to work on 4.19.

Really I do not understand. I freshly reinstall 4.20.2, run in standalone, I can see Steam. I package it, and I get:


UATHelper: Packaging (Windows (64-bit)):   LogStreaming: Display: Took  0.088s to configure plugins.
UATHelper: Packaging (Windows (64-bit)):   LogOnline: Display: STEAM: Loading Steam SDK 1.39
UATHelper: Packaging (Windows (64-bit)):   LogOnline: Warning: STEAM: Steam API disabled!
UATHelper: Packaging (Windows (64-bit)):   LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
PackagingResults: Warning: STEAM: Steam API disabled!

From then on, I can’t access Steam anymore unless I reinstall 7GB of stuff. I did not experience this with 4.19, and the only difference is the fact that I put the AdvancedSessions plugin into the project’s directory (see above why).

Anyone has seen this?

[quote=“ostinelli, post:1942, topic:30020”]

Really I do not understand. I freshly reinstall 4.20.2, run in standalone, I can see Steam. I package it, and I get:


UATHelper: Packaging (Windows (64-bit)): LogStreaming: Display: Took 0.088s to configure plugins.
UATHelper: Packaging (Windows (64-bit)): LogOnline: Display: STEAM: Loading Steam SDK 1.39
UATHelper: Packaging (Windows (64-bit)): LogOnline: Warning: STEAM: Steam API disabled!
UATHelper: Packaging (Windows (64-bit)): LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
PackagingResults: Warning: STEAM: Steam API disabled!

From then on, I can’t access Steam anymore unless I reinstall 7GB of stuff. I did not experience this with 4.19, and the only difference is the fact that I put the AdvancedSessions plugin into the project’s directory (see above why).

Anyone has seen this?

Moving the plugin has no effect on the OnlineSubsystemSteam, are you packaging to Shipping? Because from shipping you need to include the App_ID.txt file or the steam subsystem will fail out. In development packaging it will run without that file.

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

Moving the plugin has no effect on the OnlineSubsystemSteam, are you packaging to Shipping? Because from shipping you need to include the App_ID.txt file or the steam subsystem will fail out. In development packaging it will run without that file.

You’re certainly right. I added this detail because this is the only difference, and I thought that maybe it had an effect because now my project started having the Build.cs file. Documentation is inconsistent about whether we should include the Steam module in it or not (docs say yes, comments in the file say no). Also, yes, I do have the steam_appid.txt file in the shipping version.

Anyway thanks for confirming that this has nothing to do with the plugin per se, and you for sharing your work Morden Tral!
r.

Hi, i am trying to use the “Get Session Settings” node, but it always fails. Any idea how is the correct way to using it or where to call it properly? Ty

EventOnSessionInviteRecived does not execute for me, is it cuss plugin is 4.20.1 and i’am on 4.20.2?

[quote=“PiJellyPin, post:1947, topic:30020”]

EventOnSessionInviteRecived does not execute for me, is it cuss plugin is 4.20.1 and i’am on 4.20.2?

No, its because it not implemented in the Steam Subsystem, I expose it because Epic has it in their interface so it can be used even if it isn’t currently implemented (third party subsystems for example can implement it, currently there aren’t any built in ones that do).