First of all, thanks for the amazing utility and work that went in to the plugin
Now, I am trying to have the loading of avatars a smooth process and I just saw after testing that (as described in the tooltip of the function) avatars arenât always ready when requested. So, I saw that you had a section in your function for an Async return, but nothing is implemented there. I was thinking of having my own setup for an async loading with a delegate but wanted to know if you had any pointers for me seeing that you have more experience with Steamworks.
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.
Should be the same as âget unique Net ID From Player Stateâ with or in a replicated player state, right?
Any idea why calling âget unique Net ID From Player Stateâ is giving me âERROR BAD UNIQUE NET IDâ?
Steam Is running of course
Also I can create steam sessions and find steam sessions
I also see the Steam Overlay
But I wondering why I get this message for âget unique Net ID From Player Stateâ
See attachment. The nodes you see are in a player state of the local running player (listen server self in my last test case).
Should be the same as âget unique Net ID From Player Stateâ with or in a replicated player state, right?
Any idea why calling âget unique Net ID From Player Stateâ is giving me âERROR BAD UNIQUE NET IDâ?
Steam Is running of course
Also I can create steam sessions and find steam sessions
I also see the Steam Overlay
But I wondering why I get this message for âget unique Net ID From Player Stateâ
See attachment. The nodes you see are in a player state of the local running player (listen server self in my last test case).
Youâre not passing anything to âGet Unique Net IDFrom Player Stateâ it doesnât automatically pull self if itâs called inside the Playerstate, you need to give it the âSelfâ reference so it knows which PlayerState to use.
Thanks a lot. I thought like many BP nodes with targets it will use self as default. But you are right! thank you!
Warning or error message on compile would be nice of ue4 editor. Seems to make no sense to plug nothing into it.
First of all, thanks for the amazing utility and work that went in to the plugin
Now, I am trying to have the loading of avatars a smooth process and I just saw after testing that (as described in the tooltip of the function) avatars arenât always ready when requested. So, I saw that you had a section in your function for an Async return, but nothing is implemented there. I was thinking of having my own setup for an async loading with a delegate but wanted to know if you had any pointers for me seeing that you have more experience with Steamworks.
Thank you
You would have to bind to the âAvatarImageLoaded_tâ callback in the steam API and translate the CSteamID into a FSteamUniqueNetID for comparison. There wasnât a good place to put a callback like that without forcing the use of a manager or class on the end user so I left it up for manual polling where it will return AsyncLoading if the image isnât ready yet. I didnât want it to be an actual latent node as people looping over it for a large list could cause issues then.
Thanks a lot. I thought like many BP nodes with targets it will use self as default. But you are right! thank you!
Warning or error message on compile would be nice of ue4 editor. Seems to make no sense to plug nothing into it.
There is a large list of player states, and you arenât calling that from a player state anyway so a âselfâ reference wouldnât make much sense there regardless.
You would have to bind to the âAvatarImageLoaded_tâ callback in the steam API and translate the CSteamID into a FSteamUniqueNetID for comparison. There wasnât a good place to put a callback like that without forcing the use of a manager or class on the end user so I left it up for manual polling where it will return AsyncLoading if the image isnât ready yet. I didnât want it to be an actual latent node as people looping over it for a large list could cause issues then.
Thanks, I think Iâll build some sort of Async loader for them in combination with your function.
On another note, have you experienced problems using Steamâs DRM with the plugin or Multiplayer? I get the error âExecutables with a TLS callback can only be wrapped in compatibility modeâ
⌠you arenât calling that from a player state anyway so a âselfâ reference wouldnât make much sense there regardless.
In my example it was simply called in player state. So, here the âselfâ reference work of course. Which also was my solution, to plug self reference into it.
Any chance of getting a âpingâ before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
Anyone get it run to get pings from servers to list pings beside the available server list?
Using steam as online subsystem
Any chance of getting a âpingâ before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
Anyone get it run to get pings from servers to list pings beside the available server list?
Using steam as online subsystem
Implement the steam online authentication setup and you should have lobby ping
Hi when i package my project i cant start my game if I disable the plugins it works but only in version 4.25 please helpn btw it works in PIE
Generate visual studio source files and compile your project before you can package it with plugins that require C++ usage. Right click an asset in the editor and select âshow in explorerâ. Locate your main project file, right click it and select âgenerate visual studio source filesâ. You may need to install additional Visual Studio components.
Any chance of getting a âpingâ before being in the same session? There is a BP node to get a ping from a session, but it retrieves 9999.
Anyone get it run to get pings from servers to list pings beside the available server list?
Using steam as online subsystem
I had this same issue recently and I found that UE4âs newer Steam Sockets plugin fixes the ping issue. Now my searched lobbies show the correct ping. Youâll need to modify your ini to use Steam Sockets instead though. Itâs surprisingly simple. Iâve had no issues with it.
Hello, I look for a way to make a listen server not able to be find on find session anymore, after the maingame on the server-session is started.
I think I can make use of advanced sessions plugin here, right?
I see âfilterâ when investigating the nodes Advances Sessions bring with. I see âfilterâ in âfind Sessions Advancedâ and also on âCreate Sessionâ. Can I change the filter also with blueprint in a already running game? That would be good, so I can change a filter on running server so the server will be hidden on âfind sessionsâ.
But I see no blueprint node for change the applied filter when the server is running. Is that possible? Or any other way to set a already running server âhiddenâ for next Clients who do a âFind Sessions Advancedâ?
Thanks a lot
Edit: I think the correct term I should use is âchange the server to not advertise the server anymore when game is runningâ. And did not see the node âUpdate Sessionâ. Is update sessions the one I can use to update a session on already running multiplayer server (without people get disconnected or other side effects)?
Hello, I look for a way to make a listen server not able to be find on find session anymore, after the maingame on the server-session is started.
I think I can make use of advanced sessions plugin here, right?
I see âfilterâ when investigating the nodes Advances Sessions bring with. I see âfilterâ in âfind Sessions Advancedâ and also on âCreate Sessionâ. Can I change the filter also with blueprint in a already running game? That would be good, so I can change a filter on running server so the server will be hidden on âfind sessionsâ.
But I see no blueprint node for change the applied filter when the server is running. Is that possible? Or any other way to set a already running server âhiddenâ for next Clients who do a âFind Sessions Advancedâ?
Thanks a lot
Edit: I think the correct term I should use is âchange the server to not advertise the server anymore when game is runningâ. And did not see the node âUpdate Sessionâ. Is update sessions the one I can use to update a session on already running multiplayer server (without people get disconnected or other side effects)?
Yes it just updates the sessions information, you can use it for that.
Yes it just updates the sessions information, you can use it for that.
Thanks , I just wanted to make sure. I dig deeper into your plugin yesterday night and want to say thank you. I have integrated it in my game project to make use of custom servername and other things which default ue4 subsystem for steam is not providing. Works nicely. Thanks a lot for your effort you put input to expose things to BP!
One question I have. I mange to get the Session result and use it with âget extra settingsâ and then pass it to every node (bool, string, byte) to get the Property by using a âGet Session Property **â. At the moment, I pass the âSession resultâ and access is several times with âget extra settingsâ -> âGet Session Propertyâ. I just want to know, are all properties âsaved locallyâ into the âsession resultâ (or better say into session result array) after the âfind sessions advancedâ so the âget extra settingsâ -> âGet Session Property **â are just âlocally executedâ functions. Or are the âSession resultsâ just links to the real online session and âget extra settingsâ and also each âGet Session Property **â is doing a Request to the online session to get the current value again?
Thanks , I just wanted to make sure. I dig deeper into your plugin yesterday night and want to say thank you. I have integrated it in my game project to make use of custom servername and other things which default ue4 subsystem for steam is not providing. Works nicely. Thanks a lot for your effort you put input to expose things to BP!
One question I have. I mange to get the Session result and use it with âget extra settingsâ and then pass it to every node (bool, string, byte) to get the Property by using a âGet Session Property **â. At the moment, I pass the âSession resultâ and access is several times with âget extra settingsâ -> âGet Session Propertyâ. I just want to know, are all properties âsaved locallyâ into the âsession resultâ (or better say into session result array) after the âfind sessions advancedâ so the âget extra settingsâ -> âGet Session Property **â are just âlocally executedâ functions. Or are the âSession resultsâ just links to the real online session and âget extra settingsâ and also each âGet Session Property **â is doing a Request to the online session to get the current value again?
Gettting a session property takes a SessionResult as an input, so it is a local check.
At the moment I face sporadically problems with client player state. Sometimes after running`a steam game and ServerTravel from Lobby-Level to Gameplay-Level, the Client get not player state assigned. I see it clearly in the logs because the client who has no playerstate fires not the begin play of playerstate and also when check for valid playerstate in player controller, it get the result player state is not valid. Also seconds after servertravel to new map.
Somebody had a ârandomâ issue like that before?
It seems working fine on my local machine on stand alone testing in two instances. But get the strange behavior often after publish the game to steam and then use real steam clients and do the servertravel.
At the moment I face sporadically problems with client player state. Sometimes after running`a steam game and ServerTravel from Lobby-Level to Gameplay-Level, the Client get not player state assigned. I see it clearly in the logs because the client who has no playerstate fires not the begin play of playerstate and also when check for valid playerstate in player controller, it get the result player state is not valid. Also seconds after servertravel to new map.
Somebody had a ârandomâ issue like that before?
It seems working fine on my local machine on stand alone testing in two instances. But get the strange behavior often after publish the game to steam and then use real steam clients and do the servertravel.
Sounds like you arenât waiting around for the player state to actually replicate down before checking it? I had to add an event to my VR plugin character that fires off for the BP users when the player state finished replicating because there is no default such thing for BP users by default.