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:
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]
Couple of things you might want to try as I recently used the Advanced Sessions plugins with no issues:
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)
Reduce the amount of Public and Private connections to about 5. If on the test app ID Steam could be limiting connections.
Make sure you are logged into Steam before starting the game
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.
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
By the way, if you have a “minimal working project”, and if it’s 4.24, could you send it to me?
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
In your Engine/Plugins/Runtime/Steam/SteamSockets/Source/SteamSockets/Public/SteamSocketsTypes.h it should resolve the issue without having to disable Steam Sockets.
Oh, I see. The problem was an old Engine.ini that was in the Saved folder of my project. This ini file had the old SteamNetDriver inside the NetDriverDefinitions, which was messing with things - I think the editor was using this file instead of the DefaultEngine . Anyways, I saw that the game was trying to use the SteamNetDriver instead of the SteamSocketsNetDriver, so that’s how I got the root of the problem.
After deleting all Engine.ini files inside my project, the game worked inside the editor without this workaround.
Well, note to my self, be careful with stuff inside the Saved folder when testing inside the editor.
Ok, I can’t. Why is this a fix? It worked for me, but the lack of any other mentions of this on the internet makes it very suspicious of something that I might be doing wrong since I feel dirty with this change. Thanks for the help, though!