Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Hi mordentral,

    I'm setting up a steam multiplayer project and tried to replicate the steam avatar of a player via BP. This doesn't seem to work and it only gets displayed on the server, not on the client. To verify that my method generally works, I tried to replicate a simple color the same way and this works. Is there any chance to replicate avatars and use then as texture parameters in dynamic materials?

    Here are some screenshots:

    1. Server (standalone, builded version)
    Click image for larger version

Name:	server.jpg
Views:	1
Size:	197.5 KB
ID:	1099489

    2. Client (standalone, builded version)
    Click image for larger version

Name:	client.jpg
Views:	1
Size:	201.2 KB
ID:	1099490

    3. Game Mode
    Click image for larger version

Name:	gamemode.jpg
Views:	1
Size:	57.5 KB
ID:	1099491

    4. Repnotify in Character (Color --> Works on client and server)
    Click image for larger version

Name:	repnotify02.jpg
Views:	1
Size:	52.0 KB
ID:	1099493

    5. Repnotify in Character (Texture2D --> Does not work on client)
    Click image for larger version

Name:	repnotify_01.jpg
Views:	1
Size:	48.7 KB
ID:	1099492
    Daniel Mihajlovic |Freelance 3D Artist | Showreel

    Comment


      Are you sure you want to replicate the avatar? I would think that you should have the client retrieve the avatar themselves instead.

      Also according to this: https://docs.unrealengine.com/latest...ectReferences/

      If the target is not a Component or Actor then it can't have a reference to it replicated over the network unless it is loaded from a compiled package. The avatars are created on the fly as transiant references and are not loaded so they aren't able to be replicated.

      I mean you could pass the data directly through an RPC but I really don't see why you wouldn't just have the player load it themselves client side. Also textures aren't an array of FColors, they store an array of Bytes that hold the color data.


      Consider supporting me on patreon

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

      Comment


        Originally posted by mordentral View Post
        Hmm, I used my home comp for the last fix and didn't notice that it was still 4.10.1. I'm recompiling and uploading now.

        *Edit* Uploaded, should work for you now, but you'll probably want to install visual studio anyway even if you don't code.
        Sorry,It doesn't work.

        Maybe this problem is my ue4,

        I will re-download engine,I'm in fairly using limit now,my internet 16mbps but if I download +50gb data,it downs 3mbps and my data usage is +110gb

        Very very good system!!!

        Comment


          Originally posted by SoloWarrior View Post
          Sorry,It doesn't work.

          Maybe this problem is my ue4,

          I will re-download engine,I'm in fairly using limit now,my internet 16mbps but if I download +50gb data,it downs 3mbps and my data usage is +110gb

          Very very good system!!!
          Well you said you made a custom compile of the engine, you will definitely have compatibility issues of binary releases of plugins with that. In fact if you are custom compiling the engine then uninstalling visual studio likely makes it impossible for you to use plugins at all as they WILL have to recompile against your version and without the compiler then they can't do that.

          The plugin is built against a set engine version and when loading a plugin the engine will not attempt to load one built in a different version without compiling it, pretty sure UE4 generates a build ID when compiled.

          Also for the record, I wouldn't suggest that anyone use the engine without the compiler installed, even if they want to work blueprints only and are using official builds. That way if you ever have a need for a c++ class or you want to incorporate a tutorial or you want to re-compile a plugin that hasn't been specifically built for your version then it handles it.
          Last edited by mordentral; 01-28-2016, 11:09 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
            Are you sure you want to replicate the avatar? I would think that you should have the client retrieve the avatar themselves instead.

            Also according to this: https://docs.unrealengine.com/latest...ectReferences/

            If the target is not a Component or Actor then it can't have a reference to it replicated over the network unless it is loaded from a compiled package. The avatars are created on the fly as transiant references and are not loaded so they aren't able to be replicated.

            I mean you could pass the data directly through an RPC but I really don't see why you wouldn't just have the player load it themselves client side. Also textures aren't an array of FColors, they store an array of Bytes that hold the color data.
            Thanks for clarification
            I initially tried to get a player's steam information in the game mode on "Post Login" and store it in a struct (name, avatar, uniqueNetID) for later usage. For example in a lobby where the server distributes all the information about the current players to each machine so that they can display the corresponding names of the active players as well as their avatars.

            If I understand right, the best way to do this would be to distribute an array of all participating player controllers to each client and they get the steam avatars locally with the get friend avatar function?

            Best regards,
            Daniel
            Daniel Mihajlovic |Freelance 3D Artist | Showreel

            Comment


              Originally posted by polygon View Post
              Thanks for clarification
              I initially tried to get a player's steam information in the game mode on "Post Login" and store it in a struct (name, avatar, uniqueNetID) for later usage. For example in a lobby where the server distributes all the information about the current players to each machine so that they can display the corresponding names of the active players as well as their avatars.

              If I understand right, the best way to do this would be to distribute an array of all participating player controllers to each client and they get the steam avatars locally with the get friend avatar function?

              Best regards,
              Daniel
              Well all players already have an accessible array of player controllers in the session in GameState->PlayerArray that holds player states that include their UniqueNetID. You would just have to tell the client which players they should be interested in if it isn't all of them (ie: teammates) and have them use that.

              I actually recently corrected an oversight by request for the plugin and added a GetUniqueNetIdFromPlayerState() node.


              Consider supporting me on patreon

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

              Comment


                Having a MAJOR issue with getting steam to work with a dedicated server. i have the dedi server running on another machine in my network, says its listening on the port and such but can not connect to it to save my life. Does this plugin work with dedicated servers with no player controller?

                Comment


                  Originally posted by Vindomire View Post
                  Having a MAJOR issue with getting steam to work with a dedicated server. i have the dedi server running on another machine in my network, says its listening on the port and such but can not connect to it to save my life. Does this plugin work with dedicated servers with no player controller?
                  Un-Check "Use Presence", but yeah steam dedicated servers are a little messy to set up right now.
                  Last edited by mordentral; 02-12-2016, 09:43 AM.


                  Consider supporting me on patreon

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

                  Comment


                    is there full documentation on this? what all the functions do and exactly what the variables might mean? for instance there is this presence check boxes i dont quite understand what they do and the is dedicated server. If i create a session in my dedicated server it usually conflicts with the session it seems to start automatically.
                    Last edited by Vindomire; 02-09-2016, 09:50 PM.

                    Comment


                      Originally posted by Vindomire View Post
                      is there full documentation on this? what all the functions do and exactly what the variables might mean? for instance there is this presence check boxes i dont quite understand what they do and the is dedicated server. If i create a session in my dedicated server it usually conflicts with the session it seems to start automatically.
                      Presence advertises information about the session to the online subsystem, the dedicated server check nulls out passing in a player controller as a dedicated server doesn't have one.

                      There really isn't a comprehensive documentation for this plugin as I originally intended for it to be a temporary bandage on UE4's blueprintable session access and its going on 7 months now with no significant changes to the default engine implementations. It really needs documentation at this point but I have been really busy with a more important project and haven't had time. I've seen people suffering through using it without easy explanations, i'll try and get something together.

                      For dedicated servers I haven't used the plugin myself for them yet and have just incorporated things that people that were doing it asked for.


                      Consider supporting me on patreon

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

                      Comment


                        your doing it on your own time at no profit so i appreciate what you have done and in no way am complaining about the lack of documentation, was just hoping there was some. As far as epic, i was getting the impression the session system wasnt any sort of priority in blueprint. i tried writting my own c++ stuff for dedicated server but was having tons of trouble understanding teh steam backend, what some things were for. what needed to be called when before something else would work, so your work here is great. Im just at a frustration point where i will try to greenlight my game so i built my account system bassed off steam IDs and now i cant even get into a server to test replication or any features whatsoever lol.

                        if anyone has this workign in dedicated i would love to talk to them, figure out how, and when i get it working i would have no problems doing a tutorial video of how to make it work. I just hate to spend weeks stumbling in the dark and hope i find the right path.

                        Comment


                          Click image for larger version

Name:	5684d99138.png
Views:	1
Size:	81.3 KB
ID:	1100281
                          maybe im doing this wrong... i put this in my game session which is called by the gamemode. the boolean makes it run only once or else it just creates a session over and over and over every time it loads the level. the issue is even with dedicated server checked im still getting invalid player state.

                          Click image for larger version

Name:	ca0cf7a3a4.png
Views:	1
Size:	31.8 KB
ID:	1100282
                          then further down after it reloads the level:
                          Click image for larger version

Name:	10d34e599a.png
Views:	1
Size:	13.8 KB
ID:	1100285

                          finding no sessions:
                          Click image for larger version

Name:	44fd8d66e5.jpg
Views:	1
Size:	17.9 KB
ID:	1100283

                          find sessions:
                          Click image for larger version

Name:	62a1975391.png
Views:	1
Size:	276.6 KB
ID:	1100284

                          Obviously im doing something wrong...
                          Last edited by Vindomire; 02-10-2016, 09:34 PM.

                          Comment


                            Well for one, you are running the server as LAN and when searching for servers you are not checking "USE LAN"


                            Consider supporting me on patreon

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

                            Comment


                              i tried it both ways.... ive made small changes and recompiled about 10 times tonight...

                              Comment


                                if i use presence on the server it is crashing saying unsupported video card as soon as it tries to create the session. if i dont use presence i get:
                                Click image for larger version

Name:	ea12a3cd91.png
Views:	2
Size:	22.3 KB
ID:	1100383
                                Click image for larger version

Name:	070198b063.png
Views:	1
Size:	108.8 KB
ID:	1100384
                                either way no way to join the dedicated server. this just a pipe dream im not going to make work?

                                Comment

                                Working...
                                X