Advanced Sessions Plugin

I have a question about what port number I should use because when I start my game menu I see other peoples games in my servers list lol And if someone could also be so kind where to change it. Thanks again

Update:
OK figured out a way to just get my servers to show. I created an extra setting with a static string/key that is the same whenever any of my servers are hosting a game. Then when refreshing the server list it will only allow my servers to display in the list. I think this isn’t needed when you actually get your own steam game and dev ID.

1 Like

on 4.24.2 I have a null reference Blueprint Runtime Error: “Accessed None trying to read property CallFunc_GetPlayerController_ReturnValue”. Blueprint: Menu Function: Execute Ubergraph Menu Graph: EventGraph Node: Set bShowMouseCursor
Blueprint Runtime Error: “Accessed None trying to read property CallFunc_Create_ReturnValue”. Blueprint: Menu Function: Execute Ubergraph Menu Graph: EventGraph Node: Add to Viewport

it’s probably the Set bShowMouseCursor needs to be a variable that’s set. Add to Viewport is right before it in the blueprint graph flow.

I can take a lot of screenshots but I’m following this: https://www.youtube.com/watch?v=blsUcn3G03I&list=PL3TrrCsmmxllnBvhucQ4c683a2VltXBx6&index=4

and I can’t really figure out where I should set bShowMouseCursor >_>

any help would be appreciated. I was also curious if it’s a bug with the engine.

So ive been looking in this thread for some time, but cant manage to get any result from the Find Sessions Advanced node. It always returns 0. Anyway, in my log i do notice some results.
I should just find all servers for the SpaceWars game with api id 480 right?
Im on unreal 4.24.2



GameName=RTTest



[OnlineSubsystem]
PollingIntervalInMs=20
; Uncomment the following line to use the Null Subsystem
;DefaultPlatformService=Null
; Uncomment the following lines to use the Steam Subsystem
DefaultPlatformService=Steam
VoiceNotificationDelta=0.2 

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
SteamAppId=480
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90
; This is to prevent subsystem from reading other achievements that may be defined in parent .ini
Achievement_0_Id=""

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection


 [Voice] 
 bEnabled=true

 [OnlineSubsystem] 
 bHasVoiceEnabled=true

[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_ThirdPersonBP",NewGameName="/Script/RTTest")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_ThirdPersonBP",NewGameName="/Script/RTTest")
!NetDriverDefinitions=ClearArray
; Uncomment the next line if you are using the Null Subsystem
;-NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
; Uncomment the next line if you are using the Steam Subsystem
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")



[2020.02.24-15.23.40:433] 38]LogOnlineSession: STEAM: Found 49 lobbies, finalizing the search
[2020.02.24-15.23.40:433] 38]LogOnlineSession: STEAM: Search result 0: LobbyId=Lobby[0x18600000BA99EE1], LobbyId.IsValid()=true, CSteamID(LobbyId).IsLobby()=true
[2020.02.24-15.23.40:433] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data cname 109775241112819276
[2020.02.24-15.23.40:433] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key cname value 109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data platform WIN
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key platform value WIN
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data type 04109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key type value 04109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unable to parse search result for lobby 'Lobby[0x18600000BA99EE1]'
[2020.02.24-15.23.40:434] 38]LogOnlineSession: STEAM: Search result 1: LobbyId=Lobby[0x18600000BA9869E], LobbyId.IsValid()=true, CSteamID(LobbyId).IsLobby()=true
[2020.02.24-15.23.40:435] 38]LogOnlineSession: Warning: STEAM: Unable to parse search result for lobby 'Lobby[0x18600000BA9869E]'

The log is pretty much filled with all kind of warning like above (around 100).

Anyone could help?

[quote=“BulleTime, post:2419, topic:30020”]

So ive been looking in this thread for some time, but cant manage to get any result from the Find Sessions Advanced node. It always returns 0. Anyway, in my log i do notice some results.
I should just find all servers for the SpaceWars game with api id 480 right?
Im on unreal 4.24.2







[2020.02.24-15.23.40:433] 38]LogOnlineSession: STEAM: Found 49 lobbies, finalizing the search
[2020.02.24-15.23.40:433] 38]LogOnlineSession: STEAM: Search result 0: LobbyId=Lobby[0x18600000BA99EE1], LobbyId.IsValid()=true, CSteamID(LobbyId).IsLobby()=true
[2020.02.24-15.23.40:433] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data cname 109775241112819276
[2020.02.24-15.23.40:433] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key cname value 109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data platform WIN
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key platform value WIN
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unknown or unsupported data type from Steam key data type 04109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Failed to parse setting from key type value 04109775241112819276
[2020.02.24-15.23.40:434] 38]LogOnlineSession: Warning: STEAM: Unable to parse search result for lobby ‘Lobby[0x18600000BA99EE1]’
[2020.02.24-15.23.40:434] 38]LogOnlineSession: STEAM: Search result 1: LobbyId=Lobby[0x18600000BA9869E], LobbyId.IsValid()=true, CSteamID(LobbyId).IsLobby()=true
[2020.02.24-15.23.40:435] 38]LogOnlineSession: Warning: STEAM: Unable to parse search result for lobby ‘Lobby[0x18600000BA9869E]’




The log is pretty much filled with all kind of warning like above (around 100).


Anyone could help?




Those log messages ARE the other space wars applications, they are being filtered out due to conflicting build IDs (by default the engine filters build IDs that aren't the same). You would need to enter a filter value (any) that would be unique to you in order for those to not be returned and then thrown away.

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

Those log messages ARE the other space wars applications, they are being filtered out due to conflicting build IDs (by default the engine filters build IDs that aren’t the same). You would need to enter a filter value (any) that would be unique to you in order for those to not be returned and then thrown away.

Alright but what if i actually do want to show all these servers, just to stylize my server list ?

[quote=“BulleTime, post:2421, topic:30020”]

Alright but what if i actually do want to show all these servers, just to stylize my server list ?

You would have to modify the subsystem back end to not throw out mismatched build ids.
There is no console command or variable setting to stop the default behavior.


    // Verify success with all required keys found
    if (bSuccess && (KeysFound == STEAMKEY_NUMREQUIREDLOBBYKEYS) && (HostKeysFound == 2 || SteamAddrKeysFound == 2))
    {
        int32 BuildUniqueId = GetBuildUniqueId();
        if (Session.SessionSettings.BuildUniqueId == BuildUniqueId)
        {
            if (HostKeysFound == 2)
            {
                SessionInfo->HostAddr = HostAddr;
            }

            if (SteamAddrKeysFound == 2)
            {
                SessionInfo->SteamP2PAddr = SteamP2PAddr;
            }

            Session.SessionInfo = SessionInfo;
            return true;
        }
        else
        {
            UE_LOG_ONLINE_SESSION(Warning, TEXT("Removed incompatible build: ServerBuildUniqueId = 0x%08x, GetBuildUniqueId() = 0x%08x"),
                Session.SessionSettings.BuildUniqueId, BuildUniqueId);
        }
    }

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

You would have to modify the subsystem back end to not throw out mismatched build ids.
There is no console command or variable setting to stop the default behavior.


 // Verify success with all required keys found
if (bSuccess && (KeysFound == STEAMKEY_NUMREQUIREDLOBBYKEYS) && (HostKeysFound == 2 || SteamAddrKeysFound == 2))
{
int32 BuildUniqueId = GetBuildUniqueId();
if (Session.SessionSettings.BuildUniqueId == BuildUniqueId)
{
if (HostKeysFound == 2)
{
SessionInfo->HostAddr = HostAddr;
}

if (SteamAddrKeysFound == 2)
{
SessionInfo->SteamP2PAddr = SteamP2PAddr;
}

Session.SessionInfo = SessionInfo;
return true;
}
else
{
UE_LOG_ONLINE_SESSION(Warning, TEXT("Removed incompatible build: ServerBuildUniqueId = 0x%08x, GetBuildUniqueId() = 0x%08x"),
Session.SessionSettings.BuildUniqueId, BuildUniqueId);
}
}

Any idea where i can find that code? its not in the engine source?

[quote=“BulleTime, post:2423, topic:30020”]

Any idea where i can find that code? its not in the engine source?

Sure it is? OnlineSessionAsyncLobbySteam.cpp for lobby sessions.

Hi, is there any visual tutorials on how to get your GetNumNetworkPlayers node to work? or the best practice on hooking it up? I’m trying to reflect a “Current Players” integer. When I attached it to a print screen in my widget blueprint, I just get a “1”. nothing ever adds up. Still sort of a noob, but if you have some documentation or step by step how to use it, it would be greatly appreciated!

Hello I need some Help with advance voice I don´t know waht I´doing wrong. The issue is that players in the lobby can speak each other with start networked voice and stop networked voice blueprint functions, I attach an log image when they are in the lobby (image 1). Once they get into a map after travelling throw a travel map, they can´t comunicate any longer with start networked voice and stop networked voice. I attach a log image in the map (image 2). As you can see, only the blueprint functions to start and stop to talk run propertly in the player who is the server. Does Somebody know how to fix the problem. I would appreciate it if somebody can help me.

Not work UE 4.24.3 I have message.

Plugin ''SteamShared" failed to load because module “SteamShared” could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.

Can someone help me?

Program.Main: BUILD FAILED: Command failed (Result:10001): C:\Program Files (x86)\Xoreax\IncrediBuild\xgConsole.exe “C:\Users\Flaksa\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+unreal+UE_4.24\UAT_XGE.xml” /Rebuild /NoLogo /ShowAgent /ShowTime /no_watchdog_thread. See logfile for details: ‘xgConsole-2020.02.28-08.23.27.txt’
Program.Main: UE4BuildException: BUILD FAILED: Command failed (Result:10001): C:\Program Files (x86)\Xoreax\IncrediBuild\xgConsole.exe “C:\Users\Flaksa\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+unreal+UE_4.24\UAT_XGE.xml” /Rebuild /NoLogo /ShowAgent /ShowTime /no_watchdog_thread. See logfile for details: ‘xgConsole-2020.02.28-08.23.27.txt’
Program.Main: в AutomationTool.UE4Build.ProcessXGEItems(List1 Actions, String XGETool, String Args, String TaskFilePath, Boolean ShowProgress) в D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\UE4Build.cs:строка 650 Program.Main: в AutomationTool.UE4Build.BuildParallelTargets(List1 ParallelTargets, Boolean InShowProgress, String XGETool, Dictionary2 InTargetToManifest) в D:\Build\++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\UE4Build.cs:строка 1163 Program.Main: в AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InUseParallelExecutor, Boolean InShowProgress, Nullable1 InChangelistNumberOverride, Dictionary2 InTargetToManifest) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\UE4Build.cs:строка 1113
Program.Main: в Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL, ProjectBuildTargets TargetMask) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Scripts\BuildProjectCommand.Automation.cs:строка 214
Program.Main: в BuildCookRun.DoBuildCookRun(ProjectParams Params) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:строка 198
Program.Main: в BuildCookRun.ExecuteBuild() в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Scripts\BuildCookRun.Automation.cs:строка 39
Program.Main: в AutomationTool.BuildCommand.Execute() в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\BuildCommand.cs:строка 263
Program.Main: в AutomationTool.Automation.Execute(List1 CommandsToExecute, Dictionary2 Commands) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:строка 538
Program.Main: в AutomationTool.Automation.Process(String] Arguments, StartupTraceListener StartupListener) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:строка 508
Program.Main: в AutomationTool.Program.MainProc(String] Arguments, StartupTraceListener StartupListener) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Program.cs:строка 176
Program.Main: в AutomationTool.Program.<>c__DisplayClass1_0.<Main>b__2() в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Program.cs:строка 88
Program.Main: в AutomationTool.InternalUtils.RunSingleInstance(Func`1 Main) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\AutomationUtils\Utils.cs:строка 731
Program.Main: в AutomationTool.Program.Main(String] Arguments) в D:\Build++UE4\Sync\Engine\Saved\CsTools\Engine\Source\Programs\AutomationTool\Program.cs:строка 88
Program.Main: AutomationTool exiting with ExitCode=1 (Error_Unknown)

I noticed this node, but how to get the game name as sting using the app id?

Knipsel.PNG

[quote=“BulleTime, post:2429, topic:30020”]

I noticed this node, but how to get the game name as sting using the app id?

Knipsel.PNG

Sadly there is no direct SDK query, its a SteamWebAPI access to get the name from that.

Could you tell me how to enable join player’s session from Steam UI by clicking a "Join Game " buttom?

[quote=“eXi, post:5, topic:30020”]

Nice! Though i won’t use this. Still waiting for Epic to release this for BPs themself. Can’t put a project on the Market with a Plugin in it. :confused:

Does this mean you can’t release your game with this plugin in it?

[quote=“ksimpson1986, post:2425, topic:30020”]

Hi, is there any visual tutorials on how to get your GetNumNetworkPlayers node to work? or the best practice on hooking it up? I’m trying to reflect a “Current Players” integer. When I attached it to a print screen in my widget blueprint, I just get a “1”. nothing ever adds up. Still sort of a noob, but if you have some documentation or step by step how to use it, it would be greatly appreciated!

I have only been messing around with advanced sessions for a couple weeks and I only get my games showing just 1 player no matter what. I wish someone would shed some light on this. I watched a good tutorial and copied exactly how it should be done (I guess) and still only shows 1 player. Take a look at this guys tutorial, so far it isn’t bad… [ue4] Setup Advanced Session - Steam Multiplayer #1 [Tutorial] - YouTube

Whats the difference between these two nodes? They have the same comment. Would it be possible to create ingame widget for inviting?

Knipsel.PNG

[quote=“Cipher5, post:2432, topic:30020”]

Does this mean you can’t release your game with this plugin in it?

No, many games have releaded using it, its MIT licensed, he just didn’t want to package it into his own marketplace asset as epic requires third party plugins also be on the marketplace to have your own rely on it.

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

Sure it is? OnlineSessionAsyncLobbySteam.cpp for lobby sessions.

Thats indeed the file. Seems visual studio was not able to find it… however im not gonna build engine from source. But thanks!