Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Originally posted by JJGG117
    What's the best way to adding Splitscreen Characters for Online Multiplayer?
    AddPlayer....but that doesn't have anything to do with this plugin.

    Originally posted by JJGG117
    How do I change global voice volume? Is there a node for it?

    I honestly don't remember, you'll have to check in the audio settings. I know some of the pre-made menu's have it set via slider.


    Consider supporting me on patreon

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

    Comment


      Originally posted by JJGG117
      I have been unable to accept and send Steam Invites from Steam Chat in Steam Overlay.

      Do I need AdvancedFriendsGameInstance in-use in able to do this?
      Yes, that is the only reason that it exists.


      Consider supporting me on patreon

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

      Comment


        Originally posted by JJGG117
        I'm sorry but does this work with two Engline installed Plugins? Like two Marketplace downloaded plugins? They will reside as Engine-side plugins, not Game-side plugins.

        I took one, opened it up, changed the parent to the other one. But it says there will be Data Loss. Basically all this does is change or switch the GameInstance, not combine them.

        I'm really struggling to get AdvancedFriendsGameInstance working with my other GameInstance class type. The two separate GameInstances have nodes of their own which I need to use together in one GameInstance. I'm not just trying to switch between one or the other, I'm trying to combine them both. Inherit both of their nodes for me to use.

        If you can kindly review the steps with me in greater depth....

        I see that both plugins have a Source folder. But none are in Game/Plugins...all are in 4.16/Engine/Plugins/Marketplace
        How would you describe "reparenting" ? Going into Class Settings?
        Yes, class settings / parent.

        The AdvancedFriendsGameInstance is c++ based so it likely needs to be the root parent as your other one is blueprint. Make sure the other GameInstances parent class is listed as "GameInstance" and not "PlatformGameInstance".

        If the original parent is "GameInstance" then you should be entirely safe to set the parent of your second game instance to AdvancedFriendsGameInstance, the "There MAY be data loss" is a warning that always pops up regardless of what you are parenting to.


        If the original parent of the second game instance is not a baseline "GameInstance" then you won't be able to do this, and likely will have to manually merge things if you want them.


        Consider supporting me on patreon

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

        Comment


          Originally posted by JJGG117
          Well the plugins are installed thru the 4.16/Plugins/Marketplace. They both work fine on their own. When I go to create a new game instance, I find that this game instance's tooltip says it is C++
          But I have a BP only project and individually, your AdvancedFriends and my other game instance work fine.

          Both are under GameInstance and are not a child of PlatformGameInstance.

          Still reparenting removes the nodes of one or the other as well as from default settings panel.

          I assume AdvancedFriends has a public .h class? In there I'm sure it is parented to UGameInstance but still in BP it shows up as AdvancedFriendsGameInstance parent. This is why it removes the other GameInstance as soon as I reparent. As both are C++ working in a BP only project.

          I'm not sure the steps to take to make sure they can not conflict classes when I go ahead and reparent in editor. Or even if I was to go ahead and reparent in C++ .h files. How to rebuild, etc. that type of thing. If I go ahead and create a C++ class and rebuild after manually reparenting in one of the C++ .h files, then it builds instantly with no other prints to output log.
          I said to make AdvancedSessions the PARENT of the OTHER gameinstance that comes from a plugin.......

          If the other plugins game instance is c++ then you are out of luck without manual edits.


          Consider supporting me on patreon

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

          Comment


            Hey! So I was watching a tutorial on youtube on how to add advance sessions into your project and everything seemed fine. When I play game in-engine as standalone I can see my friend list from steam and Im able to create server but when I package the server, I don't think the stuff from advance sessions get added there cuz when i press shift+tab even steam overlay doesnt even come up.

            The plugins I only activated were: online subsystem steam, "AdvancedSteamSessions" only, In his new video he made how to package everything but he also enabled "AdvancedSessions" plugin but when I go back to plugins and search for advance sessions plugins nothing shows up. Any help would be appreciated.

            Unreal Engine Version: 4.16.3

            Also thanks for creating such a cool plugin [MENTION=4285]mordentral[/MENTION]
            Last edited by abdu.d.soul; 08-15-2017, 08:16 PM.

            Comment


              Originally posted by DarkSoul Gaming View Post
              Hey! So I was watching a tutorial on youtube on how to add advance sessions into your project and everything seemed fine. When I play game in-engine as standalone I can see my friend list from steam and Im able to create server but when I package the server, I don't think the stuff from advance sessions get added there cuz when i press shift+tab even steam overlay doesnt even come up.

              The plugins I only activated were: online subsystem steam, "AdvancedSteamSessions" only, In his new video he made how to package everything but he also enabled "AdvancedSessions" plugin but when I go back to plugins and search for advance sessions plugins nothing shows up. Any help would be appreciated.

              Unreal Engine Version: 4.16.3

              Also thanks for creating such a cool plugin [MENTION=4285]mordentral[/MENTION]
              Did you delete the AdvancedSessions plugin folder? It should show up in your available plugins list.


              Also as of 4.17 you won't be able to remove Advanced sessions but use Advanced Steam Sessions as the Steam Sessions relies on it and will correctly inform you that it needs the former enabled.


              Consider supporting me on patreon

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

              Comment


                Originally posted by mordentral View Post
                Did you delete the AdvancedSessions plugin folder? It should show up in your available plugins list.


                Also as of 4.17 you won't be able to remove Advanced sessions but use Advanced Steam Sessions as the Steam Sessions relies on it and will correctly inform you that it needs the former enabled.
                So to be able to enable the "AdvancedSessions" plugin I deleted plugins folder from my project folder and and didnt delete the one from engine level and it worked but I keep facing the same problem.

                When I run standalone, it works

                and when I run the packaged one to be shipped, it doesnt work

                Here are the plugins I have Enabled:
                Online Subsystem,
                Online Subsystem Steam,
                AdvancedSessions,
                AdvancedSessionSteam,

                Also Im using unreal engine 4.16.x not 4.17.x. Im not sure what the problem is and I also cant figure it out as Im new to unreal engine and still am learning stuff.

                EDIT: Im only building it for windows so I have made any c++ bland file in my project, but when I try to do it, it keeps giving me namespace already exists error.
                Last edited by abdu.d.soul; 08-16-2017, 09:16 AM.

                Comment


                  Originally posted by DarkSoul Gaming View Post
                  So to be able to enable the "AdvancedSessions" plugin I deleted plugins folder from my project folder and and didnt delete the one from engine level and it worked but I keep facing the same problem.

                  When I run standalone, it works:
                  https://gyazo.com/c18e1e882e5509fc22b813cd4f67dc70

                  and when I run the packaged one to be shipped, it doesnt work:
                  https://gyazo.com/baae2a51448ee568c3264e82723e097c

                  Here are the plugins I have Enabled:
                  Online Subsystem,
                  Online Subsystem Steam,
                  AdvancedSessions,
                  AdvancedSessionSteam,

                  SS of plugins enabled:
                  https://gyazo.com/edf7dcd82b65b5b9e0cae1a000326781
                  https://gyazo.com/df8735488c9595dbeeb26b566ec1643d
                  https://gyazo.com/02a7d5aebd789ba653b60e97978efb06

                  Also Im using unreal engine 4.16.x not 4.17.x. Im not sure what the problem is and I also cant figure it out as Im new to unreal engine and still am learning stuff.

                  EDIT: Im only building it for windows so I have made any c++ bland file in my project, but when I try to do it, it keeps giving me namespace already exists error.

                  To use it in a shipping build you need to add an app_id.txt file in the .exe directory (not the first launcher exe, the actual .exe) that contains your appid or in the case of testing, the default 480 one.

                  You can package in development to test without doing that if you wish.

                  Without the app_id.txt file shipping builds won't work correctly with the Steam Subsystem.


                  Consider supporting me on patreon

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

                  Comment


                    Originally posted by mordentral View Post
                    To use it in a shipping build you need to add an app_id.txt file in the .exe directory (not the first launcher exe, the actual .exe) that contains your appid or in the case of testing, the default 480 one.

                    You can package in development to test without doing that if you wish.

                    Without the app_id.txt file shipping builds won't work correctly with the Steam Subsystem.
                    thanks alot that worked

                    Comment


                      Hi,

                      I have a similar problem as the last one.
                      I find sessions in editor, but if I package my project and give it to a friend it mostly doesn´t find a session.
                      Sometimes it finds something, but not often.
                      Does somebody know this problem and maybe how to fix it?

                      Thanks for your help.

                      Comment


                        Hi mordentral,

                        First, let me thank you for this plugin! Great stuff you got here.

                        I tried it yesterday and I have a question regarding the "create session" node. When I use it and create a session on a dedicated server (then LAN & DEDICATED SERVER booleans are checked on the node) and set the max players to 3, I can see the session and connect the 3 first players to the server. But when a 4th instance of the game looks for the session using the "Find sessions" node, it doesn't find it. It's a problem for me because let's say I have a list of 20 official servers, I want players to be able to see the full list of servers even if they are full.

                        Did I miss something in the configuration/creation of the session, is it linked to your plugin or is it OSS related (I'm using Null OSS and activated both of your plugins - steam and not steam)

                        Thank you,
                        SacriPan!

                        EDIT: Running 4.16 engine/plugin
                        Last edited by SacriPan; 08-17-2017, 03:34 AM.

                        Comment


                          Originally posted by SacriPan View Post
                          Hi mordentral,

                          First, let me thank you for this plugin! Great stuff you got here.

                          I tried it yesterday and I have a question regarding the "create session" node. When I use it and create a session on a dedicated server (then LAN & DEDICATED SERVER booleans are checked on the node) and set the max players to 3, I can see the session and connect the 3 first players to the server. But when a 4th instance of the game looks for the session using the "Find sessions" node, it doesn't find it. It's a problem for me because let's say I have a list of 20 official servers, I want players to be able to see the full list of servers even if they are full.

                          Did I miss something in the configuration/creation of the session, is it linked to your plugin or is it OSS related (I'm using Null OSS and activated both of your plugins - steam and not steam)

                          Thank you,
                          SacriPan!

                          EDIT: Running 4.16 engine/plugin

                          I don't do any filtering of full servers anywhere, its OSS related, there is still a ton of things that could be improved with the standard subsystems.....

                          For instance, since you are using the NULL(LAN) subsystem it has this in its code

                          Code:
                          		// Don't respond to query if the session is not a joinable LAN match.
                          		if (Session && IsSessionJoinable(*Session))
                          And IsSessionJoinable is defined with

                          Code:
                          	const bool bAreSpacesAvailable = Session.NumOpenPublicConnections > 0;
                          
                          	// LAN matches don't care about private connections / invites.
                          	// LAN matches don't care about presence information.
                          	return bIsAdvertised && bJoinableFromProgress && bAreSpacesAvailable;
                          So it throws out all results from servers that are full. Literally changing that single line would fix it for you. Its not even Virtual though so you would have to either directly edit the source, or copy the NULL subsystem module and make changes.


                          Consider supporting me on patreon

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

                          Comment


                            Originally posted by JJGG117
                            I would love to know this too
                            How do we add full servers to the findGame list?
                            The Bool on FindGame is useless?
                            Also,
                            GetCurrentPlayers from SessionResult DOES NOT return splitscreen players! How do I achieve this?
                            NumNetworkPlayers returns the correct value. But UpdateSession can't write current players!
                            That is because GetNumPlayers for a session is autocalculated from CurrentPlayers and Openslots. I can't force the subsystem to use my values remotely.

                            You can add a new custom flag (ExtraSettings) for cPlyrs and store it there instead.


                            Also its not technically incorrect as is, its listed the number of NETWORK players, not all of which will have multiple local players.


                            Consider supporting me on patreon

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

                            Comment


                              OK, thanks for the answer.

                              Actually, I just thought of a workaround for the Online servers. There will always be a fixed amount of official servers, and they will always have the same name over time, so I'll just browse the session results and add the ones that are missing and set the player count to the maximum. I'll throw in a bogus ping, but who cares, nobody will be able to connect to it anyway ^^
                              I guess I'll have to accept this issue for LAN mode, but since the players usually set enough slots upon server creation so their friends can jump in, it shouldn't be a problem.

                              Thanks again for all the work you've done for this community!

                              Cheers,
                              SacriPan!
                              Last edited by SacriPan; 08-18-2017, 12:26 PM.

                              Comment


                                Originally posted by SacriPan View Post
                                OK, thanks for the answer.

                                Actually, I just thought of a workaround for the Online servers. There will always be a fixed amount of official servers, and they will always have the same name over time, so I'll just browse the session results and add the ones that are missing and set the player count to the maximum. I'll throw in a bogus ping, but who cares, nobody will be able to connect to it anyway ^^
                                I guess I'll have to accept this issue for LAN mode, but since the players usually set enough slots upon server creation so their friends can jump in, it shouldn't be a problem.

                                Thanks again for all the work you've done for this community!

                                Cheers,
                                SacriPan!
                                Since you are doing a source build anyway for dedicated servers you should be able to literally just find that line in OnlineSubsystemNullInterface and replace

                                Code:
                                return bIsAdvertised && bJoinableFromProgress && bAreSpacesAvailable;
                                with

                                Code:
                                return bIsAdvertised && bJoinableFromProgress;// && bAreSpacesAvailable;
                                and it would return full servers as well for you.

                                You have to build from source anyway for true dedicated servers, and the check is server side for whether to respond to the information query or not.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X