Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

    Hello, I am trying to use Find Sessions Advanced for 4.25 and one issue I am running into is it isn't returning any results. I have a simple join game event that gets triggered from a button but the array returns 0. I turned off my filters for the time being since I couldn't see any sessions. Do you have suggestions on how to see why it is returning 0?

    Click image for larger version

Name:	download.png
Views:	337
Size:	156.6 KB
ID:	1794194
    Code:
    [URL]
    
    [/Script/Engine.RendererSettings]
    r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
    
    [/Script/EngineSettings.GameMapsSettings]
    EditorStartupMap=/Game/Maps/TestingLevel.TestingLevel
    GameDefaultMap=/Game/Maps/MainMenu.MainMenu
    GlobalDefaultGameMode=/Game/Blueprints/MainMenu/BP_MainMenuGameMode.BP_MainMenuGameMode_C
    GameInstanceClass=/Game/Blueprints/Framework/BP_SurvivalGameInstance.BP_SurvivalGameInstance_C
    TransitionMap=/Game/Maps/TransitionMap.TransitionMap
    ServerDefaultMap=/Game/Maps/MainMenu.MainMenu
    
    [/Script/HardwareTargeting.HardwareTargetingSettings]
    TargetedHardwareClass=Desktop
    AppliedTargetedHardwareClass=Desktop
    DefaultGraphicsPerformance=Maximum
    AppliedDefaultGraphicsPerformance=Maximum
    
    [/Script/Engine.PhysicsSettings]
    DefaultGravityZ=-980.000000
    DefaultTerminalVelocity=4000.000000
    DefaultFluidFriction=0.300000
    SimulateScratchMemorySize=262144
    RagdollAggregateThreshold=4
    TriangleMeshTriangleMinAreaThreshold=5.000000
    bEnableShapeSharing=False
    bEnablePCM=True
    bEnableStabilization=False
    bWarnMissingLocks=True
    bEnable2DPhysics=False
    PhysicErrorCorrection=(PingExtrapolation=0.100000,PingLimit=100.000000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,MaxLinearHardSnapDistance=400.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000)
    LockedAxis=Invalid
    DefaultDegreesOfFreedom=Full3D
    BounceThresholdVelocity=200.000000
    FrictionCombineMode=Average
    RestitutionCombineMode=Average
    MaxAngularVelocity=3600.000000
    MaxDepenetrationVelocity=0.000000
    ContactOffsetMultiplier=0.020000
    MinContactOffset=2.000000
    MaxContactOffset=8.000000
    bSimulateSkeletalMeshOnDedicatedServer=True
    DefaultShapeComplexity=CTF_UseSimpleAndComplex
    bDefaultHasComplexCollision=True
    bSuppressFaceRemapTable=False
    bSupportUVFromHitResults=False
    bDisableActiveActors=False
    bDisableKinematicStaticPairs=False
    bDisableKinematicKinematicPairs=False
    bDisableCCD=False
    bEnableEnhancedDeterminism=False
    AnimPhysicsMinDeltaTime=0.000000
    bSimulateAnimPhysicsAfterReset=False
    MaxPhysicsDeltaTime=0.033333
    bSubstepping=False
    bSubsteppingAsync=False
    MaxSubstepDeltaTime=0.016667
    MaxSubsteps=6
    SyncSceneSmoothingFactor=0.000000
    InitialAverageFrameRate=0.016667
    PhysXTreeRebuildRate=10
    DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,bUseMBPOuterBounds=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPOuterBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2)
    ChaosSettings=(DefaultThreadingModel=DedicatedThread,DedicatedThreadTickMode=VariableCappedWithTarget,DedicatedThreadBufferMode=Double)
    
    [/Script/Engine.CollisionProfile]
    +Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision")
    +Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ")
    +Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
    +Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ")
    +Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ")
    +Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.")
    +Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ")
    +Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ")
    +Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.")
    +Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.")
    +Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors")
    +Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors")
    +Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.")
    +Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.")
    +Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.")
    +Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.")
    +Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.")
    +Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
    +DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,DefaultResponse=ECR_Block,bTraceType=True,bStaticObject=False,Name="Weapon")
    +ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
    +ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
    +ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
    +ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
    +ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
    +CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
    +CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
    +CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
    +CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
    
    [/Script/Engine.Engine]
    NearClipPlane=1.000000
    SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=22.000000),UpperBound=(Type=Open,Value=62.000000))
    bSmoothFrameRate=True
    !NetDriverDefinitions=ClearArray
    ; Uncomment the next line if you are using the Null Subsystem
    ;-NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
    ; Uncomment the next line if you are using the Steam Subsystem
    +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
    
    [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
    VoiceNotificationDelta=0.2
    bUsesPresence=false
    
    [OnlineSubsystemSteam]
    bEnabled=true
    SteamDevAppId=480
    GameServerQueryPort=27015
    bRelaunchInSteam=false
    GameVersion=1.0.0.0
    bVACEnabled=1
    bAllowP2PPacketRelay=true
    bUsesPresence=false
    P2PConnectionTimeout=180
    
    [/Script/OnlineSubsystemSteam.SteamNetDriver]
    NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
    
    [Core.Log]
    LogOnline=Verbose

    Comment


      Hi! When we can get this amazing plugin for 4.25.3?

      Comment


        Hello I have already set up the plugin and also got the multiplayer working, so I would like to know how would I make a leader board system for my games? Is there a tutorial or a well written Documentation?

        Comment


          Originally posted by PR0_R0K View Post
          Hi! When we can get this amazing plugin for 4.25.3?
          The binaries are already updated for it, just forgot to change the download text.
          Originally posted by PIXELBOB View Post
          Hello I have already set up the plugin and also got the multiplayer working, so I would like to know how would I make a leader board system for my games? Is there a tutorial or a well written Documentation?
          It doesn't do anything with leaderboards, so just follow any normal leaderboard tutorial.


          Consider supporting me on patreon

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

          Comment


            Hello There,

            I was able to get my setup with a dedicated server working, It seams working so far.

            But there is a Problem: The player count in the SteamServer Browser is not Updating. It remains 0/50 even if I join the game.

            I have my own AppId, the game is not released yet and currently hidden. (maybe this is the reason, because of some Authentication stuff not working correctly?)

            Click image for larger version

Name:	Session-Update.PNG
Views:	245
Size:	106.5 KB
ID:	1795342
            This is how I update the Session after the OnPostLogin and OnLogout events on the server.

            Do I miss something?

            Comment


              Originally posted by SaphiGoat View Post
              Hello There,

              I was able to get my setup with a dedicated server working, It seams working so far.

              But there is a Problem: The player count in the SteamServer Browser is not Updating. It remains 0/50 even if I join the game.

              I have my own AppId, the game is not released yet and currently hidden. (maybe this is the reason, because of some Authentication stuff not working correctly?)

              Click image for larger version  Name:	Session-Update.PNG Views:	0 Size:	106.5 KB ID:	1795342
              This is how I update the Session after the OnPostLogin and OnLogout events on the server.

              Do I miss something?
              It won't update the player counts automatically until you add steam authentication yes.


              Consider supporting me on patreon

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

              Comment


                After adding steam authentication everthing works.

                Sometimes the simple things are not easy to find.

                Comment


                  Hi, just following up in case it was missed. If you could clarify where the C++ code change would be made and how to have it take effect, that'd be great. Thanks

                  Originally posted by pftq View Post

                  Can you be more specific with the steps? Not familiar with how C++ classes work or how to override delegates in UE4, hence why I'm using the plugin for now. Thank you
                  Originally posted by mordentral View Post


                  I'm looking into it actually, there are a lot of things that could be useful there, I would just have to make a new game instance class that extends the friends one to handle it.


                  NVM on that, forgot that just binding to it in general would cause default behavior to not fire, better to keep as a c++ bind if people want to do that.

                  How you would go about getting to it though is below

                  Code:
                   FOnlineSubsystemSteam* SteamSubsystem = (FOnlineSubsystemSteam*)(IOnlineSubsystem::Get(STEAM_SUBSYSTEM));
                  if (SteamSubsystem)
                  {
                  FOnlineAuthSteamUtilsPtr SteamAuthUtils = SteamSubsystem->GetAuthInterfaceUtils();
                  
                  if (SteamAuthUtils.IsValid())
                  SteamAuthUtils.Get()->OnAuthenticationResultDelegate // BIND HERE TO YOUR FUNCTION
                  {

                  Comment


                    Also in case anyone else gets routine connection issues on Steam to the host server, I found out I had to regularly call Update Sessions on the host server to keep Steam from dropping the host from the sessions list. I also stopped getting issues with players unable to rejoin an active game, but I'm not sure if the two issues are related.

                    Comment


                      Anyone knows its possible to create a ingame invite dialog? (instead of using the steam dialog)

                      Comment


                        Originally posted by pftq View Post
                        Hi, just following up in case it was missed. If you could clarify where the C++ code change would be made and how to have it take effect, that'd be great. Thanks



                        No c++ change needs to be made to the engine, you just need to go in and made a game class that the server always has access to, (GameMode/Session) and bind to that delegate. Binding to that delegate removes the auto kick feature so you'd have to handle kicking then.


                        Consider supporting me on patreon

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

                        Comment


                          Originally posted by SaphiGoat View Post

                          Using "MAPNAME" will pass the mapname correctly? But what about the Servername? my servernames are looking something like 9659872394576
                          I'm unsure as to the servername. I usually start my servers with the commandline
                          Code:
                          -SteamServerName="My Server Name"
                          and that updates for the Steam Listing.

                          Comment


                            Hey there!

                            I'm getting strange numbers when I use the "getcurrentplayers" node after I call the UpdateSession node.

                            Everything works fine when I create a session (the number that getcurrentplayers shows is correct), but the UpdateSession seems to mess the number of getcurrentplayers node.

                            Almost all the calls after the UpdateSession, the "getcurrentplayers" shows a int = MaxPlayers -- 2. Sometimes the int from "getcurrentplayers" comes a negative random...

                            Anyone knows whats is going on? Thanks!

                            Comment


                              hay, so for the life of me i cant get the god **** voip to work!

                              I'm working with the Example Project.
                              in the "Steam_VR_Player_Controller" i add the nodes as such (see picture below), what am i doing wrong??
                              PS- all the INI files are set up.


                              Click image for larger version  Name:	Untitled-1.jpg Views:	0 Size:	239.7 KB ID:	1797736

                              Comment


                                Originally posted by juliusD View Post
                                hay, so for the life of me i cant get the god **** voip to work!

                                I'm working with the Example Project.
                                in the "Steam_VR_Player_Controller" i add the nodes as such (see picture below), what am i doing wrong??
                                PS- all the INI files are set up.

                                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.


                                Consider supporting me on patreon

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

                                Comment

                                Working...
                                X