Disable steam networking

In order to connect via raw IP I had to remove all steam net definitions in the DefaultEngine.ini

[OnlineSubsystemSteam]
bUseSteamNetworking=false
… other stuff

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
NetDriverDefinitions=(DefName=“GameNetDriver”,DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
+NetDriverDefinitions=(DefName=“DemoNetDriver”,DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
… other stuff

DO NOT HAVE THESE SECTIONS
[PacketHandlerComponents]
[/Script/OnlineSubsystemSteam.SteamNetDriver]

After doing that and making sure I

  1. Restarted the Editor after modifying the ini
  2. 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.

1 Like