Announcement

Collapse
No announcement yet.

Advanced Sessions Plugin

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

  • replied
    Originally posted by mordentral View Post

    4.20 + of the engine is supposed to handle that now natively by using a special authentication packet handler that Epic added.



    See
    https://docs.unrealengine.com/en-US/...eam/index.html

    at the Steam Online Authentication section.
    As additional for OnlineSubsystem Steam I used
    Code:
    [PacketHandlerComponents]
    +Components=OnlineSubsystemSteam.SteamAuthComponentModuleInterface
    But in this case I can get GetAuthInterface() from Steam IOnlineSubsystem*

    I read OnlineSubsystemSteam.h and can see that
    Code:
    virtual FOnlineAuthSteamPtr GetAuthInterface() const;
    not in same list that other Steam interfaces, so I can't understand how I can get access to the AuthInterface

    p.s. I'm not using steamworks sdk, only Steam OSS plugin
    Last edited by KGB1st; 11-20-2019, 01:17 PM.

    Leave a comment:


  • replied
    Hello, im using unreal 4.23 and a blank project. I followed all the steps placed the plugins in the project plugins folder. When i try to export the project i get sevaral erros. Heres the log
    https://paste.ofcode.org/hfEP4ADVjzwEz2QQJiP6PV

    Leave a comment:


  • replied
    Originally posted by Rareden View Post

    Extra settings string for the player name who is hosting and such
    Ive tried removing all extra settings and even using the default create session but its still the same result with being unable to parse the search result for the lobby or says
    Code:
    LogOnlineSession: Warning: STEAM: Invalid session info on search result
    Not sure on that then, I don't really have anything to go off of, that warning is returned if the session info isn't valid on join session. Unless you are trying to replicate it or something though then it should be valid, the steam subsystem fails out on validity if the cases quoted below.

    Code:
        virtual bool IsValid() const override
        {
            switch (SessionType)
            {
            case ESteamSession::LobbySession:
                return SteamP2PAddr.IsValid() && SteamP2PAddr->IsValid() && SessionId.IsValid();
            case ESteamSession::AdvertisedSessionHost:
            case ESteamSession::AdvertisedSessionClient:
                return ((SteamP2PAddr.IsValid() && SteamP2PAddr->IsValid()) || (HostAddr.IsValid() && HostAddr->IsValid())) && SessionId.IsValid();
            case ESteamSession::LANSession:
            default:
                // LAN case
                return HostAddr.IsValid() && HostAddr->IsValid();
            }
        }
    Originally posted by Psyco_Gaming_Lab View Post
    Hello guys.

    I have a problem with the plugins and steam. When I find session I get 9999 ping and the slot remaning 1/10.
    The plugin work fine to LAN and on editor but not when I build and I try with my friend on steam.

    Thx you
    Steam lobbies don't support pingback, you would need to implement it yourself if using the lobby system (non dedicated servers).

    Leave a comment:


  • replied
    Hello guys.

    I have a problem with the plugins and steam. When I find session I get 9999 ping and the slot remaning 1/10.
    The plugin work fine to LAN and on editor but not when I build and I try with my friend on steam.

    Thx you

    Leave a comment:


  • replied
    Originally posted by mordentral View Post

    What is that extra setting key and its value? Its invalid, whatever it is.
    Extra settings string for the player name who is hosting and such
    Ive tried removing all extra settings and even using the default create session but its still the same result with being unable to parse the search result for the lobby or says
    Code:
    LogOnlineSession: Warning: STEAM: Invalid session info on search result
    Last edited by Rareden; 11-06-2019, 12:48 AM.

    Leave a comment:


  • replied
    Originally posted by Rareden View Post
    Been getting this error recently for some reason, unable to invite or find any sessions when searching(using our own ID)
    on 4.23.1
     
    Spoiler
    What is that extra setting key and its value? Its invalid, whatever it is.

    Leave a comment:


  • replied
    Been getting this error recently for some reason, unable to invite or find any sessions when searching(using our own ID)
    on 4.23.1
     
    Spoiler
    Last edited by Rareden; 11-05-2019, 03:25 AM.

    Leave a comment:


  • replied
    Originally posted by Bas_Koning View Post
    Reinstalled unreal 4.23.1, added advanced sessions to project plugin folder, add class, compile, no more error. I think my perhaps my older version of unreal was still polluted with the old version of advanced sessions (I simply removed it from the engine plugin folder). I had several crashes with that older unreal as well: perhaps setting some folder/files it was working on to 'read only', which would create that very error message. So that could also be it. (but then: I did try it out on freshly created projects as well... ) Anyway, its working now
    Deleting intermediate folders generally fixes issues like that, the generated meta code can get stale.

    Leave a comment:


  • replied
    Reinstalled unreal 4.23.1, added advanced sessions to project plugin folder, add class, compile, no more error. I think my perhaps my older version of unreal was still polluted with the old version of advanced sessions (I simply removed it from the engine plugin folder). I had several crashes with that older unreal as well: perhaps setting some folder/files it was working on to 'read only', which would create that very error message. So that could also be it. (but then: I did try it out on freshly created projects as well... ) Anyway, its working now

    Leave a comment:


  • replied
    I am sorry for being such a noob, but all the youtube tutorials on this fail to help me out it seems: after version 20 (I am using 4.23.1) I am supposed to install the plugin in the project folder. Ok. But then I have to add an empty c++ class. But that wont work. I get:

    Creating makefile for ConnectFourEditor (no existing makefile) Parsing headers for ConnectFourEditor Running UnrealHeaderTool "F:\Unreal4\ConnectFour\ConnectFour.uproject" "F:\Unreal4\ConnectFour\Intermediate\Build\Win64\ConnectFourEditor\Development\ConnectFourEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed -FailIfGeneratedCodeChanges ERROR: 'F:/Unreal4/ConnectFour/Plugins/AdvancedSessions/AdvancedSessions/Intermediate/Build/Win64/UE4Editor/Inc/AdvancedSessions/BlueprintDataDefinitions.generated.h': Changes to generated code are not allowed - conflicts written to 'F:/Unreal4/ConnectFour/Plugins/AdvancedSessions/AdvancedSessions/Intermediate/Build/Win64/UE4Editor/Inc/AdvancedSessions/Bluep rintDataDefinitions.generated.h.conflict'

    So now I am stuck? What should I do? Skip this step? Put it in the engine/plugin folder anyway?

    Snippet from install procedure:
    • Extract the file inside the zip to ProjectFolder/Plugins/AdvancedSessions (create /Plugins/AdvancedSessions if you have to) Note that post 4.20 you shouldn't be installing it in the engine directory anymore due to some changes epic made that are hard to work around with me having multiple modules.
    • If installed at the project level you need to Create a C++ blank file in the editor to allow it to package out the plugin - If installed at the engine level you do not need to do anything else.
    Last edited by Bas_Koning; 10-31-2019, 09:09 AM.

    Leave a comment:


  • replied
    Thanks, was thinking something along those lines.

    The use case for clients adjusting settings is eg. a room/lobby owner having the power to change a game mode (eg. from deathmatch to capture the flag). But I am not having them directly adjust settings; i'm triggering individual setting changes on the server via RPC calls.

    Leave a comment:


  • replied
    Originally posted by PhoenixSmurf View Post
    Is there an elegant way to pass the ExtraSessionSettings over to clients? Or to request newer information from the client to its session (without refinding sessions)? The situation is, I have one client tell the server to change its game session extra settings, then I want all clients to get that information. I've tried passing an array of SessionPropertyKeyPair structs to an OnUpdate client RPC call but the information doesn't appear to replicate; an array of 3 elements arrives on the client RPC but it's all None/0/null data.
    Just keep an actual array of settings on the server, fill out the extra settings from that array, not the other way around, you are approaching it backwards. Even if I made the extra settings array replicate it would be a generally bad idea as all of the extra key names and a lot of the data are string formatted and it would be a bandwidth waste.

    Generally I will also note that clients shouldn't be "telling" the server to update session settings. Not entirely sure what you are doing there.

    Leave a comment:


  • replied
    Is there an elegant way to pass the ExtraSessionSettings over to clients? Or to request newer information from the client to its session (without refinding sessions)? The situation is, I have one client tell the server to change its game session extra settings, then I want all clients to get that information. I've tried passing an array of SessionPropertyKeyPair structs to an OnUpdate client RPC call but the information doesn't appear to replicate; an array of 3 elements arrives on the client RPC but it's all None/0/null data.
    Last edited by PhoenixSmurf; 10-30-2019, 04:05 AM.

    Leave a comment:


  • replied
    Hmm that seems to resolve getting session settings, unfortunately UpdateSession still appears to fail on PIE

    UPDATE:
    However, switching UUpdateSessionCallbackProxyAdvanced::Activate() and ::OnUpdateCompleted() to use WorldContextObject->GetWorld(); seems to help.

    I'm guessing the same fix may apply to the calls to GetWorld() in FindFriendSessionCallbackProxy (but I haven't tried it)

    I don't know enough about AdvancedFriendsGameInstance to know if it's an issue there or not sorry
    Last edited by PhoenixSmurf; 10-30-2019, 03:32 AM.

    Leave a comment:


  • replied
    Amazing!! Thanks so much! Getting latest now....

    Leave a comment:

Working...
X