mordentral / AdvancedSessionsPlugin

Advanced Sessions Plugin for UE4
https://www.vreue4.com
MIT License
597 stars 141 forks source link

empty UniqueID #26

Closed cslak closed 2 years ago

cslak commented 2 years ago

In last 4.27.2 dedicated server returns UniqueID: Steam: UKNOWN

serf

Purely using advanced steam sessions, with no steam sockets plugin enabled.

cslak commented 2 years ago

This issue is not present in 4.26

mordentral commented 2 years ago

There are multiple people I am aware of using dedicated servers with 4.27, and dedicated servers don't have a unique net ID anyway on steam.

cslak commented 2 years ago

im sorry not dedicated server, i believe this shows the uniqueID of a player, which is blank

cslak commented 2 years ago

also when client calls steampersonaname, always returns null in 4.27.2, but not in 4.26

mordentral commented 2 years ago

how soon did you check? if its another player and you are getting it from the player state, that array doesn't replicate right away.

mordentral commented 2 years ago

I can give it a test tomorrow, however I would have assumed I would have heard about this in the months of 4.27 being out.

cslak commented 2 years ago

Used delay node with 10 seconds

mordentral commented 2 years ago

I'm not seeing this issue in 4.27 (or ue5 for that matter which has the same changes that 4.27 had).

You have a SS of your blueprint nodes for that section? Also have you tried with the local player controller and the first index in the gamestate->playerarray. Just curious if you can't even pull your own.

cslak commented 2 years ago

Good idea, let me try that now, I'll post screenshot in a sec

cslak commented 2 years ago
cggnanme

this works when i host a session, but not when join a dedicated server(there is a is dedicated server note)

cslak commented 2 years ago
playerarray

about to try this

mordentral commented 2 years ago

did you not implement the steam auth setup from here?: https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Online/Steam/

mordentral commented 2 years ago

for the record, the plugin doesn't interfere / alter the core subsystems at all, so if something DID break on the subsystems end, there is nothing I can do about it.

cslak commented 2 years ago

So yes, get game state> player array>length works fine

cslak commented 2 years ago

No, i do not use steamauth, as well as i am not using this: bInitServerOnClient=true

cslak commented 2 years ago

is steamauth required? is this(bInitServerOnClient=true) required to be enabled as well?

mordentral commented 2 years ago

what connection are you trying to get the persona name on even, the client or the server

cslak commented 2 years ago

server assigns it, pulls it from the clients playerstate

mordentral commented 2 years ago

UniqueID assignment isn't done by this plugin, if dedicated servers aren't filling that out anymore its on Epics end. Obviously from the listen server perspective everything is working correctly here, and the unique net id assignment is engine side.

mordentral commented 2 years ago

I don't have a dedicated built to test against, but even if I did it wouldn't resolve that. They upped the steam SDK to a new version in 4.27 and broke quite a lot of things.

cslak commented 2 years ago

unique net id assigns fine, just checked it Only thing doesnt get pulled properly is getsteampersonaname

mordentral commented 2 years ago

you said multiple times it was logging as unknown...

cslak commented 2 years ago

it is! just ran a few print strings, and it seems to assign the proper uniqueID

mordentral commented 2 years ago

i'll note, that as far as I knew dedicated servers shouldn't even have access to that portion of steam anyway. It was suprising to me that you said it was working in 4.26.

mordentral commented 2 years ago

its possible that they used to use the full SteamAPI_Init() call in prior versions but (correctly) switched over to SteamGameServer_Init() in 4.27 when using the new SDK.

cslak commented 2 years ago

Yes 4.26 works just fine

cslak commented 2 years ago

do you know if usage of bInitServerOnClient=true is required?

mordentral commented 2 years ago

it is not, though generally you are supposed to be pulling persona names locally on clients anyway since they are always going to be connected to the steam api.