Advanced Sessions Plugin

[QUOTE=;715074]
Thats not true, you can make a dedicated server without authentication, but you can’t AUTHENTICATE users as valid owners of your game, so pirated copies would be able to play on those servers.

Possibly, but not sure how you would connect to that server tho. Steam will not list dedicated servers with missing authentication, if you connect with IP you will connect, but the server will never be advertised on the master servers.

The advanced sessions does not come with any UE4Server- AdvancedSession.lib so I can’t get the plugin to work on a dedicated server build without removing the plugin. is there a fix/alternative to this? Thank you

Trying to build a dedicated server with the plugin installed gives the error ‘FailedUnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: D:\ue4 projects\fps_shooter\Plugins\AdvancedSessions\AdvancedSessions\Binaries\Win64\UE4Server-AdvancedSessions.lib’ The error appears to be a missing .lib in the binary folder, any suggestions/fixes would be much appreciated. **Thanks **

[QUOTE=MADHOUSE;715145]
Possibly, but not sure how you would connect to that server tho. Steam will not list dedicated servers with missing authentication, if you connect with IP you will connect, but the server will never be advertised on the master servers.

But they are…People are already doing it.

[QUOTE=dMsLT;714431]
you’re a superhero in UE4 world! Thank you so much for doing this.

One thing that I still don’t understand is how to mute the opposing team. I’m doing it like this in PlayerCharacterBP:

“Mute the Other Team” event gets called from GameInstance when new round starts.

But it seems everyone gets muted. If I don’t replicate the event nobody gets muted.

Bump. What am I doing wrong here? And also why does sometimes audio comeback when I ALT+TAB?

[QUOTE=pink_pony;715216]
Trying to build a dedicated server with the plugin installed gives the error ‘FailedUnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: D:\ue4 projects\fps_shooter\Plugins\AdvancedSessions\AdvancedSessions\Binaries\Win64\UE4Server-AdvancedSessions.lib’ The error appears to be a missing .lib in the binary folder, any suggestions/fixes would be much appreciated. **Thanks **

You’ll have to manually compile the plugin for a dedicated server, I can’t pre-compile it as it requires a custom engine branch and thus would already be incompatible with YOUR custom engine branch anyway.

[QUOTE=dMsLT;715640]
Bump. What am I doing wrong here? And also why does sometimes audio comeback when I ALT+TAB?

Don’t know about the alt tab, shouldn’t effect muting as the audio components should still obey it, that would be on Epics end (actually all of the voice is on their end).

As for muting everyone, you’ll have to step through that code and make sure that your comparison is working correctly, its also possible that the team numbers haven’t replicated over to the clients yet when you run that function.

Also you can combine that into one line but just comparing the players Team1 == RemotePlayer.Team1, and drop having two booleans. Should really be a byte or something for a team index instead honestly.

Thank you so much for this plugin! If I use a filter on the find session advanced it did not filter … and when I filter with filter session results it works perfectly :stuck_out_tongue: (just wanted to mention maybe I just did something wrong or shouldnt filter on the find node my version is 4.15) … Sorry to ask this question, but I did not find anything about it: On create advanced session the booleans (anti cheat protect, should advertise and use stats) what do they do? or how do I use them, because if it is just a boolean I could make it in extra settings, but I think you already made some functions for those points would be nice if you could explain it a little bit and thank you so much :slight_smile:

[QUOTE=Bull-Pati;717235]
Thank you so much for this plugin! If I use a filter on the find session advanced it did not filter … and when I filter with filter session results it works perfectly :stuck_out_tongue: (just wanted to mention maybe I just did something wrong or shouldnt filter on the find node my version is 4.15) … Sorry to ask this question, but I did not find anything about it: On create advanced session the booleans (anti cheat protect, should advertise and use stats) what do they do? or how do I use them, because if it is just a boolean I could make it in extra settings, but I think you already made some functions for those points would be nice if you could explain it a little bit and thank you so much :slight_smile:

Those are booleans that the SessionSettings have in them, they are only exposed to provide full access to the settings, there is no custom anticheat or stats implemented. If the subsystem supports those already then they would have a use.

As for filtering, find sessions should filter, but its on the subsystem or server side (depending on implementation), Steam and NULL subsystems filter by those values but for some subsystems that may not in their implementations you may have to use the manual filter.

Thanks for the fast answer … yes I use NULL subsystem and tried it many times with both filters, but only the extern worked. Also i just duplicated my project some days ago for testing the filters and now the session result array is always empty (without filtering) … So I opened my older project and everything worked … I also tried the filters on this project and also only the external filter worked. (On the other project the find node dont work anymore even it is the same like on my older project I am really confused rn)

I try to implement playfab with photon and thought for testing i should use the Null subsystem, but like you said maybe the subsystem handles it different - so I should test it with the subsytem instead of the null?

UPDATE: After couple of hours finding the error I finally found it and did not expect it (When I deactivate the "should advertise boolean by create advanced session I do not find any sessions, but when I activate them again and enable the boolean everything works fine again) … seems strange to me

Is there any way to attach a players voice to their character in the world? So you can only hear someone if you’re next to them.

[QUOTE=rojo8399;717806]
Is there any way to attach a players voice to their character in the world? So you can only hear someone if you’re next to them.

Not really, you’d have to go into engine source and change some things about how the current audio engines work. Its not a difficult change to make, but I couldn’t dig into there through a plugin (and I did look multiple times).

Its one of the most requested engine features so at some point I assume they would have to make it more accessible for voice.

Hello, I have the steam avatar set to large, and I am scaling it to 100 but the screen profile picture is cut off on the bottom. Any idea why?


[QUOTE=Ericode;719109]
Hello, I have the steam avatar set to large, and I am scaling it to 100 but the screen profile picture is cut off on the bottom. Any idea why?

When you make a brush from texture you are cropping it, as you are forcing it to 100x100 there.

Use the textures width / height there instead.

Thanks for this, downloaded just now. Also have a beer (donated)

I have the 4.15 version of plugin and it compiles normally and I can use it in editor… however when I try to package the game this appears.

Severity Code Description Project File Line Suppression State
Error (active) pointer to incomplete class type is not allowed BoD_Fix d:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2027 use of undefined type ‘ULocalPlayer’ BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2227 left of ‘->GetControllerId’ must point to class/struct/union/generic type BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2660 ‘UGameplayStatics::GetPlayerController’: function does not take 1 arguments BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2027 use of undefined type ‘ULocalPlayer’ BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedIdentityLibrary.cpp 35
Error C2227 left of ‘->GetControllerId’ must point to class/struct/union/generic type BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedIdentityLibrary.cpp 35
Error Failed to produce item: D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Binaries\Win64\BoD_Fix-AdvancedSessions.lib BoD_Fix D:\BoD - Copy 4.15\Intermediate\ProjectFiles\ERROR 1
Error MSB3075 The command “D:\UnrealEngine-4.15\Engine\Build\BatchFiles\Build.bat BoD_Fix Win64 Development “D:\BoD - Copy 4.15\BoD_Fix.uproject” -waitmutex” exited with code 5. Please verify that you have sufficient rights to run this command. BoD_Fix C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 41

[QUOTE=Control;720219]
I have the 4.15 version of plugin and it compiles normally and I can use it in editor… however when I try to package the game this appears.

Severity Code Description Project File Line Suppression State
Error (active) pointer to incomplete class type is not allowed BoD_Fix d:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2027 use of undefined type ‘ULocalPlayer’ BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2227 left of ‘->GetControllerId’ must point to class/struct/union/generic type BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2660 ‘UGameplayStatics::GetPlayerController’: function does not take 1 arguments BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedFriendsGameInstance.cpp 225
Error C2027 use of undefined type ‘ULocalPlayer’ BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedIdentityLibrary.cpp 35
Error C2227 left of ‘->GetControllerId’ must point to class/struct/union/generic type BoD_Fix D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Source\AdvancedSessions\Private\AdvancedIdentityLibrary.cpp 35
Error Failed to produce item: D:\BoD - Copy 4.15\Plugins\AdvancedSessions\Binaries\Win64\BoD_Fix-AdvancedSessions.lib BoD_Fix D:\BoD - Copy 4.15\Intermediate\ProjectFiles\ERROR 1
Error MSB3075 The command “D:\UnrealEngine-4.15\Engine\Build\BatchFiles\Build.bat BoD_Fix Win64 Development “D:\BoD - Copy 4.15\BoD_Fix.uproject” -waitmutex” exited with code 5. Please verify that you have sufficient rights to run this command. BoD_Fix C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 41

Download the latest version, I added some LocalPlayer includes in those files.

Don’t know why UBT passes on things like this for most, it should always be thrown as an error, not just sometimes for some people.

How/Where do I update the session?

I was trying to use “Update Session” at game instance but it fails (NO REGISTERED SESSION!) and I tried to check if the player is in a session with “Is Player in Session” but it fails. The same go to “Get Session Settings”.

after creating a session, how do I get the “Blueprint session result structure” so I can get/set the current session ‘extra settings’?
I’ve been trying a lot to find this but I had no success =(

[QUOTE=gustavorios2;721044]
after creating a session, how do I get the “Blueprint session result structure” so I can get/set the current session ‘extra settings’?
I’ve been trying a lot to find this but I had no success =(

Maybe this is what you are wondering and will help?

It works in CardinalMenu. Setting ExtraSettings when first hosting can be found in WidgetBlueprint’/Game/Cardinal/MainMenu/Blueprints/UI/PlayGamePanels/HostGame.HostGame’ under the function HostGame which is then passed to BP_GameInstance where the Create Advanced Session node is called.

The Session Extra Settings are then modified in Blueprint’/Game/ThirdPersonExample/Blueprints/ThirdPersonGameMode.ThirdPersonGameMode’ Event Graph using an Update Session node.

It took me a lot of hours to figure it out. It may or may not be the best method, but it works. (Btw, your game looks really cool)

Edit, btw I just realized CardinalMenu’s session update won’t be called again if it fails. The new release will fix that if you happened to notice it.

770d9ad7a8d765fed2a4574436d8c003751a7237.jpeg