[Steam] Unable to create listen-server session in packaged build

Hey!

When I create a listen-server session, in a packaged build, using the Advanced Sessions plugin, and the Steam subsystem, it doesn’t work: it travels to the desired level for a very short time, then travels back to the entry level.

I ran through [the UE4 steam setup][1], so I have [this configuration for DefaultEngine.ini][2]. Here is the Blueprints code:

Side notes:

  • It works in the editor, when doing Play In Editor (PIE)
  • If there’s no travel (aka if I remove the “Open Level” node), there’s no error logged. Also, “Find Sessions” does not log an error, but returns an empty array
  • “On success” is called for both Create Sessions and Find Sessions
  • I’m using a built-from-source engine, version 4.24.1. The project has C++ code, and [you can find it attached][4]

Here is the “interesting” log:

[2020.01.14-01.44.32:392][115]LogModuleManager: Warning: ModuleManager: Module 'SocketsSteam' not found - its StaticallyLinkedModuleInitializers function is null.
[2020.01.14-01.44.32:393][115]LogSockets: Warning: Unable to load SocketSubsystem module Steam
[2020.01.14-01.44.32:395][115]LogNet: ReplicationDriverClass is null! Not using ReplicationDriver.
[2020.01.14-01.44.32:395][115]LogNetCore: DDoS detection status: detection enabled: 0 analytics enabled: 0
[2020.01.14-01.44.32:396][115]LogNet: Warning: Failed to init net driver ListenURL: /Game/ThirdPersonBP/Maps/ThirdPersonExampleMap?listen: SteamSockets: setsockopt SO_BROADCAST failed (0)
[2020.01.14-01.44.32:398][115]LogNet: Error: UEngine::BroadcastNetworkFailure: FailureType = NetDriverListenFailure, ErrorString = SteamSockets: setsockopt SO_BROADCAST failed (0), Driver = GameNetDriver IpNetDriver_2147482539
[2020.01.14-01.44.32:401][115]LogNet: Warning: Network Failure: GameNetDriver[NetDriverListenFailure]: SteamSockets: setsockopt SO_BROADCAST failed (0)
[2020.01.14-01.44.32:402][115]LogNet: NetworkFailure: NetDriverListenFailure, Error: 'SteamSockets: setsockopt SO_BROADCAST failed (0)'
[2020.01.14-01.44.32:403][115]LogWorld: Failed to listen: SteamSockets: setsockopt SO_BROADCAST failed (0)
[2020.01.14-01.44.32:403][115]LogNet: DestroyNamedNetDriver IpNetDriver_2147482539 [GameNetDriver]
1 Like

Couple of things you might want to try as I recently used the Advanced Sessions plugins with no issues:

  1. Are you using the default game/app ID? If yes then you might be getting to many results and you should apply a filter[1]. This will make sure the results returned are for your game. (The picture is from an older version of the plugin but still applies)
  2. Reduce the amount of Public and Private connections to about 5. If on the test app ID Steam could be limiting connections.
  3. Make sure you are logged into Steam before starting the game
  4. If you are testing in editor, make sure in the Play Modes you are using “Selected Viewport” as this better simulates standalone and gives you the ability to run multiple instances of the game on one PC. If it works like this on one PC then move to a packaged build and test that.

[1]

Let me know the outcome of all these changes and I’ll try to help if I can.

Hey! Thanks for answering my questions!

I’m using my AppId (872220), and I’m logged into Steam (I have the Steam in-game overlay). I also tried with the SpaceWars AppId (480), didn’t work either.

I’ve tried to reduce the amount of public and private connections to 5 each, still didn’t work.

I also tried adding an Extra Settings: same thing :confused:

By the way, if you have a “minimal working project”, and if it’s 4.24, could you send it to me? :slight_smile:

Oh great ! What version are you using?

Thats very strange, I can probably setup something very quick in 4.24. Will have to do it later tonight currently at work :slight_smile:

The only way I can give the project right now is via Google Drive, reply when you can download and I’ll send a public link.

makes sense, I forgot about that functionality. DMed you. We can continue offline and then post an answer here once we figure out the root cause. .

I can download !

(I DMed you on the forum, by the way)

Didn’t solve it though haha

Turns out it was because I had some plugins enabled: OnlineSubsystemSteam, SteamShared, SteamSockets.
Once I disabled them, and removed them from my .uproject file, everything worked fine!

(Yeah, having to disable Steam related plugins to get Steam to work is weird, but that’s the only solution I found out)

In the log it says ‘Module ‘SocketsSteam’ not found - its StaticallyLinkedModuleInitializers function is null’
It seems that you got around it by disabling ‘Steam Sockets’ as the socket manager because it wasn’t set up right. So going back to the default socketboi made things work. I’m also having trouble setting up SteamSockets… may have to remove it too

There is a name mismatch between the Steam Subsystem and the Steam Socket Subsystem. If you change:

#define STEAM_SOCKETS_SUBSYSTEM FName(TEXT("SteamSockets"))

To:

#define STEAM_SOCKETS_SUBSYSTEM FName(TEXT("STEAM"))

In your Engine/Plugins/Runtime/Steam/SteamSockets/Source/SteamSockets/Public/SteamSocketsTypes.h it should resolve the issue without having to disable Steam Sockets.

1 Like