This is for all users(Client and a none dedicated client “Server”)
I want to connect to supposedly “Null” subsystem game (Via IP) with a client that has Steam Overlay.
How can I pull this off?
I want to have the Steam overlay on Client but to use the Null subsystem.
You can now (since 4.22) use bUseSteamNetworking=false inside of [OnlineSubsystemSteam] - this fixes it for me! Steam overlay on clients works, dedicated server uses default net driver, client joins via default net driver.
[OnlineSubsystem]
DefaultPlatformService=Steam
… other stuff
DO NOT HAVE THESE SECTIONS
[PacketHandlerComponents]
[/Script/OnlineSubsystemSteam.SteamNetDriver]
After doing that and making sure I
Restarted the Editor after modifying the ini
Recompiled BOTH the server and client so they have the same subsystem
I was getting disconnected due to incompatible_unique_net_id
So I then had to hack the engine in PendingNetGame.cpp by commenting out the following line
//Connection->PlayerId = LocalPlayer->GetPreferredUniqueNetId();
WARNING: I have zero clue what other ramifications there are having a default PlayerId, but I know that’s whats happening if you run the game via editor or run the game without the steam client running. However since the id was simply Steam : DisplayName the value is not actually unique anyway.
Thanks for this! Setting bUseSteamNetworking=false did not work on its own for me, but commenting out all references to SteamNetConnection and SteamAuthComponentModuleInterface in DefaultEngine.ini worked (while leaving DefaultPlatformService=Steam and OnlineSubsystemSteam bEnabled=true). Packaging a LinuxServer with these settings will still initialize the Steam OnlineSubsystem when the server starts up, but it will accept connections with default UE networking stack using IpNetDriver.
if you forget to set bUseSteamNetworking=false here then even if you disable SteamSockets plugin in your project it will attempt to use the SteamSockets driver to connect to a server and will fail. Using this setup above I can run a server manually or deploy it to Amazon and connect to it from a client which is using Steam for authentication purposes but not for networking.