Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Originally posted by poke1103 View Post
    I still don't get it lol
    Extra Settings for create session, add a setting for "NP" and use UpdateSession to update that value over time.

    When finding sessions you can retrieve the extra setting with the player count, like the example blueprint shows.


    Consider supporting me on patreon

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

    Comment


      Hey, I so I am working on a OnlineSubsystem for PlayFab, and all has gone well. For interfacing with blueprints I have simply used your plugin, it's great! My problem is that for Login, the PlayerState's UniqueId variable needs to be set. The OnlineSubsystem can't do this, it shouldn't interface with the world. What I added personally for your LoginUserCallbackProxy is this:
      Code:
      if (PlayerControllerWeakPtr->PlayerState->UniqueId->ToString() != UserId.ToString())
      {
      	PlayerControllerWeakPtr->PlayerState->SetUniqueId(UserId.AsShared());
      }
      If you have a better option, I'd love to hear it!

      Comment


        Originally posted by MaximusJobs View Post
        Hey, I so I am working on a OnlineSubsystem for PlayFab, and all has gone well. For interfacing with blueprints I have simply used your plugin, it's great! My problem is that for Login, the PlayerState's UniqueId variable needs to be set. The OnlineSubsystem can't do this, it shouldn't interface with the world. What I added personally for your LoginUserCallbackProxy is this:
        Code:
        if (PlayerControllerWeakPtr->PlayerState->UniqueId->ToString() != UserId.ToString())
        {
        	PlayerControllerWeakPtr->PlayerState->SetUniqueId(UserId.AsShared());
        }
        If you have a better option, I'd love to hear it!
        Yeah, you also need to make an OnlineIdentityInterface for your subsystem, it handles all of the login / logout and subsystem identity information. Specifically the online engine interface sets the players uniquenetid from FOnlineIdentity::GetUniquePlayerId(int32 LocalUserNum) const.

        There are also delegates called from the Login / AutoLogin functions in the identity interface that return a valid unique net ID.

        That would be the correct way of setting it up.


        Consider supporting me on patreon

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

        Comment


          Sorry, I was trying to correct myself afterwards but had to wait for moderator review :/ So let me try this again real quick.
          I have implemented the OnlineIdentityInterface, however, that doesn't touch the PlayerState. I can't directly set the PlayerState's UniqueId.
          As reference, here's Unreal Tournament:
          https://github.com/EpicGames/UnrealT...ayer.cpp#L1017
          Lines 1017-1039
          This is directly after a successful login with the IdentityInterface, they set the PlayerState.
          If you have a better option, I'd love to hear it!

          Comment


            Originally posted by MaximusJobs View Post
            Sorry, I was trying to correct myself afterwards but had to wait for moderator review :/ So let me try this again real quick.
            I have implemented the OnlineIdentityInterface, however, that doesn't touch the PlayerState. I can't directly set the PlayerState's UniqueId.
            As reference, here's Unreal Tournament:
            https://github.com/EpicGames/UnrealT...ayer.cpp#L1017
            Lines 1017-1039
            This is directly after a successful login with the IdentityInterface, they set the PlayerState.
            If you have a better option, I'd love to hear it!
            That looks like its just the callback for login that they implemented in their game code: IE: OnlineIdentity: TriggerOnLoginCompleteDelegates(LocalUserNum, true, *UniqueNetId, TEXT(""));

            If you want something like a delayed login UI then you'll want to implement IOnlineExternalUI so that the ShowLoginUICallbackProxy node works.

            It has this on the OnShowLoginUICompleted delegate:

            Code:
            	if (PlayerController != nullptr)
            	{
            		ULocalPlayer* LocalPlayer = PlayerController->GetLocalPlayer();
            		if (LocalPlayer != nullptr)
            		{
            			LocalPlayer->SetCachedUniqueNetId(UniqueId);
            		}
            		
            		if (PlayerController->PlayerState != nullptr)
            		{
            			PlayerController->PlayerState->SetUniqueId(UniqueId);
            		}
            	}


            *Edit* If you don't need a delayed login then on map load the local player gets the uniquenetid from the identity interface after it creates the player controller. That is how steam works, it taps into steam to get your current status so it already has a uniquenetid ready.
            Last edited by mordentral; 04-11-2017, 01:54 PM.


            Consider supporting me on patreon

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

            Comment


              I see, I hadn't caught that since I had avoided using the IOnlineExternalUI... If you know the best way to implement that I'd appreciate a little guidance on that front.

              I'll see what I can dig up for that... Guess I'll have to look into Slate next.

              Thanks for the help!

              *Edit* Also want to try a new request, can you change the Login proxy to allow users to specify their own AuthType for the AccountCreds, then if empty set it to the Identity->GetAuthType(), this way users of my Subsystem can specify which type of authentication they are providing? Thanks!
              Last edited by Montana Tuska; 04-11-2017, 03:13 PM. Reason: New request

              Comment


                I am trying to implement voice chat and I can't seem to get it working quite right.

                I have inputted the correct lines into DefaultEngine.ini and DefaultGame.ini and am using Steam. The voice chat works when everyone joins the lobby, but then after a server travel to the actual game/map, the voice chat stops working and no matter what I do, push to talk, start networked voice, register local talker, etc, the voice chat never seems to come back, any ideas on how to fix this?

                Thanks for the help and nice work with the plugin!

                Comment


                  Originally posted by MaximusJobs View Post
                  I see, I hadn't caught that since I had avoided using the IOnlineExternalUI... If you know the best way to implement that I'd appreciate a little guidance on that front.

                  I'll see what I can dig up for that... Guess I'll have to look into Slate next.

                  Thanks for the help!

                  *Edit* Also want to try a new request, can you change the Login proxy to allow users to specify their own AuthType for the AccountCreds, then if empty set it to the Identity->GetAuthType(), this way users of my Subsystem can specify which type of authentication they are providing? Thanks!
                  You might want to look into just adding some custom nodes to handle the subsystem, I am not familer with how that service works but as a plugin there is nothing wrong with adding dedicated login / logout nodes for it. As long as the core is still a subsystem / identity interface.

                  If the service doesn't already have an external logic UI then there is no point in using that node and having to make your own, you would be better off exposing the login system to blueprint so that the end user can make their own login menu.


                  Consider supporting me on patreon

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

                  Comment


                    Originally posted by nicholasbagamian View Post
                    I am trying to implement voice chat and I can't seem to get it working quite right.

                    I have inputted the correct lines into DefaultEngine.ini and DefaultGame.ini and am using Steam. The voice chat works when everyone joins the lobby, but then after a server travel to the actual game/map, the voice chat stops working and no matter what I do, push to talk, start networked voice, register local talker, etc, the voice chat never seems to come back, any ideas on how to fix this?

                    Thanks for the help and nice work with the plugin!
                    Did you check the log for voice system errors? I haven't heard of that issue before, but I would assume that it would have been reported by now as that workflow (lobby -> map) is default behavior.


                    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 check the log for voice system errors? I haven't heard of that issue before, but I would assume that it would have been reported by now as that workflow (lobby -> map) is default behavior.
                      I checked the logs and nothing is out of the ordinary for voice. I have tried reregistering all the remote talkers, I have tried unmuting all the remote talkers. All without any luck. I found some other people who have this similar issue with 4.15 on this post: https://answers.unrealengine.com/que...er-travel.html.

                      Maybe it is a problem with 4.15? Or am I missing something?

                      Comment


                        Originally posted by nicholasbagamian View Post
                        I checked the logs and nothing is out of the ordinary for voice. I have tried reregistering all the remote talkers, I have tried unmuting all the remote talkers. All without any luck. I found some other people who have this similar issue with 4.15 on this post: https://answers.unrealengine.com/que...er-travel.html.

                        Maybe it is a problem with 4.15? Or am I missing something?
                        Yeah that looks like a new issue then......

                        This plugin doesn't change any voice behavior (or even call any function related to it), it just opens up access to the functions to it for manual use.
                        Anything that breaks without input from you (unregistering, ect) is an engine bug and unrelated.

                        Been a bunch of these popping up recently without major changes to subsystems, really hope an overhaul gets going soon.
                        Last edited by mordentral; 04-14-2017, 08:16 AM.


                        Consider supporting me on patreon

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

                        Comment


                          Hi, sorry for reviving this old thread but I recently downloaded this plugin for windows and it works great, however when trying to use it on mac it says the module is missing or incompatible. Is there a way around this or this a windows only plugin? I am using UE4 on mac because I need to package my game for mac users too.
                          A day where UE4 doesn't crash is one I'm willing to pay for...

                          Comment


                            Could someone provide an example of how to use the voice system?

                            This is what I have on my player controller (PushToTalk is a input binding to the "B" key):
                            http://i.imgur.com/m9U2Tvj.png <= This is in my player controller


                            This is in my DefaultEngine.ini
                            Code:
                            [Voice] 
                            bEnabled=true
                            
                            [/Script/Engine.GameSession]
                            bRequiresPushToTalk=true
                            
                            [OnlineSubsystem]
                            PollingIntervalInMs=20
                            ; Uncomment the following line to use the Null Subsystem
                            ;DefaultPlatformService=Null
                            ; Uncomment the following lines to use the Steam Subsystem
                            DefaultPlatformService=Steam
                            bHasVoiceEnabled=true
                            VoiceNotificationDelta=0.2 
                            
                            [OnlineSubsystemSteam]
                            bEnabled=true
                            SteamDevAppId=480
                            SteamAppId=480
                            GameServerQueryPort=27015
                            bRelaunchInSteam=false
                            GameVersion=1.0.0.0
                            bVACEnabled=1
                            bAllowP2PPacketRelay=true
                            P2PConnectionTimeout=90
                            ; This is to prevent subsystem from reading other achievements that may be defined in parent .ini
                            Achievement_0_Id=""
                            Last edited by poke1103; 04-15-2017, 02:05 PM.

                            Comment


                              Hi there I just discovered and downloaded this plugin and was very excited to use it but every time I try to create or find advanced sessions it fails.Click image for larger version

Name:	Screenshot (40).png
Views:	1
Size:	188.2 KB
ID:	1126527 I followed a tutorial on youtube and also tried messing around with it myself but every single time it fails. I'm on windows 10 64 bit and I tried it both on UE 4.14 and 4.15. Any idea what's going wrong?

                              Comment


                                Okay so I opened the example project and saw the red "cast to playercontroller" node and tried to copy that over to my other blueprint but it says "conflicting node substituded during paste". Any way I can fix this?

                                Comment

                                Working...
                                X