Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Originally posted by LatFoued View Post
    Hello mordentral,

    First of all, thanks for the amazing utility and work that went in to the plugin

    Now, I am trying to have the loading of avatars a smooth process and I just saw after testing that (as described in the tooltip of the function) avatars aren't always ready when requested. So, I saw that you had a section in your function for an Async return, but nothing is implemented there. I was thinking of having my own setup for an async loading with a delegate but wanted to know if you had any pointers for me seeing that you have more experience with Steamworks.

    Thank you
    You would have to bind to the "AvatarImageLoaded_t" callback in the steam API and translate the CSteamID into a FSteamUniqueNetID for comparison. There wasn't a good place to put a callback like that without forcing the use of a manager or class on the end user so I left it up for manual polling where it will return AsyncLoading if the image isn't ready yet. I didn't want it to be an actual latent node as people looping over it for a large list could cause issues then.


    Consider supporting me on patreon

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

    Comment


      Originally posted by TheFlow3k View Post
      Thanks a lot. I thought like many BP nodes with targets it will use self as default. But you are right! thank you!
      Warning or error message on compile would be nice of ue4 editor. Seems to make no sense to plug nothing into it.
      There is a large list of player states, and you aren't calling that from a player state anyway so a "self" reference wouldn't make much sense there regardless.


      Consider supporting me on patreon

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

      Comment


        Originally posted by mordentral View Post

        You would have to bind to the "AvatarImageLoaded_t" callback in the steam API and translate the CSteamID into a FSteamUniqueNetID for comparison. There wasn't a good place to put a callback like that without forcing the use of a manager or class on the end user so I left it up for manual polling where it will return AsyncLoading if the image isn't ready yet. I didn't want it to be an actual latent node as people looping over it for a large list could cause issues then.
        Thanks, I think I'll build some sort of Async loader for them in combination with your function.

        On another note, have you experienced problems using Steam's DRM with the plugin or Multiplayer? I get the error "Executables with a TLS callback can only be wrapped in compatibility mode"

        Thanks

        Comment


          Originally posted by mordentral View Post
          .. you aren't calling that from a player state anyway so a "self" reference wouldn't make much sense there regardless.
          In my example it was simply called in player state. So, here the "self" reference work of course. Which also was my solution, to plug self reference into it.

          Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

          Comment


            Any chance of getting a "ping" before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
            Anyone get it run to get pings from servers to list pings beside the available server list?
            Using steam as online subsystem
            Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

            Comment


              Originally posted by TheFlow3k View Post
              Any chance of getting a "ping" before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
              Anyone get it run to get pings from servers to list pings beside the available server list?
              Using steam as online subsystem
              Implement the steam online authentication setup and you should have lobby ping

              https://docs.unrealengine.com/en-US/...eam/index.html


              Consider supporting me on patreon

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

              Comment


                Hi when i package my project i cant start my game if I disable the plugins it works but only in version 4.25 please helpn btw it works in PIE

                Comment


                  Originally posted by Skiddybison5924 View Post
                  Hi when i package my project i cant start my game if I disable the plugins it works but only in version 4.25 please helpn btw it works in PIE
                  Generate visual studio source files and compile your project before you can package it with plugins that require C++ usage. Right click an asset in the editor and select 'show in explorer'. Locate your main project file, right click it and select 'generate visual studio source files'. You may need to install additional Visual Studio components.

                  Comment


                    Originally posted by TheFlow3k View Post
                    Any chance of getting a "ping" before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
                    Anyone get it run to get pings from servers to list pings beside the available server list?
                    Using steam as online subsystem
                    I had this same issue recently and I found that UE4's newer Steam Sockets plugin fixes the ping issue. Now my searched lobbies show the correct ping. You'll need to modify your ini to use Steam Sockets instead though. It's surprisingly simple. I've had no issues with it.

                    Comment


                      How to setup advanced voice chat?

                      Comment


                        Hello, I look for a way to make a listen server not able to be find on find session anymore, after the maingame on the server-session is started.

                        I think I can make use of advanced sessions plugin here, right?
                        I see "filter" when investigating the nodes Advances Sessions bring with. I see "filter" in "find Sessions Advanced" and also on "Create Session". Can I change the filter also with blueprint in a already running game? That would be good, so I can change a filter on running server so the server will be hidden on "find sessions".

                        But I see no blueprint node for change the applied filter when the server is running. Is that possible? Or any other way to set a already running server "hidden" for next Clients who do a "Find Sessions Advanced"?
                        Thanks a lot

                        Edit: I think the correct term I should use is "change the server to not advertise the server anymore when game is running". And did not see the node "Update Session". Is update sessions the one I can use to update a session on already running multiplayer server (without people get disconnected or other side effects)?
                        Last edited by TheFlow3k; 10-21-2020, 06:41 PM.
                        Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

                        Comment


                          Originally posted by TheFlow3k View Post
                          Hello, I look for a way to make a listen server not able to be find on find session anymore, after the maingame on the server-session is started.

                          I think I can make use of advanced sessions plugin here, right?
                          I see "filter" when investigating the nodes Advances Sessions bring with. I see "filter" in "find Sessions Advanced" and also on "Create Session". Can I change the filter also with blueprint in a already running game? That would be good, so I can change a filter on running server so the server will be hidden on "find sessions".

                          But I see no blueprint node for change the applied filter when the server is running. Is that possible? Or any other way to set a already running server "hidden" for next Clients who do a "Find Sessions Advanced"?
                          Thanks a lot

                          Edit: I think the correct term I should use is "change the server to not advertise the server anymore when game is running". And did not see the node "Update Session". Is update sessions the one I can use to update a session on already running multiplayer server (without people get disconnected or other side effects)?
                          Yes it just updates the sessions information, you can use it for that.


                          Consider supporting me on patreon

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

                          Comment


                            Originally posted by mordentral View Post

                            Yes it just updates the sessions information, you can use it for that.
                            Thanks mordentral, I just wanted to make sure. I dig deeper into your plugin yesterday night and want to say thank you. I have integrated it in my game project to make use of custom servername and other things which default ue4 subsystem for steam is not providing. Works nicely. Thanks a lot for your effort you put input to expose things to BP!

                            One question I have. I mange to get the Session result and use it with "get extra settings" and then pass it to every node (bool, string, byte) to get the Property by using a "Get Session Property **". At the moment, I pass the "Session result" and access is several times with "get extra settings" -> "Get Session Property". I just want to know, are all properties "saved locally" into the "session result" (or better say into session result array) after the "find sessions advanced" so the "get extra settings" -> "Get Session Property **" are just "locally executed" functions. Or are the "Session results" just links to the real online session and "get extra settings" and also each "Get Session Property **" is doing a Request to the online session to get the current value again?
                            Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

                            Comment


                              Originally posted by TheFlow3k View Post

                              Thanks mordentral, I just wanted to make sure. I dig deeper into your plugin yesterday night and want to say thank you. I have integrated it in my game project to make use of custom servername and other things which default ue4 subsystem for steam is not providing. Works nicely. Thanks a lot for your effort you put input to expose things to BP!

                              One question I have. I mange to get the Session result and use it with "get extra settings" and then pass it to every node (bool, string, byte) to get the Property by using a "Get Session Property **". At the moment, I pass the "Session result" and access is several times with "get extra settings" -> "Get Session Property". I just want to know, are all properties "saved locally" into the "session result" (or better say into session result array) after the "find sessions advanced" so the "get extra settings" -> "Get Session Property **" are just "locally executed" functions. Or are the "Session results" just links to the real online session and "get extra settings" and also each "Get Session Property **" is doing a Request to the online session to get the current value again?
                              Gettting a session property takes a SessionResult as an input, so it is a local check.


                              Consider supporting me on patreon

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

                              Comment


                                At the moment I face sporadically problems with client player state. Sometimes after running`a steam game and ServerTravel from Lobby-Level to Gameplay-Level, the Client get not player state assigned. I see it clearly in the logs because the client who has no playerstate fires not the begin play of playerstate and also when check for valid playerstate in player controller, it get the result player state is not valid. Also seconds after servertravel to new map.
                                Somebody had a "random" issue like that before?
                                It seems working fine on my local machine on stand alone testing in two instances. But get the strange behavior often after publish the game to steam and then use real steam clients and do the servertravel. :-(
                                Next Game: Regain Earth: First Strike - A co-op multiplayer Action Shooter Game. Website TwitterYouTube RedditSteam

                                Comment

                                Working...
                                X