Socket is not opened when using Steam

We are currently dealing with a weird problem related to listen sockets.

Both the Null network subsystem and the Steam network subsystem arrive in ISocketSubsystem::BindNextPort (UnrealEngine\Engine\Source\Runtime\Sockets\Private\SocketSubsystem.cpp, line 218 for UE 4.12.3). However, line 224 (if (Socket->Bind(Addr) == true)) opens the listen socket with the Null network subsys and does NOT open the port with the Steam network subsys.

Even though the port is not opened when using Steam, the log shows “SteamNetDriver_0 bound to port 7777” and a few lines below “GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777”. I cannot get my head around this and believe there is some minor mistake, maybe code or config.

Has anyone seen the same issue before?

You don’t need steam to use sockets, use ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM); this will use OS socket APIs

Maybe my description is slightly misleading, so I will try to clear things up a bit.

I merely call “CreateSession” on the online subsystem’s session interface. This in turn will come across the class and line mentioned in my original problem description. The thing is that the line mentioned above DOES open a UDP listen socket when we use the Null online subsystem but DOES NOT open a UDP listen socket when we use the Steam online subsystem.

I have no explanation why the port is not being opened when we use Steam - which is what we ultimately want to do in the end.

My bad. Steam games do not open port 7777 on the local machine (tested with MultiplayerShootout) but still work.

I am having issues on my mac where it looks like port 7777 never opens up when I host a game, with steam, with subsystem null, etc. I am on a mac and I can see that the port is not open with the Network Utility tool. I’m really struggling!!!