Session found in PIE but not in packaged Game

Hello,
i actually have problem that i can find my session when i start a PlayInEditor Session but i can not find it in a packaged game…
project first was converted from 4.2 to 4.6, 4.8 and then rebuild from scratch (blank 4.81) and copied assets and code.
It seems very buggy actually in 4.81

Any help is very very appreciated as we want to start multiplayer testing to get into next phase
thanks in advice

Hey ,

Can you show me what your OSS settings are inside your DefaultEngine.ini for project? This can be found in project’s Config folder. For example, one for Multiplayer Shootout includes this:

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
bVACEnabled=0

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName=OnlineSubsystemSteam.SteamNetConnection

hey ,
thank you so much for looking into this!

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20
 
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90
 
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="/Script/OnlineSubsystemSteam.SteamNetConnection"

without any changes, after a frustration break, i was able to find a session with steam closed (steam not running) but not able to join (in an unpackaged project - rightclick project and run)
([Bug Report] JoinSession doesnt work with warning "Invalid Player State" in 4.7.4 - Multiplayer & Networking - Epic Developer Community Forums)

no steam running:
client verbose log no steam running
server verbose log no steam running

steam running:
client verbose log
server verbose log

Hey ,

Are you running both Server and Client on same machine? If it’s a Listen Server, Steam requires separate machines. If you want to test while Steam is open, you can run with -NOSTEAM in commandline to disable it. This is from log:

[2015.07.29-04.03.16:033][389]LogOnline:Warning: STEAM: Failed to initialize Steam, this could be due to a Steam server and client running on same machine. Try running with -NOSTEAM on cmdline to disable.
[2015.07.29-04.03.16:033][389]LogOnline:Display: STEAM: OnlineSubsystemSteam::Shutdown()
[2015.07.29-04.03.16:034][389]LogOnline:Warning: STEAM: Steam API failed to initialize!
[2015.07.29-04.03.16:034][389]LogOnline:Display: STEAM: OnlineSubsystemSteam::Shutdown()
[2015.07.29-04.03.16:034][389]LogOnline:Warning: Unable to create OnlineSubsystem module STEAM

For problem you’re having when Steam is not running, this seems to be problem (from Client log):

[2015.07.29-04.15.29:998][247]LogScript:Warning: JoinSession - Invalid player state

This can happen if there’s no PlayerController or a null/invalid one connected to input pin of Join node.

Hope that helps! Let me know if you have more questions.

HA! I spent months with same issue! Good to know!

Oops. I unmarked your answer. Sorry.

Thank you ,
your help is really really appreciated and im really thankful for any information.
I guess this is a topic you guys should make a tutorial of!

Yes im running client and server on same machine while steam running.
For invalid Player:
I’m using the “Get owning Player” hooked into CreateSession/JoinSession/FindSession Pin in Game Instance Blueprint called from Widget Blueprint of GUI.

No problem. I’ve gotten a little more information from one of our networking devs, and he mentioned that Standalone dedicated servers in Steam are complicated and have different requirements so as not to require Steam client. This means you should be able to run a single Client and a dedicated Server on same machine, but not a Listen Server (or multiple Clients). You wouldn’t be able to use lobby API, though; only their old game server API. There are a bunch of requirements and gotchas, but it might be possible. I’d recommend using multiple systems if you want to test with Steam client.

We’re working on documentation for all of this =)

I’ll have to play around with using Get Owning Player node in this instance. Off-hand I can’t think of any reason your described setup wouldn’t work, but I’ll take a look. Would you mind creating a new Bug Reports post with those logs and as many details of your specific setup as you can? I’d like to make sure we give that issue it’s own attention. Thanks!