Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Hello, anyone else having issues with advanced sessions on the new 4.23.1 update? All of a sudden i can't get any steam info to pop up, like steam name and avatar image. I'm pretty sure it started after updating the unreal engine.

    Comment


      Anyone know how to use this blueprints nodes of online context???
      Attached Files

      Comment


        When I only use join (logs after first red line) and destroy session nodes (after second red line)...my dedicated server make some strange msg like image below. When a player close the game...the server keep saying the msgs in yellow in console...Any tip to upgrade this???
        Attached Files

        Comment


          Hi there,

          I've just started using the plugin, first off, thank you for creating such an easy-to-get-started plugin!!

          Precursor: I am using engine version 4.23.0 and the Null online subsystem (DefaultOnlineSubSystem=Null)

          I am having a difficult time trying to GetSessionSettings working. It always returns OnFailure. I have tried using the node immediately after CreateAdvancedSession->OnSuccess to no avail. I've also tried putting a self-looping delay; reattempt and that has had no luck either.

          From debugging the plugin's C++ source for GetSessionSettings, it successfully gets the SessionInterface, but fails on SessionInterface-GetSessionSettings(NAME_GameSession). This always returns nullptr.

          This matches the log I am seeing "GetSessionSettings couldn't get the session settings!"

          Any help would be hugely appreciated.

          Cheers
          Last edited by PhoenixSmurf; 10-28-2019, 01:45 AM.

          Comment


            Originally posted by PhoenixSmurf View Post
            Hi there,

            I've just started using the plugin, first off, thank you for creating such an easy-to-get-started plugin!!

            Precursor: I am using engine version 4.23.0 and the Null online subsystem (DefaultOnlineSubSystem=Null)

            I am having a difficult time trying to GetSessionSettings working. It always returns OnFailure. I have tried using the node immediately after CreateAdvancedSession->OnSuccess to no avail. I've also tried putting a self-looping delay; reattempt and that has had no luck either.

            From debugging the plugin's C++ source for GetSessionSettings, it successfully gets the SessionInterface, but fails on SessionInterface-GetSessionSettings(NAME_GameSession). This always returns nullptr.

            This matches the log I am seeing "GetSessionSettings couldn't get the session settings!"

            Any help would be hugely appreciated.

            Cheers
            Test that in "Stand-Alone" launch or in a packaged exe, the PIE session that it automatically creates gets in the way here.


            Consider supporting me on patreon

            My Open source tools and plugins
            Advanced Sessions Plugin
            VR Expansion Plugin

            Comment


              Originally posted by Demonrras View Post
              When I only use join (logs after first red line) and destroy session nodes (after second red line)...my dedicated server make some strange msg like image below. When a player close the game...the server keep saying the msgs in yellow in console...Any tip to upgrade this???
              I already replied to you on this, but go find where you are calling GetPlayerName at and don't call it with dead (invalid) player controller references. I don't know how you have your stuff setup but you must be storing player references and not removing them when the player leaves the server.

              For that matter, I don't know why this would be on tick in the first place.


              Consider supporting me on patreon

              My Open source tools and plugins
              Advanced Sessions Plugin
              VR Expansion Plugin

              Comment


                Originally posted by mordentral View Post

                I already replied to you on this, but go find where you are calling GetPlayerName at and don't call it with dead (invalid) player controller references. I don't know how you have your stuff setup but you must be storing player references and not removing them when the player leaves the server.

                For that matter, I don't know why this would be on tick in the first place.
                Yeap...alright fix it. tks

                Comment


                  Originally posted by mordentral View Post

                  Test that in "Stand-Alone" launch or in a packaged exe, the PIE session that it automatically creates gets in the way here.
                  Thank you, that got it working! And thank you for such an amazingly fast and supportive response.

                  Has anyone figured out how to get this working in PIE, perhaps a workaround or hack? I have a few other team members (mainly doing UI work) who won't be very impressed with me if I tell them they can't use PIE for our match lobby

                  I wonder if the followup "UPDATE" at the end of this post is relevant
                  https://answers.unrealengine.com/que...-sessions.html

                  But I can't quite wrap my head around why it is the solution.... if it was, I'm guessing I'd need to hack around with the plugin source to pass WorldContext into the GetSessionSettings function. Also I can't see any interface methods for Online::GetSessionInterface(World) that take a UWorld argument, so maybe that's not a thing any more.... or quite possibly I'm just blind

                  Cheers
                  Last edited by PhoenixSmurf; 10-28-2019, 09:54 PM.

                  Comment


                    Does anyone know how to use the 'filter' node in the find sessions? What can I filter on: my own variables that I set earlier? Or?

                    Here is what I do: I add 'MyServerName' to the sessions 'extra settings', I can read the extra settings from the sessions I found, but after the list is complete. So, filtering it then would reduce the list to below the 'max results' requirement...? so its a dirty workaround.

                    How can I use filter to get only sessions that have 'MyServerName' set to 'whatever', and still get the 'max results'? Click image for larger version

Name:	SettingMyServerName.png
Views:	114
Size:	442.3 KB
ID:	1679314

                    Comment


                      NVM: I got it working

                      Click image for larger version

Name:	filter.png
Views:	115
Size:	113.4 KB
ID:	1679322

                      Comment


                        So.... I can check if 'MyGameName' is EQUAL to 'SomeValue', but... what do I do to handle this situation:
                        Host makes games with MyGameName' set to 'someveryveryverylonggamename'.
                        Client filters for 'MyGameName' to 'gamename'. Since the name does not EQUAL someveryveryverylonggamename, it wont trigger?
                        Sooo. how do I make it that the 'equal' comparison is changed to a 'in string' comparison? So if you filter on 'gamename' you will get 'someveryveryverylonggamename' in the results?

                        Comment


                          Originally posted by PhoenixSmurf View Post

                          Thank you, that got it working! And thank you for such an amazingly fast and supportive response.

                          Has anyone figured out how to get this working in PIE, perhaps a workaround or hack? I have a few other team members (mainly doing UI work) who won't be very impressed with me if I tell them they can't use PIE for our match lobby

                          I wonder if the followup "UPDATE" at the end of this post is relevant
                          https://answers.unrealengine.com/que...-sessions.html

                          But I can't quite wrap my head around why it is the solution.... if it was, I'm guessing I'd need to hack around with the plugin source to pass WorldContext into the GetSessionSettings function. Also I can't see any interface methods for Online::GetSessionInterface(World) that take a UWorld argument, so maybe that's not a thing any more.... or quite possibly I'm just blind

                          Cheers
                          That would work actually, I can go and switch over to the world version of the interface retrieval for the relevant nodes, they have to have a world anyway. Its just a bit annoying to add the world context to everything.

                          *Edit* New version is up on the repository for 4.23/22/21 with world context added to a bunch of the most relevant nodes. I'll get around to the rest eventually, most of them don't have a use in editor.
                          Last edited by mordentral; 10-29-2019, 09:56 AM.


                          Consider supporting me on patreon

                          My Open source tools and plugins
                          Advanced Sessions Plugin
                          VR Expansion Plugin

                          Comment


                            Amazing!! Thanks so much! Getting latest now....

                            Comment


                              Hmm that seems to resolve getting session settings, unfortunately UpdateSession still appears to fail on PIE

                              UPDATE:
                              However, switching UUpdateSessionCallbackProxyAdvanced::Activate() and ::OnUpdateCompleted() to use WorldContextObject->GetWorld(); seems to help.

                              I'm guessing the same fix may apply to the calls to GetWorld() in FindFriendSessionCallbackProxy (but I haven't tried it)

                              I don't know enough about AdvancedFriendsGameInstance to know if it's an issue there or not sorry
                              Last edited by PhoenixSmurf; 10-30-2019, 03:32 AM.

                              Comment


                                Is there an elegant way to pass the ExtraSessionSettings over to clients? Or to request newer information from the client to its session (without refinding sessions)? The situation is, I have one client tell the server to change its game session extra settings, then I want all clients to get that information. I've tried passing an array of SessionPropertyKeyPair structs to an OnUpdate client RPC call but the information doesn't appear to replicate; an array of 3 elements arrives on the client RPC but it's all None/0/null data.
                                Last edited by PhoenixSmurf; 10-30-2019, 04:05 AM.

                                Comment

                                Working...
                                X