Advanced Sessions Plugin

[quote=“Psy-Lance, post:2628, topic:30020”]

I find it ridiculous that there isn’t an official tutorial on how to make this work (and no sign of the limitations put on appID 480). What’s the point of making a plugin if nobody is told how to use it properly?

i couldn’t agree with you more

[quote=“Frozenfire, post:319, topic:30020”]

Question ,

how do you take the UniqueNetId for another player?

It seems that it require PlayerController and they only exist on server and owning client.
Hence , only server can get the UniqueNetIdfor everyone. And you can only get your own UniqueNetId.
There is no way for client to get the uniqueID of another player. I try forcefully passing the controller over . resulting in bad unique ID.

So if you can’t get UniqueNetId, how then are you going to mute another player ( i’m developing a team-based game and is needing to unregister/mute opposing team )
I also cannot get steam avatar of another player.
It seems that a lot cannot be done without UniqueNetId

Is there a way to get UniqueNetIdfrom Playerstate , this is where i believe the actual UniqueNetIdis being stored isn’t it?
Please share an ideal solution if you know any. thanks

This is also what I want to say, I also encountered the same problem, do not know how to solve

[quote=“Anonymous_f7fb93c3ef3e41133cc5de562ce6dbbe, post:2631, topic:30020”]

This is also what I want to say, I also encountered the same problem, do not know how to solve

Epic stores remote unique net ids in the player state struct. Get the GameState->PlayerArray each player in that list you can get the unique net id from and use it.

[quote=“Psy-Lance, post:2628, topic:30020”]

I find it ridiculous that there isn’t an official tutorial on how to make this work (and no sign of the limitations put on appID 480). What’s the point of making a plugin if nobody is told how to use it properly?

AppID480 isn’t my ID, it is valves and I don’t control anything about it, nor do I control what settings you use on your own AppID, and valve has extensive documentation of their own.

This also doesn’t re-write the subsystems any, it just exposes engine features to BP that aren’t exposed in engine. There are plenty of tutorials out there for subsystems in ue4 in general, they all generally apply, not to mention the ones specific to this plugin that users have made.

Also, just to vent a bit.

I have kept it maintained and working for 5 years (even after mostly feature locking it), gave it for free to anyone that wanted to use it, and let people make tutorials off of it at will (of which there are many now). Tutorials are not my strong point, many people better than me at them have made some.

In the end this plugin was a stop gap way back in 4.6 until the engines blueprint interface for sessions was finished, it wasn’t intended to be the main way of doing it for years…

Hi guys. So, i have a problem. When i start standalone in engine, there is no steam overlay and Spacewar in steam, but if i launch game from project file, its ok. I have no clue why it is like that. Is someone experienceв with this problem or can help?

[quote=“Psy-Lance, post:2628, topic:30020”]

I find it ridiculous that there isn’t an official tutorial on how to make this work (and no sign of the limitations put on appID 480). What’s the point of making a plugin if nobody is told how to use it properly?

This is a plugin created and made available for free by a community member - Many games have shipped with it successfully, and the amount of support provides for his work is honorable. There’s no room for non-constructive complaints here.

[quote=“VictorLerp, post:2634, topic:30020”]

This is a plugin created and made available for free by a community member - Many games have shipped with it successfully, and the amount of support provides for his work is honorable. There’s no room for non-constructive complaints here.

It was not my intention to complain, I see how it obviously looks like a complaint, it was merely a thought. I really like the fact a lot of people are able to make games because of the people in the community contributing with stuff. I forgot to thank , thank you very much for this plugin <3. And sorry for my ****.

Now that I look at my post I ask myself what the point of it was… it looks like something a child would do; complain to get something. Which wasn’t my intention.

[quote=“J.i.n.n, post:2633, topic:30020”]

Hi guys. So, i have a problem. When i start standalone in engine, there is no steam overlay and Spacewar in steam, but if i launch game from project file, its ok. I have no clue why it is like that. Is someone experienceв with this problem or can help?

From what I’ve learned is that it is normal for it to be like that. But I am not an expert.

–now I noticed replied to my stupidity blushing out of shame
I know appID 480 is valve stuff which is why I added the parenthesis. Maybe I just suck at googling…

hi there, ty for ur awesome plugin

I’m using advanced voice and VOIP in ue4.25
and everything working fine,
but the only problem is, the voice chat system only works if we join the server with join session
if we connect to the server with IP address like “open IP” the voice not gone work this way

btw I’m using a dedicated server and I host the game with the dedicated server instead of listen server,
I need to use find sessions advanced and join session
but I can’t find sessions on the internet on a dedicated server, is there a way that I can find a session on a specific IP?
how can I address find a session to look into my dedicated server and find sessions there?

I will be grateful if someone helps me,
sorry for my bad English

btw I’m using online subsystem null, not steam or any other

another approach to solve this, create custom search result for “join session” bp node,
how can I create custom search result of session in dedicated server

[quote=“Nobandegan, post:2636, topic:30020”]

hi there, ty for ur awesome plugin

I’m using advanced voice and VOIP in ue4.25
and everything working fine,
but the only problem is, the voice chat system only works if we join the server with join session
if we connect to the server with IP address like “open IP” the voice not gone work this way

btw I’m using a dedicated server and I host the game with the dedicated server instead of listen server,
I need to use find sessions advanced and join session
but I can’t find sessions on the internet on a dedicated server, is there a way that I can find a session on a specific IP?
how can I address find a session to look into my dedicated server and find sessions there?

I will be grateful if someone helps me,
sorry for my bad English

btw I’m using online subsystem null, not steam or any other

another approach to solve this, create custom search result for “join session” bp node,
how can I create custom search result of session in dedicated server

Its because the voice engine only spools up and registers players in session for it, and identifies them by their unique net id, something that they don’t have if just opening into the server.

Hi, Thanks for the awesome plugin! I was able to get it working with my own steamid but one issue I have is connecting to a LAN server. Connecting to a local server works fine and connecting to a remote server works fine but when I connect to a lan server on the same subnet I am not able to connect and I am not sure where the connection is breaking. I have pasted the log below. To my knowledge, they are communicating back and forth and a timeout occurs possibly on the Linux server. Any help would be greatly appreciated!

Client: Windows 64 bit
Server: Linux 64 bit



[2020.08.21-19.24.52:123][632]LogScript: Script Msg: Found a session. Ping is 9999
[2020.08.21-19.24.54:133] 99]LogOnline: Verbose: OSS: Async task 'FOnlineAsyncTaskSteamFindServers bWasSuccessful: 1 Results: 0' succeeded in 2.008253 seconds
[2020.08.21-19.24.54:135] 99]LogBlueprintUserMessages: [BP_SurvivalGameInstance_C_2147482603] Successfully joining server
[2020.08.21-19.24.54:135] 99]LogOnlineSession: STEAM: Using Host Data for Connection Serialization
[2020.08.21-19.24.54:135] 99]LogOnlineSession: OSS: Join session: traveling to 192.168.100.16:7777
[2020.08.21-19.24.54:135] 99]LogBlueprintUserMessages: [BP_SurvivalGameInstance_C_2147482603] Successfully joined server!!!
[2020.08.21-19.24.54:135] 99]LogNet: Browse: 192.168.100.16/Game/Maps/MainMenu
[2020.08.21-19.24.54:136] 99]LogInit: WinSock: Socket queue. Rx: 32768 (config 32768) Tx: 32768 (config 32768)
[2020.08.21-19.24.54:136] 99]LogNet: Created socket for bind address: 0.0.0.0 on port 0
[2020.08.21-19.24.54:136] 99]PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
[2020.08.21-19.24.54:137] 99]LogNet: Game client on port 7777, rate 10000
[2020.08.21-19.25.14:150][976]LogNet: Warning: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 20.01, Real: 20.01, Good: 20.01, DriverTime: 20.02, Threshold: 20.00, [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.08.21-19.25.14:150][976]LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = ConnectionTimeout, ErrorString = UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 20.01, Real: 20.01, Good: 20.01, DriverTime: 20.02, Threshold: 20.00, [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Driver = PendingNetDriver SteamNetDriver_2147482533
[2020.08.21-19.25.14:150][976]LogNet: Warning: Network Failure: PendingNetDriver[ConnectionTimeout]: UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 20.01, Real: 20.01, Good: 20.01, DriverTime: 20.02, Threshold: 20.00, [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.08.21-19.25.14:150][976]LogNet: NetworkFailure: ConnectionTimeout, Error: 'UNetConnection::Tick: Connection TIMED OUT. Closing connection.. Elapsed: 20.01, Real: 20.01, Good: 20.01, DriverTime: 20.02, Threshold: 20.00, [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID'
[2020.08.21-19.25.14:150][976]LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID, Channels: 2, Time: 2020.08.21-19.25.14
[2020.08.21-19.25.14:150][976]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 192.168.100.16:7777, Name: SteamNetConnection_2147482532, Driver: PendingNetDriver SteamNetDriver_2147482533, IsServer: NO, PC: NULL, Owner: NULL, UniqueId: INVALID
[2020.08.21-19.25.14:150][976]LogNet: DestroyNamedNetDriver SteamNetDriver_2147482533 [PendingNetDriver]
[2020.08.21-19.25.14:150][976]LogExit: PendingNetDriver SteamNetDriver_2147482533 shut down

Edit:
I am able to connect to a lan server on both windows and linux but i cant connect remotely. Any suggestions?

[quote=“, post:2637, topic:30020”]

Its because the voice engine only spools up and registers players in session for it, and identifies them by their unique net id, something that they don’t have if just opening into the server.

yes, I solve that problem, with creating a session for each client and then open ip , at least it working for now
but now I realized VOIP doesn’t work on dedicated servers with null subsystem, only work with listen server
do u have any workaround to get VOIP working with null subsystem and dedicated server

[quote=“, post:2632, topic:30020”]

Epic stores remote unique net ids in the player state struct. Get the GameState->PlayerArray each player in that list you can get the unique net id from and use it.

AppID480 isn’t my ID, it is valves and I don’t control anything about it, nor do I control what settings you use on your own AppID, and valve has extensive documentation of their own.

This also doesn’t re-write the subsystems any, it just exposes engine features to BP that aren’t exposed in engine. There are plenty of tutorials out there for subsystems in ue4 in general, they all generally apply, not to mention the ones specific to this plugin that users have made.

Also, just to vent a bit.

I have kept it maintained and working for 5 years (even after mostly feature locking it), gave it for free to anyone that wanted to use it, and let people make tutorials off of it at will (of which there are many now). Tutorials are not my strong point, many people better than me at them have made some.

In the end this plugin was a stop gap way back in 4.6 until the engines blueprint interface for sessions was finished, it wasn’t intended to be the main way of doing it for years…

Thank you very much for your reply. I also know how to use it.It’s true that plug-ins are great.The other thing is that I stop Networked Voice doesn’t work.It doesn’t work even on the server or on the client.

Is LocalPlayer Talking Is always false, even though I’m calling it from the UI.Or can it only be called in the Controller?

I just tested again to see that it wasn’t StopNetworked that wasn’t working, but that Is RemotePlayerTalking was always true.Even if other players are not sounding or StopNetworked.So I always thought StopNetworked didn’t work.But IsLocalPlayerTalking is always false

Hi, I’m just here to thank you and say that this plugin is great!
Thanks again. Cheers!

Hi, I’m confused as to what the limitations of testing with AppID 480 are. Should you be able to pull a Friends List using the 480 AppID? I see that I am getting a Unique Net ID from my player controller, but the Get and Store Friends List is only exiting through the On Failure route for me. (I understand 480 is a Valve/Steam sample ID for developers to use and that you don’t control it, , just trying to understand whether what I’m seeing is a limitation of using this App ID or if something else could be wrong). Appreciate any input anyone can provide!

I do have this stuff set in DefaultEngine.ini:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=“OnlineSubsystemSteam.SteamNetConnection”

[quote=“Nostrildumbass, post:2642, topic:30020”]

Hi, I’m confused as to what the limitations of testing with AppID 480 are. Should you be able to pull a Friends List using the 480 AppID? I see that I am getting a Unique Net ID from my player controller, but the Get and Store Friends List is only exiting through the On Failure route for me. (I understand 480 is a Valve/Steam sample ID for developers to use and that you don’t control it, , just trying to understand whether what I’m seeing is a limitation of using this App ID or if something else could be wrong). Appreciate any input anyone can provide!

I do have this stuff set in DefaultEngine.ini:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName=“OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=“OnlineSubsystemSteam.SteamNetConnection”

You can still get the friends list with a valid unique net id on app id 480, assuming that the computer is running the steam client and running through steam and not the backup null subsystem.

[quote=“, post:2643, topic:30020”]

You can still get the friends list with a valid unique net id on app id 480, assuming that the computer is running the steam client and running through steam and not the backup null subsystem.

Interesting, so it may be some sort of firewall issue possibly. I can host and join sessions between PIE previews so I don’t know what else it can be. I’ll check that avenue…

Ok I’m digging through log files and I’m seeing a few things that are probably the issue, but not sure why:

[2020.08.31-18.20.42:126][593]LogOnline: OSS: Creating online subsystem instance for: Steam
[2020.08.31-18.20.42:126][593]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
[2020.08.31-18.20.42:126][593]LogOnline: OSS: Creating online subsystem instance for: NULL
AdvancedSteamFriendsLog: Warning: CreateSteamIDFromString Had a bad UniqueNetId!
AdvancedSessionsLog: Warning: UniqueNetIdToString received a bad UniqueNetId!

Has anyone ever encountered only LAN online, Internet search can not host.But I downloaded Cardinal Menu Demo and it’s online

[quote=“Nostrildumbass, post:2645, topic:30020”]

Ok I’m digging through log files and I’m seeing a few things that are probably the issue, but not sure why:

[2020.08.31-18.20.42:126][593]LogOnline: OSS: Creating online subsystem instance for: Steam
[2020.08.31-18.20.42:126][593]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
[2020.08.31-18.20.42:126][593]LogOnline: OSS: Creating online subsystem instance for: NULL
AdvancedSteamFriendsLog: Warning: CreateSteamIDFromString Had a bad UniqueNetId!
AdvancedSessionsLog: Warning: UniqueNetIdToString received a bad UniqueNetId!

Yeah your steam subsystem is shutting down again and you are running on the NULL subsystem, none of the steam functions are going to work with that.

[quote=“anonymous_user_9c39f750jturner, post:2477, topic:30020”]

Thanks for the reply. I will try to build it on the Mac and report back with results. I had no idea it was that straightforward.

Hey, I was wondering if you have a follow up on this attempt to share, @thejturner ?

If anyone else has any advice for running Advanced Sessions on a Mac, I’d like to hear it.

Cheers.

[quote=“, post:2646, topic:30020”]

Yeah your steam subsystem is shutting down again and you are running on the NULL subsystem, none of the steam functions are going to work with that.

In case it helps anyone else, I found this, launching my game by right clicking my project file and using “Launch Game” seems to work:

https://forums.unrealengine.com/deve…25-steam-issue

And placing the errors here to help the Google/forum search Gods :smiley:

[593]LogOnline: OSS: Creating online subsystem instance for: Steam
[593]LogOnline: Display: STEAM: OnlineSubsystemSteam::Shutdown()
[593]LogOnline: OSS: Creating online subsystem instance for: NULL
AdvancedSteamFriendsLog: Warning: CreateSteamIDFromString Had a bad UniqueNetId!
AdvancedSessionsLog: Warning: UniqueNetIdToString received a bad UniqueNetId!

Now the next issue I’m getting is an error saying the SteamShared plugin can’t be found. I do have it enabled in my project (I can disable it and re-enable it fine).