Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Originally posted by mordentral View Post
    So it hosted



    And then it found a session, the 9999 ping is an engine "bug?" but doesn't effect actually joining the server. What happened when you joined? And did you run it twice or did it find two seperate servers?



    Also: "AdvancedSessionsPlugin-4-13-0.zip" the actual file it downloads should say 4-13-2, the preview keeps the original uploads name.


    Thanks for all of your help on this mordentral. The original issue was a very complex one for me and I couldn't have got through it with your help. The last issue.. not connecting.. was because I has a "GetSessionProperty" looking for a password off the session. If the host didn't add a password, then there was nothing hooked to the Not Found output.

    /facepalm

    Everything is working great now.
    Level Designer

    Boilerplate Studios

    https://twitter.com/DBBoilerplate

    Comment


      Originally posted by mordentral View Post
      Dedicated servers can't have "bUsePresence" enabled, sadly enough my last upload forces bUsePresence off if bIsDedicated is ticked to try and help out, guess you are a single version behind that commit . If presence is enabled it tries to host a lobby game which won't work since dedicated servers aren't logged in to steam through the client.
      So I just updated to your latest 4.13 and ticked use presence to false. Still getting the same Assertion failed: SteamUtilsPtr

      UPDATE: So this error was also an issue when building out a Windows dedicated build. After following the guide here I was able to get the dedicated server running (on Linux) without the Create Advanced Session node. So (in my case) the Advanced Sessions plugin Create Advanced Session node is not playing nicely with Steam. I'm guessing it's some sort of session setting issue, but I haven't pinned it down yet. The code I am currently using to create the session is essentially the same as the guide, but the specific "create session" block looks like this:

      Code:
      bool USteamGameInstance::HostDedicatedServer(FString level, FName sessionName) {
      
      	// Get the Online Subsystem to work with
      	IOnlineSubsystem* const OnlineSub = IOnlineSubsystem::Get();
      
      	if (OnlineSub)
      	{
      		UWorld* World = GetWorld();
      		IOnlineSessionPtr SessionInt = Online::GetSessionInterface(World);
      
      		if (SessionInt.IsValid())
      		{
      			FOnlineSessionSettings Settings;
      			Settings.NumPublicConnections = 6;
      			Settings.NumPrivateConnections = 0;
      			Settings.bShouldAdvertise = true;
      			Settings.bAllowJoinInProgress = true;
      			Settings.bAllowInvites = true;
      			Settings.bIsLANMatch = false;
      			Settings.bUsesPresence = false;
      			Settings.bAllowJoinViaPresence = false;
      			Settings.bIsDedicated = true;
      			Settings.Set(SETTING_MAPNAME, level, EOnlineDataAdvertisementType::ViaOnlineService);
      
      			UE_LOG(LogTemp, Log, TEXT("Creating Dedicated Session"));
      			// Set the delegate to the Handle of the SessionInterface
      			OnCreateSessionCompleteDelegateHandle = SessionInt->AddOnCreateSessionCompleteDelegate_Handle(OnCreateSessionCompleteDelegate);
      			
      			return SessionInt->CreateSession(0, sessionName, Settings);
      		}
      	}
      	UE_LOG(LogTemp, Error, TEXT("Creating Dedicated Session Failed. OnlineSubsystem not valid."));
      	return false;
      }
      Last edited by Dr_Jerm; 11-07-2016, 04:13 PM.

      Comment


        Is it possible to change some settings in run time? I am making a battleroyale mode and I need to set some settings when the match starts.

        Comment


          Hey guys,
          if i set it to "Allow join via ... Friends Only" - is it still listed on "Find Sessions" if they're not friends?
          @CarstenZarbock - Follow me on Twitter, thank you

          Comment


            Originally posted by Control View Post
            Is it possible to change some settings in run time? I am making a battleroyale mode and I need to set some settings when the match starts.
            "UpdateSessionSettings" node does that.


            Consider supporting me on patreon

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

            Comment


              hi guys,
              a simple question...i followed this tutorial https://www.youtube.com/watch?v=6RlY...59tCdX8oIOZAWU and everything worked correctly; but decided to implement you plugin, actually steam is not working with the project..how is it possible?

              Thanks,
              Fabry

              Comment


                Originally posted by Fabry911 View Post
                hi guys,
                a simple question...i followed this tutorial https://www.youtube.com/watch?v=6RlY...59tCdX8oIOZAWU and everything worked correctly; but decided to implement you plugin, actually steam is not working with the project..how is it possible?

                Thanks,
                Fabry
                I don't know? You don't actually provide anything to go off of. There are multiple areas where you could have messed up the conversion.

                Easiest thing is to run with log enabled or look in the log window in editor for warnings, my plugin provides output for everything that fails to work.


                Consider supporting me on patreon

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

                Comment


                  Originally posted by mordentral View Post
                  I don't know? You don't actually provide anything to go off of. There are multiple areas where you could have messed up the conversion.

                  Easiest thing is to run with log enabled or look in the log window in editor for warnings, my plugin provides output for everything that fails to work.
                  Thank you Mondentral,
                  i tested it in local (using editor) and it work correctly.
                  But after built a playable version, and opened in 2 different pc; one hosted the match (and it work), the second one opened the server list and it doesn't work. this is what i found opening the file log:

                  [2016.11.09-17.51.52:217][147]LogBlueprintUserMessages: [SoG_GI_C_0] Server List
                  [2016.11.09-17.51.52:831][186]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                  [2016.11.09-17.51.52:831][186]LogNetVersion: GetLocalNetworkVersion: CL: 3106830, ProjectName: sog, ProjectVersion: 0.1, EngineNetworkVersion: 1, GameNetworkVersion: 0, NetworkChecksum: 3900553527
                  [2016.11.09-17.51.52:831][186]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.51.53:186][208]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                  [2016.11.09-17.51.53:186][208]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.51.55:332][341]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                  [2016.11.09-17.51.55:332][341]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.51.55:736][366]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                  [2016.11.09-17.51.55:736][366]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.51.57:349][466]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                  [2016.11.09-17.51.57:349][466]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.51.57:703][488]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                  [2016.11.09-17.51.57:703][488]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.52.00:139][639]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                  [2016.11.09-17.52.00:139][639]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                  [2016.11.09-17.52.02:091][760]LogOnline:Warning: STEAM: Failed to respond IP:114.55.148.179

                  Comment


                    Originally posted by Fabry911 View Post
                    Thank you Mondentral,
                    i tested it in local (using editor) and it work correctly.
                    But after built a playable version, and opened in 2 different pc; one hosted the match (and it work), the second one opened the server list and it doesn't work. this is what i found opening the file log:

                    [2016.11.09-17.51.52:217][147]LogBlueprintUserMessages: [SoG_GI_C_0] Server List
                    [2016.11.09-17.51.52:831][186]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                    [2016.11.09-17.51.52:831][186]LogNetVersion: GetLocalNetworkVersion: CL: 3106830, ProjectName: sog, ProjectVersion: 0.1, EngineNetworkVersion: 1, GameNetworkVersion: 0, NetworkChecksum: 3900553527
                    [2016.11.09-17.51.52:831][186]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.51.53:186][208]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                    [2016.11.09-17.51.53:186][208]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.51.55:332][341]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                    [2016.11.09-17.51.55:332][341]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.51.55:736][366]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                    [2016.11.09-17.51.55:736][366]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.51.57:349][466]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                    [2016.11.09-17.51.57:349][466]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.51.57:703][488]LogOnline:Warning: STEAM: Server response IP:114.55.148.179
                    [2016.11.09-17.51.57:703][488]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x5c89ad23, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.52.00:139][639]LogOnline:Warning: STEAM: Server response IP:94.23.40.47
                    [2016.11.09-17.52.00:139][639]LogOnline:Warning: STEAM: Removed incompatible build: ServerBuildUniqueId = 0x7f70475b, GetBuildUniqueId() = 0x631cfd36
                    [2016.11.09-17.52.02:091][760]LogOnline:Warning: STEAM: Failed to respond IP:114.55.148.179
                    Those aren't plugin warnings, the engine is warning that the server and host have different build ids. Are you using the correct plugin way of handling subsystems now post 4.13? That tutorial is pre 4.13 so it still uses direct linking to the steam subsystem and not it as a plugin.

                    You don't know which of those ips was the host do you though? The failed to respond one is interesting.
                    Last edited by mordentral; 11-09-2016, 02:13 PM.


                    Consider supporting me on patreon

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

                    Comment


                      Originally posted by mordentral View Post
                      Those aren't plugin warnings, the engine is warning that the server and host have different build ids. Are you using the correct plugin way of handling subsystems now post 4.13? That tutorial is pre 4.13 so it still uses direct linking to the steam subsystem and not it as a plugin.

                      You don't know which of those ips was the host do you though? The failed to respond one is interesting.
                      yes, i'm using UE 4.13.2 and the plugin with the same version 4.13.2
                      i just implemented this to the DefaultEngine.ini:

                      [/Script/Engine.GameEngine]
                      +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

                      [OnlineSubsystem]
                      DefaultPlatformService=Steam

                      [OnlineSubsystemSteam]
                      bEnabled=true
                      SteamDevAppId=480

                      [/Script/OnlineSubsystemSteam.SteamNetDriver]
                      NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

                      and enabled Advanced Sessions from Plugins menu http://prntscr.com/d573dp

                      Comment


                        Originally posted by Fabry911 View Post
                        yes, i'm using UE 4.13.2 and the plugin with the same version 4.13.2
                        i just implemented this to the DefaultEngine.ini:




                        and enabled Advanced Sessions from Plugins menu http://prntscr.com/d573dp
                        Advanced sessions has to be added to your build.cs to package out correctly. Also in 4.13 you now also have to enabled the SteamSubsystem plugin in the plugins as it is no longer a normal engine module.


                        Consider supporting me on patreon

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

                        Comment


                          I am using this plugin to host and connect to sessions on Steam. With CreateAdvancedSession, if ShouldAdvertise is true everything works fine, I can create a session, invite friends and they can connect. On the other hand, if I set ShouldAdvertise to false (for private matches) invited friends can't connect and the Steam interface shows "<username> is not currently playing on any game server". Anyone knows a correct way to create sessions that are not listed publicly?

                          Comment


                            Hey mordentral, first let me also tell you that I love your plugin! It's working very well and is a good learning resource :-)

                            My question: How'd I go about activating the "Join Game" function of Steam's Friends List and then handling the Join Session? Is there an event that gets called?

                            Comment


                              Does the UniqueNetID ever change? Is it like the Steam ID?
                              Level Designer

                              Boilerplate Studios

                              https://twitter.com/DBBoilerplate

                              Comment


                                Originally posted by PDubulous View Post
                                Does the UniqueNetID ever change? Is it like the Steam ID?
                                For steam it is the SteamID, for other platforms it may not be, but it won't change within a session.

                                Originally posted by mBeierling View Post
                                Hey mordentral, first let me also tell you that I love your plugin! It's working very well and is a good learning resource :-)

                                My question: How'd I go about activating the "Join Game" function of Steam's Friends List and then handling the Join Session? Is there an event that gets called?
                                The Friends Game Instance provides a SessionInviteAcceptedDelegate that will be called when a user accepts a game invite / tries to join anothers game, the SessionInviteReceivedDelegate is sadly incomplete in at least Steams Subsystem code so it will not trigger, I left it in for when eventually they finish that section. So if you derive from that game instance or use it as your main game instance then you will have access to the events.

                                You can also enable calling the "InviteAcceptedDelegate" on the owning player controller in the game instance IF the owning player controller implements UAdvancedFriendsInterface.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X