Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Hey,
    I am totally new to this plugin and kinda new to UE4.
    I installed the plugin in the project folder and changed the engine.ini

    but when i start the game as Play as client and standalone while steam is running I dont get the overlay in the window.

    is there anything else i need to setup? shift + tap in the action settings or so?

    I checked some tutorials but there it always just worked(they have been 1-2 years old, did anything in particular changed?)

    Thanks in advanced helping me noob :P

    Comment


      Hello!

      I'm trying to setup this plugin without much luck sadly, hopefully someone can help!

      I am using 4.25.3 compiled from source with the latest version of the plugin. I want to setup a listen server and connect to it using steam.
      I've been trying to get it to work with both package builds and just launching with -game, in both 1 and 2 computer setup.

      The problem is I believe, that my session doesn't show up. I've also seen a session showing up and I've tried to connect to it but I've received an "OutdatedClient" error, which makes me think maybe it wasn't my session after all?

      I do get the steam overlay when I launch the game though.
      This is my current setup:

      DefaultEngine.ini
      Code:
      [/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"
      Project.Target.cs
      Code:
      bUsesSteam = true;
      Project.Build.cs
      Code:
      PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AdvancedSessions",
      "OnlineSubsystem", "OnlineSubsystemSteam" });

      BP that creates the session

      Click image for larger version  Name:	CreateSession.png Views:	0 Size:	161.0 KB ID:	1799495

      BP that searches the sessions
      Click image for larger version  Name:	Search Session.png Views:	0 Size:	125.2 KB ID:	1799496

      Some relevant logs!

      Listen Server Logs:
      Code:
      [2020.08.11-07.00.21:835][459]LogOnlineSession: Warning: STEAM: Can't destroy a null online session (GameSession)
      [2020.08.11-07.00.22:196][612]LogOnlineSession: Verbose: OSS: dumping NamedSession:
      [2020.08.11-07.00.22:196][612]LogOnlineSession: Verbose: OSS: SessionName: GameSession
      [2020.08.11-07.00.22:197][612]LogOnlineSession: Verbose: OSS: HostingPlayerNum: 0
      [2020.08.11-07.00.22:199][612]LogOnlineSession: Verbose: OSS: SessionState: Pending
      [2020.08.11-07.00.22:199][612]LogOnlineSession: Verbose: OSS: RegisteredPlayers:
      [2020.08.11-07.00.22:200][612]LogOnlineSession: Verbose: OSS: 0 registered players
      [2020.08.11-07.00.22:200][612]LogOnlineSession: Verbose: OSS: dumping Session:
      [2020.08.11-07.00.22:201][612]LogOnlineSession: Verbose: OSS: OwningPlayerName: Grendert
      [2020.08.11-07.00.22:202][612]LogOnlineSession: Verbose: OSS: OwningPlayerId: Grendert [0x1A5ABA09480]
      [2020.08.11-07.00.22:203][612]LogOnlineSession: Verbose: OSS: NumOpenPrivateConnections: 5
      [2020.08.11-07.00.22:203][612]LogOnlineSession: Verbose: OSS: NumOpenPublicConnections: 4
      [2020.08.11-07.00.22:204][612]LogOnlineSession: Verbose: OSS: SessionInfo: HostIP: INVALID SteamP2P: 76561198005592313:7777 Type: Lobby session SessionId: Lobby[0x18600000B4A90A9]
      [2020.08.11-07.00.22:205][612]LogOnlineSession: Verbose: OSS: dumping SessionSettings:
      [2020.08.11-07.00.22:206][612]LogOnlineSession: Verbose: OSS: NumPublicConnections: 5
      [2020.08.11-07.00.22:206][612]LogOnlineSession: Verbose: OSS: NumPrivateConnections: 5
      [2020.08.11-07.00.22:207][612]LogOnlineSession: Verbose: OSS: bIsLanMatch: false
      [2020.08.11-07.00.22:209][612]LogOnlineSession: Verbose: OSS: bIsDedicated: false
      [2020.08.11-07.00.22:210][612]LogOnlineSession: Verbose: OSS: bUsesStats: false
      [2020.08.11-07.00.22:211][612]LogOnlineSession: Verbose: OSS: bShouldAdvertise: true
      [2020.08.11-07.00.22:211][612]LogOnlineSession: Verbose: OSS: bAllowJoinInProgress: true
      [2020.08.11-07.00.22:212][612]LogOnlineSession: Verbose: OSS: bAllowInvites: true
      [2020.08.11-07.00.22:212][612]LogOnlineSession: Verbose: OSS: bUsesPresence: true
      [2020.08.11-07.00.22:213][612]LogOnlineSession: Verbose: OSS: bAllowJoinViaPresence: true
      [2020.08.11-07.00.22:213][612]LogOnlineSession: Verbose: OSS: bAllowJoinViaPresenceFriendsOnly: false
      [2020.08.11-07.00.22:214][612]LogOnlineSession: Verbose: OSS: BuildUniqueId: 0x00000000
      [2020.08.11-07.00.22:214][612]LogOnlineSession: Verbose: OSS: Settings:
      [2020.08.11-07.00.22:216][612]LogNet: Browse: /Game/Maps/VillageMap/VillageMap?listen
      [2020.08.11-07.00.22:216][612]LogLoad: LoadMap: /Game/Maps/VillageMap/VillageMap?listen
      [2020.08.11-07.00.22:216][612]LogWorld: BeginTearingDown for /Game/Maps/MenuMap/MenuMap
      [2020.08.11-07.00.22:218][612]LogWorld: UWorld::CleanupWorld for MenuMap, bSessionEnded=true, bCleanupResources=true
      [2020.08.11-07.00.22:221][612]LogSlate: InvalidateAllWidgets triggered. All widgets were invalidated
      [2020.08.11-07.00.22:257][612]LogAudio: Display: Waited 35.034000 ms for audio thread.
      [2020.08.11-07.00.22:261][612]LogAudio: Display: Waited 39.318001 ms for audio thread.
      [2020.08.11-07.00.22:297][612]LogAISub: UAISubsystem::~UAISubsystem EnvQueryManager (000001A5BD190600), frame # 28612
      [2020.08.11-07.00.22:297][612]LogAISub: UAISubsystem::~UAISubsystem AIPerceptionSystem (000001A5AA300680), frame # 28612
      [2020.08.11-07.00.22:299][612]LogSlate: Slate User Unregistered. User Index 8
      [2020.08.11-07.00.22:299][612]LogSlate: Slate User Destroyed. User Index 8, Is Virtual User: 1
      [2020.08.11-07.00.22:301][612]LogUObjectHash: Compacting FUObjectHashTables data took 1.15ms
      [2020.08.11-07.00.39:515][612]LogAIModule: Creating AISystem for world VillageMap
      [2020.08.11-07.00.39:516][612]LogAISub: UAISubsystem::UAISubsystem EnvQueryManager (000001A5D2869E00), frame # 28612
      [2020.08.11-07.00.39:519][612]LogAISub: UAISubsystem::UAISubsystem AIPerceptionSystem (000001A5D2847D80), frame # 28612
      [2020.08.11-07.00.39:520][612]LogLoad: Game class is 'BP_InGameGM_C'
      [2020.08.11-07.00.39:521][612]LogNet: ReplicationDriverClass is null! Not using ReplicationDriver.
      [2020.08.11-07.00.39:521][612]LogNetCore: DDoS detection status: detection enabled: 0 analytics enabled: 0
      [2020.08.11-07.00.39:522][612]LogNet: Display: SteamNetDriver_0 bound to port 7777
      [2020.08.11-07.00.39:523][612]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
      [2020.08.11-07.00.39:523][612]LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777
      Client trying to find a session:
      Code:
      [2020.08.11-07.03.45:155][544]LogOnlineSession: STEAM: Found 0 lobbies, finalizing the search
      [2020.08.11-07.03.47:579][373]LogOnlineSession: Warning: STEAM: Failed to respond IP:164.39.65.146
      [2020.08.11-07.03.47:628][391]LogOnlineSession: Warning: STEAM: Failed to respond IP:134.94.168.171
      [2020.08.11-07.03.47:630][391]LogOnlineSession: Warning: STEAM: Failed to respond IP:195.24.142.186

      One last thing: I've also tried to use the unreal CreateSession and SearchSession and the result on the find session is interesting. Looks like steam finds more lobbies than with the advancedSearch, and funny enough the Task finds 1 extra lobby? although it ends up failing?
      Code:
      [2020.08.11-07.14.22:864][313]LogOnline: Warning: OSS: Async task 'FOnlineAsyncTaskSteamFindLobbiesForFindSessions bWasSuccessful: 0 NumResults: 25' failed in 15.052171 seconds
      [2020.08.11-07.14.22:866][313]LogOnlineSession: STEAM: Found 24 lobbies, finalizing the search

      Sorry for the long post, tried to give as much relevant information as possible, anybody could point out what I'm missing?

      Thank you!

      Edit: I've managed to make it work with Lan only, by setting the bool bIsLan to true and also ?bIsLanMatch=1 when the listen server travels to the map. But still can't see my session when is not on lan. I've also migrated my project to vanilla 25.3 just to double check as well as disabled firewall in case it was somehow blocking. Still no luck :/
      At one point I did get a request of joining into the game by somebody else (obviously failed because wrong version)! which makes me think that my sessions are somehow being created properly, is just me that can't see them :/
      Last edited by Grendert; 08-11-2020, 04:37 AM.

      Comment


        In case someone ends up having a similar issue, I ended up solving it by using the vanilla CreateSession and FindSession. I've then created a custom version of those to pass parameters across (similar to what Advanced sessions is doing) but there seems to be some kind of weird thing going on with the advanced sessions one that were causing the issue for me.
        Last edited by Grendert; 08-12-2020, 11:33 AM.

        Comment


          Originally posted by Grendert View Post
          In case someone ends up having a similar issue, I ended up solving it by using the vanilla CreateSession and FindSession. I've then created a custom version of those to pass parameters across (similar to what Advanced sessions is doing) but there seems to be some kind of weird thing going on with the advanced sessions one that were causing the issue for me.
          There isn't.....

          Unsure what you had going on there, but it still passes through the same functions.

          Little curious why your build ID was nulled though.


          Consider supporting me on patreon

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

          Comment


            Originally posted by Cipher5 View Post

            Is there anything that can be done for the server slots? Is it me or public connections/slots don't do anything? I had to add my own "MaxPlayers" Int and do a check against the current players. I wish there was an easy way to not let players join if the server is full. Right now I have my project check the server capacity before the player joins and if there is room it lets them, but the problem is if 1 slot is left and 2 players click join at the same time they both make it in. It would be nice to have a node that handles clients connection on a full server using the public connections/slots and have a on full rejection output on a node. Just wishing here lol, awesome work by the way and thanks for all the time you put into it.

            Try the console command

            Code:
            net.MaxPlayersOverride 16
            Or whatever number you want. See if that fixes your issue. Fixed it for me.

            Comment


              Hi,

              I use the same map for both lobby and game. When i try to join a session from client to server, the map just reloads. (since its the first time connecting to the server?) it looks a little odd to just reload the lobby map when joining a session. Anyone knows its possible to seamless join a lobby?

              Comment


                I'm going to plus one the issue that Grendert was having. Using version 4.24.3, completely stock. Session creation succeeds, it is set to advertise, I've ran through it several times to make sure it's set up correctly, but outside of testing locally with PIE windows, the session does not get posted to Steam servers.

                Steam integration is set up correctly. Trying to test in standalone mode with my remote partner on the project I'm working on, neither of us can see the sessions we create. Same commits of the project and everything. Steam also doesn't find any local sessions for the games we create (set to use internet, not LAN), but we get valid session IDs. Find servers is also set up fairly simply, following several guides, and I know it works because it works in PIE windows. This issue is a real pain in the neck

                Comment


                  Hello!

                  I am currently working on a multiplayer game with hosted servers. I encounter a problem with servers visibility:

                  Sometimes, Canadians or other players in other country (i'm french) can't see my server in the server list. When my friend change the "download region" of Steam he can see my server. Is there a way to solve that problem without changing the Steam download region?

                  Thanks for your answer!

                  Comment


                    Originally posted by Infinity9115 View Post
                    Hello!

                    I am currently working on a multiplayer game with hosted servers. I encounter a problem with servers visibility:

                    Sometimes, Canadians or other players in other country (i'm french) can't see my server in the server list. When my friend change the "download region" of Steam he can see my server. Is there a way to solve that problem without changing the Steam download region?

                    Thanks for your answer!
                    Get your own AppID and make sure it isn't set to use region locking, the default testing app id is region locked on purpose by valve.


                    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 actually define it as push to talk in the ini? By default the engine is open microphone. Also you don't need the console commands there, you can just call Start / Stop networked voice.

                      Also seeing as how that appears to be a VR setup, you would need the microphone of the headset as the default system input.
                      ok so the start network voice works but only one sided, the other guys in game can hear me but when they try to talk i cant hear them, its not a server\client issue because even when we restart the game and one of them hosts the game everyone can still hear me (i the client now) but i cant hear any of them and they cant hear each other.

                      im thinking maybe this is a network speed issue, as i have the fastest internet of the bunch (fiber optics with 100mb upload and 1gb down), is there a way to set the network voice bandwidth higher? let it work on slower connections?

                      Comment


                        It doesn't work and nobody seems to know why:

                        https://forums.unrealengine.com/deve...did-i-do-wrong

                        It only works when clients are on same network even though LAN is not enabled.

                        Comment


                          Originally posted by mordentral View Post

                          Get your own AppID and make sure it isn't set to use region locking, the default testing app id is region locked on purpose by valve.
                          I use my own AppID, where can i see if it is set to use region locking? In Steamworks?

                          Thanks for your answer!

                          Comment


                            Originally posted by Infinity9115 View Post

                            I use my own AppID, where can i see if it is set to use region locking? In Steamworks?

                            Thanks for your answer!
                            Now that you can get it to work could you help me?

                            Comment


                              Originally posted by Psy-Lance View Post

                              Now that you can get it to work could you help me?
                              Hello Psy-Lance,

                              at the moment, with my own AppID, it not works, i can't see players from Canada and they can't see me (in France)

                              I'm waiting for any information about this problem!

                              Comment


                                Originally posted by Infinity9115 View Post

                                Hello Psy-Lance,

                                at the moment, with my own AppID, it not works, i can't see players from Canada and they can't see me (in France)

                                I'm waiting for any information about this problem!
                                I understand that it doesn't work with your own AppID but you said it works with the appID 480. I know there is a region lock for appID 480 and that's fine for me right now. Just need it to work.


                                Originally posted by Infinity9115 View Post
                                Hello!

                                I am currently working on a multiplayer game with hosted servers. I encounter a problem with servers visibility:

                                Sometimes, Canadians or other players in other country (i'm french) can't see my server in the server list. When my friend change the "download region" of Steam he can see my server. Is there a way to solve that problem without changing the Steam download region?

                                Thanks for your answer!
                                ???
                                https://forums.unrealengine.com/deve...did-i-do-wrong
                                Last edited by Psy-Lance; 08-16-2020, 10:20 AM.

                                Comment

                                Working...
                                X