Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    #76
    I can retrieve the current session but I seem to remember it being pretty weird and backwards and leaving the functionality out. I'll take another look at it tomorrow and see if I missed something obvious or if I can find a cleaner way around the problem. I have been really trying to avoid introducing too many workarounds outside of Epics session methods where I can. Some features I let sit to see if a better way came up eventually.

    *Edit* Took another look and I remember why I left it alone, the session settings use FVariantData structs to store the information. converting from those in Blueprint requires a lot of extra nodes and is a huge hassle with how everything is setup, however I think I found a valid workaround. It will slow down searching through the extra properties slightly but will significantly increase flexibility with working with them and the array is never going to be all that large anyway. I'll post details a post down so I can link to it in the updates section.
    Last edited by mordentral; 08-04-2015, 09:55 AM.


    Consider supporting me on patreon

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

    Comment


      #77
      08/04/2015 - Updated the Advanced Sessions Nodes
      • Re-designed the GetSessionProperty nodes, now they take an array of ExtraSettings instead of the session search result. You can retrieve this array from a search result with the new node: "GetExtraSettings" (Example Blueprints are updated to show this).
      • Added an array of extra settings returned from the "GetSessionSettings" node that can be used with the GetSessionProperty nodes now. You can use this to retrieve the current sessions properties for modification or comparison.
      • Added a new case to the GetSessionProperty nodes titled "WrongType", this is the result if it found the session setting you were looking for but the base type does not match the one you are trying to get back (IE: found GAMENAME but you were using the GetPropertyInt node and it is a String base type). This is important as the underlying data for session settings is FVariantData and can be of any type, should allow for some more robust handling of the properties in case of scripter mixup with base types.
      Last edited by mordentral; 08-04-2015, 10:02 AM.


      Consider supporting me on patreon

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

      Comment


        #78
        Originally posted by eXi View Post
        You may want to check if Google even has Sessions and Server Hosting. The build in Session System from UE4 wouldn't help you, because it would be limited to LAN Games or direct IP connection (if it even works).
        Okay... That makes me sad. Really sad. The direct IP connection works for android, that I am sure of. Thanks a lot guys. Gonna have to find a workaround.

        Comment


          #79
          Originally posted by Z-enzyme View Post
          Okay... That makes me sad. Really sad. The direct IP connection works for android, that I am sure of. Thanks a lot guys. Gonna have to find a workaround.
          Well it looks like it is possible to make an online subsystem that supports it from: https://developers.google.com/games/...imeMultiplayer

          But I haven't played around with google play services before.


          Consider supporting me on patreon

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

          Comment


            #80
            We are getting a crash when ever we try to create a game session now with the new version.

            Not sure if that is because of how we have set up our session creation or something else?

            here is the end of the crash log:

            [2015.08.06-02.13.37:252][462]LogOnline:Warning: Async task 'FOnlineAsyncTaskSteamStoreStats SessionName: Game bWasSuccessful: 0' completed in 5.131915 seconds with 0
            [2015.08.06-02.13.37:252][462]LogWindows:Warning: CreateProc failed (2) ..\..\..\Engine\Binaries/Win64/CrashReportClient.exe -AppName=UE4-Get_Golden
            [2015.08.06-02.13.37:252][462]LogWindows: Could not start CrashReportClient.exe
            [2015.08.06-02.13.37:252][462]LogMemory: Platform Memory Stats for WindowsNoEditor
            [2015.08.06-02.13.37:252][462]LogMemory: Process Physical Memory: 873.91 MB used, 1069.87 MB peak
            [2015.08.06-02.13.37:252][462]LogMemory: Process Virtual Memory: 1688.34 MB used, 1779.61 MB peak
            [2015.08.06-02.13.37:252][462]LogMemory: Physical Memory: 14921.17 MB used, 32735.09 MB total
            [2015.08.06-02.13.37:252][462]LogMemory: Virtual Memory: 2177.55 MB used, 8388608.00 MB total
            [2015.08.06-02.17.03:308][462]LogWindows: === Critical error: ===
            Fatal error!



            Get_Golden.exe {0x000000013fd97e60} + 0 bytes
            Get_Golden.exe {0x000000014277902f} + 0 bytes
            Get_Golden.exe {0x000000014276d996} + 0 bytes
            Get_Golden.exe {0x000000013ff27f11} + 0 bytes
            Get_Golden.exe {0x000000013fe8d455} + 0 bytes
            Get_Golden.exe {0x000000013febb1b5} + 0 bytes
            Get_Golden.exe {0x000000013fedae61} + 0 bytes
            Get_Golden.exe {0x000000013febcf5d} + 0 bytes
            Get_Golden.exe {0x000000013fe8de2e} + 0 bytes
            Get_Golden.exe {0x000000013febcf5d} + 0 bytes
            Get_Golden.exe {0x000000013fe8de2e} + 0 bytes
            Get_Golden.exe {0x000000013febb1b5} + 0 bytes
            Get_Golden.exe {0x000000013febcf5d} + 0 bytes
            Get_Golden.exe {0x000000013ff27f11} + 0 bytes
            Get_Golden.exe {0x000000013febc592} + 0 bytes
            Get_Golden.exe {0x0000000140d6dcdf} + 0 bytes
            Get_Golden.exe {0x0000000140d5c92f} + 0 bytes
            Get_Golden.exe {0x0000000140d1c156} + 0 bytes
            Get_Golden.exe {0x00000001406da0de} + 0 bytes
            Get_Golden.exe {0x000000013fa14556} + 0 bytes
            Get_Golden.exe {0x000000013fa03d40} + 0 bytes
            Get_Golden.exe {0x000000013fa03d9a} + 0 bytes
            Get_Golden.exe {0x000000013fa16269} + 0 bytes
            Get_Golden.exe {0x0000000142afcac1} + 0 bytes
            kernel32.dll {0x0000000076d159cd} + 0 bytes
            ntdll.dll {0x0000000076f4b981} + 0 bytes
            ntdll.dll {0x0000000076f4b981} + 0 bytes


            [2015.08.06-02.17.03:437][462]LogExit: Executing StaticShutdownAfterError
            [2015.08.06-02.17.03:440][462]LogOutputDevice:Warning:

            Script Stack:
            Tiki_GameInstance_C.ExecuteUbergraph_Tiki_GameInstance
            Tiki_GameInstance_C.CreateGameSession
            UMG_MainMenu_C.ExecuteUbergraph_UMG_MainMenu

            [2015.08.06-02.17.03:888][462]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2977) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
            [2015.08.06-02.17.03:889][462]LogPhysics:Warning: PHYSX: ..\..\PhysX\src\NpScene.cpp (2977) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
            [2015.08.06-02.17.03:889][462]LogWindows: FPlatformMisc::RequestExit(1)
            [2015.08.06-02.17.03:889][462]Log file closed, 08/05/15 19:17:03

            Thanks for the awesome pluggin
            My portfolio: www.HughMcCullom.com
            My Company: www.AbyssStudios.com
            Current WIP: Tiki Galore!

            Comment


              #81
              Eh?

              [2015.08.06-02.13.37:252][462]LogOnline:Warning: Async task 'FOnlineAsyncTaskSteamStoreStats SessionName: Game bWasSuccessful: 0' completed in 5.131915 seconds with 0
              Is a little weird, i'll check on it tomorrow, do you have any specifics about what you do differently? It appears to have stalled out creating the session but that should throw the "Failed" result, not crash. Is this the latest version with the new extra settings array's or the one before that I uploaded with just the dedicated server changes?



              *Edit*

              Opened up my project and ran the session creation through with/without dedicated settings, with/without player controller and in all configurations with/without steam. Couldn't reproduce the crash. Any more information would be helpful in knowing if it is a crash with the plugin or not.
              Last edited by mordentral; 08-06-2015, 08:23 AM.


              Consider supporting me on patreon

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

              Comment


                #82
                When i try to join a session with the new plugin version i get a travel failure PendingNetGameCreateFailure.

                Code:
                [2015.08.06-06.32.42:311][817]LogScript:Warning: Found a session. Ping is 9999[2015.08.06-06.32.51:992][909]LogNet: Browse: steam.76561198091341290//Game/Maps/MainMenu
                [2015.08.06-06.32.52:020][909]LogInit: SteamSockets: Socket queue 32768 / 32768
                [2015.08.06-06.32.52:021][909]LogNet:Warning: Failed to init net driver ConnectURL: steam.76561198091341290//Game/Maps/MainMenu: SteamSockets: binding to port 0 failed (0)
                [2015.08.06-06.32.52:021][909]LogNet:Warning: error initializing the network stack
                [2015.08.06-06.32.52:021][909]LogNet: DestroyNamedNetDriver IpNetDriver_0 [PendingNetDriver]
                [2015.08.06-06.32.52:021][909]LogExit: PendingNetDriver IpNetDriver_0 shut down
                [2015.08.06-06.32.52:021][909]LogNet:Warning: Travel Failure: [PendingNetGameCreateFailure]: SteamSockets: binding to port 0 failed (0)
                [2015.08.06-06.32.52:027][909]LogNet: TravelFailure: PendingNetGameCreateFailure, Reason for Failure: 'SteamSockets: binding to port 0 failed (0)'
                Why is it trying to bind to port 0 instead of 7777?

                I'm pretty sure i have all the right settings in my DefaultEngine.ini file.
                Code:
                [OnlineSubsystem]
                DefaultPlatformService=Steam
                PollingIntervalInMs=20
                 
                [OnlineSubsystemSteam]
                bEnabled=true
                SteamDevAppId=480
                GameServerQueryPort=27015
                bRelaunchInSteam=false
                GameVersion=1.0.0.0
                bVACEnabled=1
                bAllowP2PPacketRelay=true
                P2PConnectionTimeout=90
                
                
                 [Voice] 
                 bEnabled=true
                 
                 [OnlineSubsystem] 
                 bHasVoiceEnabled=true
                
                
                 [/Script/Engine.GameEngine]
                +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
                
                 [/Script/OnlineSubsystemSteam.SteamNetDriver]
                NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
                I searched the Answerhub and tried everything i found but nothing works.

                I don't know if that is the reason but i'm starting the sessions after i open my lobby level as listen server, then the player press open to start sessions. Can't i do that?
                Last edited by Nyhaalm; 08-06-2015, 08:28 AM.
                "For me life is continuously being hungry. The meaning of life is not simply to exist, to survive, but to move ahead, to go up, to achieve, to conquer." Arnold Schwarzenegger
                Unreal Engine Developers Denmark
                My Blog/Website: http://CrazyToby.com

                Comment


                  #83
                  Yeah that is interesting that it would use 0 since baseengine.ini contains a definition for port 7777. Only thing I can think of is that you deleted that section in base engine by mistake?

                  Try adding this to your games DefaultEngine.ini


                  Code:
                  [URL]
                  Protocol=unreal
                  Name=Player
                  SaveExt=usa
                  Port=7777
                  PeerPort=7778

                  Also run the server with the command line option "-log" and look for the following:

                  Code:
                  LogNet:Display: SteamNetDriver_0 bound to port 7777
                  LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777
                  If you are doing it in editor stand alone then go to advanced settings "Server Game Options" and add the "-log" in there.
                  Last edited by mordentral; 08-06-2015, 09:56 AM.


                  Consider supporting me on patreon

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

                  Comment


                    #84
                    I just tested it with the logs.

                    This is what happens when i start the lobby as listen server.



                    Maybe it's my firewall blocking the port.

                    *Edit*
                    Nope, it's not my firewall.
                    Maybe i do have to open a session first.

                    *Edit*
                    Open a session first doesn't fix it.


                    *Edit*

                    Hallelujah, i think i fixed it.

                    the defaultengine.ini Onlinesubsystem Sections has to be in this exact order.

                    Code:
                    [/Script/Engine.GameEngine]+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
                    
                    
                    [OnlineSubsystem]
                    DefaultPlatformService=Steam
                    PollingIntervalInMs=20
                     
                    
                    
                    [OnlineSubsystemSteam]
                    bEnabled=true
                    SteamDevAppId=480
                    GameServerQueryPort=27015
                    bRelaunchInSteam=false
                    GameVersion=1.0.0.0
                    bVACEnabled=1
                    bAllowP2PPacketRelay=true
                    P2PConnectionTimeout=90
                    
                    
                    [/Script/OnlineSubsystemSteam.SteamNetDriver]
                    NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

                    Now it gives me what i want.





                    *edit*
                    Only the session creation works now, but not joining.
                    The client joining the server still does the failed to bind to port 0 error.
                    Attached Files
                    Last edited by Nyhaalm; 08-06-2015, 04:12 PM.
                    "For me life is continuously being hungry. The meaning of life is not simply to exist, to survive, but to move ahead, to go up, to achieve, to conquer." Arnold Schwarzenegger
                    Unreal Engine Developers Denmark
                    My Blog/Website: http://CrazyToby.com

                    Comment


                      #85
                      Maybe were not setting it up correctly?

                      Here are all of our blueprints for the session creation and joining

                      There are also a few instances that when we search for sessions it closes the game entirely without any error messages and a small bug where the server button that we create does not display the information that we had set in the session.

                      In our game instance:
                      Click image for larger version

Name:	CreateAndJoinSessionBlueprints.jpg
Views:	1
Size:	111.1 KB
ID:	1083324

                      In our Main menu UMG for searching for sessions
                      Click image for larger version

Name:	SearchForSessionsMacro.jpg
Views:	1
Size:	647.2 KB
ID:	1083325

                      In our session join button widget:
                      Click image for larger version

Name:	ServerButton.jpg
Views:	1
Size:	435.0 KB
ID:	1083326

                      And we are using the most recent version of the plugin.

                      Again awesome work and thanks!
                      Last edited by HughieDM; 08-06-2015, 04:18 PM.
                      My portfolio: www.HughMcCullom.com
                      My Company: www.AbyssStudios.com
                      Current WIP: Tiki Galore!

                      Comment


                        #86
                        If you are using 4.8 then that isn't the current version of the plugin, it is missing the dedicated server checkbox and the parameters are in the wrong order. If you did download the current version then you have mixed up binaries somehow.


                        I grabbed a copy of the current download and put it into a new project that I packaged and tested across steam on two computers and was able to host and join just fine.

                        Also you might want to try using the default nodes and seeing if it works once you sort out the correct plugin files.

                        *Edit* I'll update to 4.8.3 tomorrow and see if that presents any problems, I compiled it last on 4.8.2
                        Last edited by mordentral; 08-06-2015, 07:07 PM.


                        Consider supporting me on patreon

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

                        Comment


                          #87
                          Hi, I'm new to Advanced Sessions and I love what you are doing for the UE4 blueprint community. With that being said, i downloaded the lastest version of the plugin and it runs fine in the editor but when i package it to test the game with my friends, it says that it cannot find the module. Is there something that i have to do get it to work or is this just a bug? Thanks in advance!

                          Comment


                            #88
                            So yeah it was my bad I didnt clear our binaries! Thanx for the help would have never thought of that!

                            Awesome work and thanks!
                            My portfolio: www.HughMcCullom.com
                            My Company: www.AbyssStudios.com
                            Current WIP: Tiki Galore!

                            Comment


                              #89
                              Originally posted by InsiderGaming View Post
                              Hi, I'm new to Advanced Sessions and I love what you are doing for the UE4 blueprint community. With that being said, i downloaded the lastest version of the plugin and it runs fine in the editor but when i package it to test the game with my friends, it says that it cannot find the module. Is there something that i have to do get it to work or is this just a bug? Thanks in advance!
                              Are you using a blueprint only project out of curiosity? It shouldn't matter realistically but I am curious as someone else was packaging one of those without a compiler installed and the editor was failing to compile the plugin. I think that pure blueprint plugins might still be not working without a compiler associated with the engine.

                              I use my own plugin in a fun project and it packages and works player to player without issue.


                              Consider supporting me on patreon

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

                              Comment


                                #90
                                I was using a blueprint only project but I just made an empty c++ class and rebuilt to get it to work.

                                Comment

                                Working...
                                X