Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Yeah I noted before that exposing presence would probably be something I should do at some point, uploading a new build where I expose it (and every other missing setting that I had defaulted to a value), the create advanced sessions node is a monster of booleans now but it has them all on it.

    Upload will be live when the build is complete.


    *Edit* Build is uploaded
    Last edited by mordentral; 12-21-2015, 10:03 AM.


    Consider supporting me on patreon

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

    Comment


      Originally posted by mordentral View Post
      Yeah I noted before that exposing presence would probably be something I should do at some point, uploading a new build where I expose it (and every other missing setting that I had defaulted to a value), the create advanced sessions node is a monster of booleans now but it has them all on it.

      Upload will be live when the build is complete.


      *Edit* Build is uploaded

      It's the classic "It's better to have it than not need it, than need it and not have it", after all this is ADVANCED sessions plugin, so it's better to have all the options exposed. We're almost there I believe and the session now created on the dedicated server, however I'm running into some issues finding the now created session. I simply cannot see it when i find session :s.

      In the dedicated server log I'm getting some warnings which may or may not be preventing the session from being advertised to the master server. These were...

      Code:
      [2015.12.21-22.01.06:765][ 39]LogOnline:Warning: STEAM: Server setting ,SESSIONFLAGS:651 overflows Steam SetGameTags call
      [2015.12.21-22.01.06:766][ 39]LogScript:Warning: StartSessionCallback - Invalid player state

      This was with the older plugin where I just changed bUsesPresence from true to false. The newer version with the correct settings checked produces the same following warnings and I am still unable to find the created session. I should note that the SteamNetDriver does initialize and the integration seems to work, the server detects if I close the Steam client, so the connection is there. The session does also create (it doesn't fail). I am completely at a loss as to why i cannot find the created session :s

      edit: I should add that I can 'create' a session as the client and am able to find said session over the net. The dedicated server is where the problem seems to be.

      Comment


        Thanks! Works perfectly. It is unbelieveable that Epic didn't include Session filtering in this engine! One of the most important thing in whole multiplayer. Multiplayer with different maps or game modes was impossible to create without this.

        Comment


          Originally posted by Chaoss View Post
          It's the classic "It's better to have it than not need it, than need it and not have it", after all this is ADVANCED sessions plugin, so it's better to have all the options exposed. We're almost there I believe and the session now created on the dedicated server, however I'm running into some issues finding the now created session. I simply cannot see it when i find session :s.

          In the dedicated server log I'm getting some warnings which may or may not be preventing the session from being advertised to the master server. These were...

          Code:
          [2015.12.21-22.01.06:765][ 39]LogOnline:Warning: STEAM: Server setting ,SESSIONFLAGS:651 overflows Steam SetGameTags call
          [2015.12.21-22.01.06:766][ 39]LogScript:Warning: StartSessionCallback - Invalid player state

          This was with the older plugin where I just changed bUsesPresence from true to false. The newer version with the correct settings checked produces the same following warnings and I am still unable to find the created session. I should note that the SteamNetDriver does initialize and the integration seems to work, the server detects if I close the Steam client, so the connection is there. The session does also create (it doesn't fail). I am completely at a loss as to why i cannot find the created session :s

          edit: I should add that I can 'create' a session as the client and am able to find said session over the net. The dedicated server is where the problem seems to be.
          Appears to be this: https://answers.unrealengine.com/que...xceed-k-c.html

          I don't think i can fix it through a plugin, it is a hard limit of 128 characters max for the session data string and that includes the owning player id, all of the text based settings, and the optional ones you add in.

          Code:
          	if (GameTagsString.Len() + NewKey.Len() < k_cbMaxGameServerTags (128))
          		{
          			GameTagsString += NewKey;
          		}
          		else
          		{
          			UE_LOG_ONLINE(Warning, TEXT("Server setting %s overflows Steam SetGameTags call"), *NewKey);
          		}
          That is the problem there, if it overflows it doesn't pass in the remaining keys and just sends half formed. The only way I can think of getting around that with a plugin would be to copy the steam subsystem and re-write the offending section to use smaller key strings and not pass in un-used ones, I have gone into this from the beginning trying to avoid re-writing any of the steam subsystem as this is intended to compliment their implementation, not override it. The most obvious fix would be removing that like 20 character long server name that is always generated automatically off of the player ID to make more space in the string but that is hardcoded into the subsystem.


          Consider supporting me on patreon

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

          Comment


            Hello! I implemented a proximity voice system and I would like to share with you.
            I implemented this system with the help of "Victory Plugin".

            To implement this system needs to be done:
            1. Install in your project "Victory Plugin"
            2. Create Sound Class (http://imgur.com/xXYChFe)
            3. In Project Settings set this class (http://imgur.com/cYGADj0)
            4. Make a chart like mine (http://imgur.com/AaIus84 and http://imgur.com/7L08ByT)

            And
            Source: https://github.com/thedark174/ProximityVoipProject

            P.S: This system is certainly not perfect and needs some work
            P.S.S: And I apologize for bad English
            Last edited by thedark174; 03-05-2016, 04:52 PM.

            Comment


              Originally posted by thedark174 View Post
              Hello! I implemented a proximity voice system and I would like to share with you.
              I implemented this system with the help of "Victory Plugin".

              To implement this system needs to be done:
              1. Install in your project "Victory Plugin"
              2. Create Sound Class (http://imgur.com/xXYChFe)
              3. In Project Settings set this class (http://imgur.com/cYGADj0)
              4. Make a chart like mine (http://imgur.com/AaIus84 and http://imgur.com/7L08ByT)

              And
              Source: https://mega.nz/#!rcJ13b6J!YWoY3YIhF...XtpU-gh1D3MR7w
              Package Project: https://mega.nz/#!GUoziLLa!Y3X7yfPLN...WRiqPmu1joZHl4

              P.S: This system is certainly not perfect and needs some work
              P.S.S: And I apologize for bad English
              Nice, I just wish per actor volume was possible with the current sound system. Good to see you figured out how to use the voice system.


              Consider supporting me on patreon

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

              Comment


                Hello! First of all, like many others did before, i have to tell you that you did a great job so far with this plugin. Exactly what i was looking for

                I now have two questions:

                1. what are all the (new) bool-options in the "createAdvancedSession"-Node for that came with the 4.10-version?

                2. I have a game with 2 different races (each one with 10 Players) fighting each other. To control, that none of these teams get more than 10 players, i made two session-property-integer, that count the current amount of players per race, so that, if a session already has 10 players of race A, no more player of this race will find that session. But of course, i have to update one of this integers everytime a player joins/leaves the session. And therefore i have two other questions: is there already an event implemented, that fires, when a player joins or leaves a session? And can a client use the "UpdateSession"-Node or can this one just be called by the server?

                Comment


                  Originally posted by FriendlyFire1 View Post
                  Hello! First of all, like many others did before, i have to tell you that you did a great job so far with this plugin. Exactly what i was looking for

                  I now have two questions:

                  1. what are all the (new) bool-options in the "createAdvancedSession"-Node for that came with the 4.10-version?

                  2. I have a game with 2 different races (each one with 10 Players) fighting each other. To control, that none of these teams get more than 10 players, i made two session-property-integer, that count the current amount of players per race, so that, if a session already has 10 players of race A, no more player of this race will find that session. But of course, i have to update one of this integers everytime a player joins/leaves the session. And therefore i have two other questions: is there already an event implemented, that fires, when a player joins or leaves a session? And can a client use the "UpdateSession"-Node or can this one just be called by the server?
                  Server only for the update session node, but there is a built in event for new players. Pretty sure it is "PostLogin" in the GameMode, just bind to that and update the session as needed. The new bool options are for advanced use, they allow you to turn off advertising the server and a few other things, unless you are running a dedicated server I would leave them default.


                  Consider supporting me on patreon

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

                  Comment


                    Hello - First let me say this is a great plugin and thanks so much for making this public and free!

                    I have a request. This may not be the place/plugin for this but I'm gonna toss it out there just in case. I am currently trying to implement passing arguments to my server on client connect. I am following the tutorial here. The only thing I really need is to override the InitNewPlayer in GameMode. I can do this but it sure would be great if this function were exposed to BP. Would that be something you would consider adding to this plugin or is that out of scope for your feature set?

                    Many thanks for considering!
                    Jake

                    Comment


                      Originally posted by antsonthetree View Post
                      Hello - First let me say this is a great plugin and thanks so much for making this public and free!

                      I have a request. This may not be the place/plugin for this but I'm gonna toss it out there just in case. I am currently trying to implement passing arguments to my server on client connect. I am following the tutorial here. The only thing I really need is to override the InitNewPlayer in GameMode. I can do this but it sure would be great if this function were exposed to BP. Would that be something you would consider adding to this plugin or is that out of scope for your feature set?

                      Many thanks for considering!
                      Jake
                      It's possible to add but I don't think it is a good fit for this plugin. Mostly because I don't want to bloat the classes too much and doing it correctly would require providing overrides for the Playercontroller AND the gamemode. Also the classes would be mostly empty as the functions required are only a few lines long.

                      There also is very rarely ever a case where I can see this being required, as you generally can use an RPC after connecting to retrieve additional information and passing parameters in with the connection string is probably a sign of bad game flow design more than anything else.


                      Consider supporting me on patreon

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

                      Comment


                        Hi mordentral - thanks for the quick reply and I do understand your concerns. Fair enough. Out of curiosity what would need to be changed in the PlayerController to do it correctly? You can PM that if it is too off topic.

                        Comment


                          You probably don't need to as you sound like you are manually calling open on an IP and can tack them on. However for a plugin it would be far cleaner to have a string array in the player controller that is appended to the connection string to pass on.


                          Consider supporting me on patreon

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

                          Comment


                            Ok I see - yes I'm just manually adding it to my open call. Thanks for the info!

                            Comment


                              Is there a way to make a group vice chat like guild has own chat channels when they make or similar ?

                              Comment


                                Originally posted by demonith88 View Post
                                Is there a way to make a group vice chat like guild has own chat channels when they make or similar ?
                                With the engines current sound system (they are overhauling it though) you would have to manage registering and de-registering people to achieve something close to that.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X