Advanced Sessions Plugin

[QUOTE=Andrea92;667302]
I get the error message which says that the plugin is not compatible …

Alright, i’ll re-build it over again. Ug

Edit I’ll try to remember to full clean my binaries on major updates in the future. Sometimes its required.

ReEdit Uploaded

1 Like

[QUOTE=;667312]
Alright, i’ll re-build it over again. Ug

Edit I’ll try to remember to full clean my binaries on major updates in the future. Sometimes its required.

ReEdit Uploaded

It works now, thanks for the support

1 Like

I am having trouble finding sessions. I am only able to find sessions if I check the “Use LAN” box when creating a session. However I want to be able to play my game over the internet. OSS is steam.

This runs only on the dedicated server, in the game instance BP. This is where the session is created.

This runs on the player pawn BP. This is where find session is called.

This is the text output that you can see from the above BPs. Same results when I use a packaged version.

Edit: I should note I can join the server if I use “Open IP:Port” but clearly that defeats the purpose of using the sessions.

Edit2: I tested this in 4.14 and it works, so I’m guessing the plugin is bugged in the 4.15 version?

1 Like

[QUOTE=JLBXB3;670250]
I am having trouble finding sessions. I am only able to find sessions if I check the “Use LAN” box when creating a session. However I want to be able to play my game over the internet. OSS is steam.

Edit: I should note I can join the server if I use “Open IP:Port” but clearly that defeats the purpose of using the sessions.

Edit2: I tested this in 4.14 and it works, so I’m guessing the plugin is bugged in the 4.15 version?

If it works in 4.14 and not 4.15 then you are likely trying to run 4.15 off of the wrong plugin binaries and its throwing incompatible engine versions.

Check your game log for a sessions warning saying incompatible engine version when looking for servers.

Preview build binaries may “run” for full releases but will have sessions rejected due to the actual build ID being different, sessions work in 4.15 just fine and the session finding code is mostly the same between the plugin and the default nodes.

1 Like

[QUOTE=;670525]
If it works in 4.14 and not 4.15 then you are likely trying to run 4.15 off of the wrong plugin binaries and its throwing incompatible engine versions.

Check your game log for a sessions warning saying incompatible engine version when looking for servers.

Preview build binaries may “run” for full releases but will have sessions rejected due to the actual build ID being different, sessions work in 4.15 just fine and the session finding code is mostly the same between the plugin and the default nodes.

Not sure I am understanding. 4.14 works perfect for me with both the github source and launcher. However, using 4.15 from github doesn’t work. And I just tried with 4.15 from the launcher version and a fresh project as well, and that has the same behavior as the github engine. The plugin is installed correctly, I don’t have any errors in the log file, and I have the needed stuff added to the config files. Again, it works perfectly in 4.14, but not in 4.15. The 4.15 version always returns an empty “Results” despite it saying it was successful. Not sure what else could be the problem. I really love this plugin but I don’t want to have to pick between using the plugin or using 4.15, although I will pick the plugin and stay with 4.14 if I have to haha.

If you want me to make a comprehensive video or something of how to recreate the problem I will, let me know. I’m also willing to make a video explaining how to get this to work with source/dedicated servers since there seems to be a lot of requests for that, but I’d rather show it in 4.15 than 4.14. Thank you for all your hard work on this plugin!

1 Like

[QUOTE=JLBXB3;670840]
Not sure I am understanding. 4.14 works perfect for me with both the github source and launcher. However, using 4.15 from github doesn’t work. And I just tried with 4.15 from the launcher version and a fresh project as well, and that has the same behavior as the github engine. The plugin is installed correctly, I don’t have any errors in the log file, and I have the needed stuff added to the config files. Again, it works perfectly in 4.14, but not in 4.15. The 4.15 version always returns an empty “Results” despite it saying it was successful. Not sure what else could be the problem. I really love this plugin but I don’t want to have to pick between using the plugin or using 4.15, although I will pick the plugin and stay with 4.14 if I have to haha.

If you want me to make a comprehensive video or something of how to recreate the problem I will, let me know. I’m also willing to make a video explaining how to get this to work with source/dedicated servers since there seems to be a lot of requests for that, but I’d rather show it in 4.15 than 4.14. Thank you for all your hard work on this plugin!

As far as I am aware the only real change in 4.15 for sessions in the engine is that the private connections count variable is respected now (it wasn’t before). The plugin is working fine with non dedicated sessions (I have a project using it), so its kind of hard to debug your specific issue as I don’t have a dedicated server project on hand.

1 Like

[QUOTE=;670872]
As far as I am aware the only real change in 4.15 for sessions in the engine is that the private connections count variable is respected now (it wasn’t before). The plugin is working fine with non dedicated sessions (I have a project using it), so its kind of hard to debug your specific issue as I don’t have a dedicated server project on hand.

You can just check the “run dedicated server” box in the Play options drop down and it will run a dedicated server in the background, it’s not perfect, but it let’s you test the functionality. You can’t use it in a package and has some other problems, but in this context it behaves exactly the same, and you don’t need to compile the engine. You can then use the “is dedicated” bool to separate server functionality from client. Should I upload a project?

If I set “Use LAN” will that exclude me from finding the session over the internet?

1 Like

[QUOTE=JLBXB3;670874]
You can just check the “run dedicated server” box in the Play options drop down and it will run a dedicated server in the background, it’s not perfect, but it let’s you test the functionality. You can’t use it in a package and has some other problems, but in this context it behaves exactly the same, and you don’t need to compile the engine. You can then use the “is dedicated” bool to separate server functionality from client. Should I upload a project?

If I set “Use LAN” will that exclude me from finding the session over the internet?

Yes Use Lan excludes internet sessions, the dedicated in the editor does not actually let you test steam sessions.

1 Like

The non dedicated server, doesn’t work either. The Example blueprint doesn’t work as well. :confused: I have no idea what to do, if you say it works I really have no idea. I tried on two different computers and I used all the same steps I used for previous versions.

1 Like

Hallo, i expirance same problem of not finding Session in steam with Find Session Advanced but I can find session with original Find Session. So Create Advanced Session works fine and plugin and steam is setup correctly, I use my own SteamAppId, no 480. Engine is compiled from source. Project is cooked in Shipping build. UE 4 version 4.14.3.

1 Like

[QUOTE=JLBXB3;670939]
The non dedicated server, doesn’t work either. The Example blueprint doesn’t work as well. :confused: I have no idea what to do, if you say it works I really have no idea. I tried on two different computers and I used all the same steps I used for previous versions.

When not using dedicated servers, turn on bUsePresence on create session, it defaults to off with dedicated server hosting because they can’t use it but its technically an option for normal sessions (though generally also required to be on for them).

I have multiple projects that package out fine and find other players fine in 4.15, you can give me a copy of your connection nodes if you want and I can look through them.

Edit I’m curious if you still have issues if you use online subsystem null and a LAN host? Or use the default nodes to begin with? Generally the only difference is that the plugin may still be an engine version behind in binaries and throws “Incompatible Build ID” into the log and rejects results and requires a re-build. The searching for sessions code is pretty much the same except for when filters are involved.

[QUOTE=Positivity;671005]
Hallo, i expirance same problem of not finding Session in steam with Find Session Advanced but I can find session with original Find Session. So Create Advanced Session works fine and plugin and steam is setup correctly, I use my own SteamAppId, no 480. Engine is compiled from source. Project is cooked in Shipping build. UE 4 version 4.14.3.

That sounds like a filters issue (searching for a filter that doesn’t exist). 4.14 is also confirmed as working and there have been no changes to the FindSessions official node since November of 2016.

1 Like

I have Question does it can happan if i have nothing pluged in thous Filters ?
This is how its Setup For Finding session: Screenshot - 3138e3db948cd520cddbb8b55a4455ec - Gyazo
And this is how its setup Create Session : Screenshot - 10bf7d4b4fdd4afe30e2d21d9bc1515d - Gyazo
Use Lan is False in that picture.
Maybe My setup is wrong ? or im missing something ?

1 Like

[QUOTE=Positivity;671098]
I have Question does it can happan if i have nothing pluged in thous Filters ?
This is how its Setup For Finding session: Screenshot - 3138e3db948cd520cddbb8b55a4455ec - Gyazo
And this is how its setup Create Session : Screenshot - 10bf7d4b4fdd4afe30e2d21d9bc1515d - Gyazo
Use Lan is False in that picture.
Maybe My setup is wrong ? or im missing something ?

You have search results set to 0 in the FindSessionsNode, in Steam at least the code should print a warning to console that you won’t find any sessions with that set to 0. The default NULL subsystem doesn’t use that variable from what I can find in code so LAN and NULL subsystem tests would work fine with it but steam “should” fail. I will also note that you have a “GitLan” node hooked up to the standard FindSessions node but not up to the Advanced sessions node, it is being checked in the CreateAdvancedSessions node though so if true then there will be a mismatch for LAN mode between finding and creating sessions.

Other than that, you would need to post your log file so I could see what warnings print out.

1 Like

I wish i was able to get any logs, Shiping builds and logs are not friends … I tryed setting Search Results to some number but it didnt help, On Simple Find session i can leave it 0 and i can see Servers in Server list. Oh and that bool i disconnected after the Test. I will try to make deveoloper build to maybe get some logs. Thanks

1 Like

[QUOTE=Positivity;671133]
I wish i was able to get any logs, Shiping builds and logs are not friends … I tryed setting Search Results to some number but it didnt help, On Simple Find session i can leave it 0 and i can see Servers in Server list. Oh and that bool i disconnected after the Test. I will try to make deveoloper build to maybe get some logs. Thanks

Yes you can leave that at zero in non steam builds, in steam builds it is supposed to return 0 with that set to 0, if it isn’t than that in itself is a bug.

Package a developer build and run with -log in the command line with a shortcut.

1 Like

My steam Id is returning a random number every time. someone know why this is happening? on the tutorial video it was working fine with the same number

1 Like

I started adding in the Steam Workshop API as being supported in the plugin today. I noticed some recent reports of users wanting blueprint access to it. Will be a bit of testing before its ready for release but proof of concept is already functional.

1 Like

Hi ,

We are building player cards for each player as they join the server. I wont run through all of the particulars, but we are getting the PlayerArray after LogIn and then pulling the UniqueNetIDs from there. It all works, refreshes and everything, except the name always seems to be the player on the local controller 0. The avatar is correct, but the name is wrong. I have nothing bound that I can tell and I just add a player card widget for each player in the array. You can see the player card hook up below. Could this be a bug perhaps?

1 Like

[QUOTE=PDubulous;671313]
Hi ,

We are building player cards for each player as they join the server. I wont run through all of the particulars, but we are getting the PlayerArray after LogIn and then pulling the UniqueNetIDs from there. It all works, refreshes and everything, except the name always seems to be the player on the local controller 0. The avatar is correct, but the name is wrong. I have nothing bound that I can tell and I just add a player card widget for each player in the array. You can see the player card hook up below. Could this be a bug perhaps?

Edit Whoops thats the indentity interface

Identity interface is local users only. You can get the player name directly from the GetFreindInfo() node and then breaking the FreindInfo structure.

For the record there IS a virtual const char GetFriendPersonaName( CSteamID steamIDFriend ) function in Steam, but the Identity Interface in UE4 calls const char PersonaName = SteamFriendsPtr->GetPersonaName() for both local users and UniqueNetIDs.

I actually assume that is a bug in their implementation…that or Epic REALLY wanted to enforce the Identity interface being local users only.

You should also note btw that RequestSteamFriendInfo is an async request, you are not going to get results back right away. If you want a higher res image you may need to wait for it to be downloaded first.

Edit Forgot to mention, the RequestSteamFriendInfo returns true if the information is fully downloaded, false if it hasn’t finished downloading yet.

1 Like

[QUOTE=;671327]
Edit Whoops thats the indentity interface

Identity interface is local users only. You can get the player name directly from the GetFreindInfo() node and then breaking the FreindInfo structure.

For the record there IS a virtual const char GetFriendPersonaName( CSteamID steamIDFriend ) function in Steam, but the Identity Interface in UE4 calls const char PersonaName = SteamFriendsPtr->GetPersonaName() for both local users and UniqueNetIDs.

I actually assume that is a bug in their implementation…that or Epic REALLY wanted to enforce the Identity interface being local users only.

You should also note btw that RequestSteamFriendInfo is an async request, you are not going to get results back right away. If you want a higher res image you may need to wait for it to be downloaded first.

Edit Forgot to mention, the RequestSteamFriendInfo returns true if the information is fully downloaded, false if it hasn’t finished downloading yet.

Thanks for all of that info. I did read your notes about requesting the info, I think I just never took it out. I’ll take a look at all of that then. Thanks for all your work on this plug in. Its awesome!.

1 Like