Advanced Sessions Plugin

I am using UE 4.15 and the Advanced find session node does not work when using STEAM. It works fine without STEAM. With STEAM, it returns 0 as the number of sessions found which were created using Create Advanced Session node. Has anybody encountered this issue?

Itā€™s vecause FindSession finds a few thousand of Sessions, by searching.

Thatā€™s cause in dev, you are using AppId 480 - which is the Game Spacewar.
This Id is used by all devs working with steam, without a SDirect Service.

Rise your Search results to a really high Number and/or you need to Filter out your Project by using Properties - like the servername f.e.

Hi !
Iā€™m having a nice conversation with plugin about the Event On Session Invite Accepted. Whenever I get the Unique Net ID and pass it to the UniqueNetId to String function, it gives me local user steam netid instead of the inviter. How can that happen ? I looked at the code but there some mess going around in that code with syntaxing.
(4.16.1, with latest update of plugin)
Thanks a lot for sharing this and helping us out

[QUOTE=Akcanca;730854]
Hi !
Iā€™m having a nice conversation with plugin about the Event On Session Invite Accepted. Whenever I get the Unique Net ID and pass it to the UniqueNetId to String function, it gives me local user steam netid instead of the inviter. How can that happen ? I looked at the code but there some mess going around in that code with syntaxing.
(4.16.1, with latest update of plugin)
Thanks a lot for sharing this and helping us out

mmmm, appears to be a naming issue, it should be ā€œPersonInvitedā€ not ā€œPersonInvitingā€. Iā€™ll fix that

Edit Newest upload has it changed as does the repository.

Sorry about that, I think the old reference wording was wrong in engine and I never went back and checked later on to see if it was different.

The project is not packed. What is the problem?

UATHelper: Packaging (Windows (64-bit)): Running AutomationTool...
UATHelper: Packaging (Windows (64-bit)): Automation.ParseCommandLine: Parsing command line: -ScriptsForProject="C:/Users/Chaki Kos/Documents/Unreal Projects/MyProject7/MyProject7.uproject" BuildCookRun -nocompile -nocompileeditor -installed -nop4 -project="C:/Users/Chaki Kos/Documents/Unreal Projects/MyProject7/MyProject7.uproject" -cook -stage -archive -arc
hivedirectory="C:/Users/Chaki Kos/Documents/Unreal Projects/MyProject7/test" -package -clientconfig=Development -ue4exe=UE4Editor-Cmd.exe -pak -prereqs -nodebuginfo -targetplatform=Win64 -build -utf8output
UATHelper: Packaging (Windows (64-bit)): BuildCookRun.SetupParams: Setting up ProjectParams for C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject
UATHelper: Packaging (Windows (64-bit)): Project.Build: ********** BUILD COMMAND STARTED **********
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Games\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe MyProject7 Win64 Development -Project="C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject"  "C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject" -NoUBTMakefiles  -remoteini="C
:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7" -noxge -generatemanifest -NoHotReload
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 0,8576101s to run UnrealBuildTool.exe, ExitCode=0
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: C:\Games\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe MyProject7 Win64 Development -Project="C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject"  "C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject" -NoUBTMakefiles  -remoteini="C
:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7" -noxge -NoHotReload -ignorejunk
UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: Windows SDK v8.1 must be installed in order to build this target.
UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 2,6528794s to run UnrealBuildTool.exe, ExitCode=5
UATHelper: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.CommandUtils+CommandFailedException: Command failed (Result:5): C:\Games\Epic Games\UE_4.16\Engine\Binaries\DotNET\UnrealBuildTool.exe MyProject7 Win64 Development -Project="C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.
uproject"  "C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7\MyProject7.uproject" -NoUBTMakefiles  -remoteini="C:\Users\Chaki Kos\Documents\Unreal Projects\MyProject7" -noxge -NoHotReload -ignorejunk. See logfile for details: 'UnrealBuildTool-2017.07.02-01.38.33.txt' 
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.CommandUtils.RunAndLog(CommandEnvironment Env, String App, String CommandLine, String LogName, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars, SpewFilterCallbackType SpewFilterCallback)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, FileReference Project, String Target, String Platform, String Config, String AdditionalArgs, String LogName, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.UE4Build.BuildWithUBT(String TargetName, UnrealTargetPlatform TargetPlatform, String Config, FileReference UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InForceNonUnity, Boolean InForceUnity, Boolean InShowProgress, Dictionary`2 PlatformEnvVars, Nullable`1 InChangelistNumberOverride, Diction
ary`2 InTargetToManifest)
UATHelper: Packaging (Windows (64-bit)):    Š² Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask)
UATHelper: Packaging (Windows (64-bit)):    Š² BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (Windows (64-bit)):    Š² BuildCookRun.ExecuteBuild()
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.Automation.Process(String] Arguments)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (Windows (64-bit)):    Š² AutomationTool.Program.Main()
UATHelper: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=5 (5)
UATHelper: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults:Error: Error Unknown Error

Hello bro, good job.
Iā€™m using it since 4.10 and itā€™s really wonderful.
I Just updated your plugin for 4.16.2, iā€™m building from the source, and i got this error:

[QUOTE]
U:\Unreal Projects\Impero\Source\AdvancedSteamSessions\Private\AdvancedSteamFriendsLibrary.cpp(22): fatal error C1083: Cannot open include file: ā€˜OnlineSubsystemSteamTypes.hā€™: No such file or directory

It seems the path in AdvancedSteamSessions.Build.cs is somehow wrong

[QUOTE]
PublicIncludePaths.AddRange(new string] { ā€œā€¦/Plugins/Online/OnlineSubsystemSteam/Source/Privateā€ });// This is dumb but it isnā€™t very open

Any idea to fix it? :slight_smile:

Meanwhile i solved it with a


#include "../Plugins/Online/OnlineSubsystemSteam/Source/Private/OnlineSubsystemSteamTypes.h"

Hello, how does the add or modify extra settings work? How can I change the extra settings when the server is already running and it actually updates the extra settings?

[QUOTE=Soul Reavers;731078]
The project is not packed. What is the problem?

UATHelper: Packaging (Windows (64-bit)): UnrealBuildTool: ERROR: Windows SDK v8.1 must be installed in order to build this target.

You didnā€™t fully install visual studio 2017 for UE4, you are missing a core component.

[QUOTE=zamy;731730]
Hello bro, good job.
Iā€™m using it since 4.10 and itā€™s really wonderful.
I Just updated your plugin for 4.16.2, iā€™m building from the source, and i got this error:

It seems the path in AdvancedSteamSessions.Build.cs is somehow wrong

Any idea to fix it? :slight_smile:

Meanwhile i solved it with a


#include "../Plugins/Online/OnlineSubsystemSteam/Source/Private/OnlineSubsystemSteamTypes.h"

Mmmmm, I run all of my builds from code (obviously) and the pre-packaged version uses that same path. Also the 4.13-4.15 versions had that same path as well and it is the correct one.

The only definition that effects whether it is built or not is


if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Linux) || (Target.Platform == UnrealTargetPlatform.Mac))

which is intended to not include steam files on mobile platforms, what platform were you building for?

i dont know if you have it fixed yet, but hereā€™s a wrong (copy pasted, happens a lot to me too) tooltip :stuck_out_tongue:

unknown.png

[QUOTE=;730981]
mmmm, appears to be a naming issue, it should be ā€œPersonInvitedā€ not ā€œPersonInvitingā€. Iā€™ll fix that

Edit Newest upload has it changed as does the repository.

Sorry about that, I think the old reference wording was wrong in engine and I never went back and checked later on to see if it was different.

From what I understand, this node does not return the person who invited us, instead it returns just who accepted the invite (which is obviously always us/me). I think thatā€™s wrong. If itā€™s not supposed to be like that, itā€™s still not fixed.

[QUOTE=Akcanca;733568]
From what I understand, this node does not return the person who invited us, instead it returns just who accepted the invite (which is obviously always us/me). I think thatā€™s wrong. If itā€™s not supposed to be like that, itā€™s still not fixed.

Its how it is implemented in the subsystem / steam, not much I can do about that.

[QUOTE=;733586]
Its how it is implemented in the subsystem / steam, not much I can do about that.

Interesting implementation then. By the way do you have any ideas about how can I retrieve the player list in a session ?
Or just the person who invited me ?

[QUOTE=Akcanca;733614]

Interesting implementation then. By the way do you have any ideas about how can I retrieve the player list in a session ?
Or just the person who invited me ?

That is ā€œsupposedā€ to be handled by:


// Removed because it never gets called by the online subsystems
/*void UAdvancedFriendsGameInstance::OnSessionInviteReceivedMaster(const FUniqueNetId &InvitedPlayer, const FUniqueNetId &FriendInviting, const FOnlineSessionSearchResult& Session)
{

However the problem is that while it exists in the base subsystem, it is not implemented in the any actual subsystem. I could implement it myself but would have to add another override game instance in the steam module that inherits from the advanced friends game instance. Was really hoping that gap would be filled in engine eventually.

[QUOTE=;733684]
That is ā€œsupposedā€ to be handled by:


// Removed because it never gets called by the online subsystems
/*void UAdvancedFriendsGameInstance::OnSessionInviteReceivedMaster(const FUniqueNetId &InvitedPlayer, const FUniqueNetId &FriendInviting, const FOnlineSessionSearchResult& Session)
{

However the problem is that while it exists in the base subsystem, it is not implemented in the any actual subsystem. I could implement it myself but would have to add another override game instance in the steam module that inherits from the advanced friends game instance. Was really hoping that gap would be filled in engine eventually.

If you can do that, you would be filling that gap as big as death star. I donā€™t even know why nobody even complains about that :slight_smile: Iā€™m trying to do it myself too but having no documentation makes it so slowā€¦

I just upgraded the Steam SDK v139 to v140 on binary release 4.16 and whenever I try to get auth token via Get Player Auth Token node, It returns DummyAuthToken. Whatā€™s up with that ?
Thanks

EDIT : Fixed with 4.16.2 update
EDIT 2 : Problem still occurs with packaged (development) build. It only seems to work on Standalone Game Play mode.

I dont want to sound like total noob but i have to ask anyways. Since i dont have many experience with networking in UE4, can this plugin help me to make dedicated server with steam support ?

It depends on what you need on dedicated server. If you are going to use advanced matchmaking system and will use VAC APIā€™s, then blueprints canā€™t help you much. Otherwise I think it would be enough. There are tons of tutorials in youtube, check them out first :slight_smile:

[QUOTE=Akcanca;733840]
It depends on what you need on dedicated server. If you are going to use advanced matchmaking system and will use VAC APIā€™s, then blueprints canā€™t help you much. Otherwise I think it would be enough. There are tons of tutorials in youtube, check them out first :slight_smile:

well to be hones not even 1 tutorial taking care about dedicated server and steam together. All i need is to make dedicated server to host maps for survival game basically, nothing moreā€¦ :slight_smile: So not any advance matchmaking or other complicated things reallyā€¦

Itā€™s pretty much the same in the dedicated case too. Go ahead and try, share your results with us :slight_smile:

[QUOTE=Akcanca;734074]
Itā€™s pretty much the same in the dedicated case too. Go ahead and try, share your results with us :slight_smile:

Ok i will try, but nope it is not the sameā€¦ :slight_smile: