Steam LAN Connection

Hi.

I’m having some issues with Steam and LAN connections. I’ve got my session started, no errors there, but Steam/the game is simply not opening the port it says it is and the resolved connection string says it’s using. Here are my steps:

  • Start the game (in debug / packaged build - yes, steam is enabled and working)
  • I browse to a map to start a server (open map?listen)
  • Steam says it’s bound to port 7777.
  • I start the Steam LAN session in my game mode’s post initialize components (right place? who knows. It works.)

Resolved connection string from the find session query on another instance of the game returns my lan ip and port 7777 (“192.168.1.3:7777”.) Connecting to that port does not work. And I get nothing listed on port 7777 using netstat -a. Here’s the relevant log lines:

[2015.11.18-14.04.56:994][367]LogNet: Browse: /Game/Maps/MP/BC-Kepler311?listen
[2015.11.18-14.04.56:995][367]LogLoad: LoadMap: /Game/Maps/MP/BC-Kepler311?listen
[2015.11.18-14.04.57:968][367]LogAIModule: Creating AISystem for world BC-Kepler311
[2015.11.18-14.04.57:969][367]LogWorld: Game class is 'BCFreeForAllGameMode'
[2015.11.18-14.04.57:970][367]LogNet:Display: SteamNetDriver_0 bound to port 7777
[2015.11.18-14.04.57:970][367]LogNet: GameNetDriver SteamNetDriver_0 IpNetDriver listening on port 7777
[2015.11.18-14.04.58:019][367]LogWorld: Bringing World /Game/Maps/MP/BC-Kepler311.BC-Kepler311 up for play (max tick rate 0) at 2015.11.18-14.04.58
[2015.11.18-14.04.58:568][367]LogInit: WinSock: I am Earth (192.168.1.3:0)
[2015.11.18-14.04.58:656][367]LogWorld: Bringing up level for play took: 0.684488

There is nothing in the log about the port closing or the net driver shutting down. Or about a client trying to join. On the client I get:

[2015.11.18-15.48.51:912][360]LogNet: Browse: 192.168.1.3//Game/Maps/MainMenu/menu
[2015.11.18-15.48.51:970][360]LogInit: WinSock: Socket queue 32768 / 32768
[2015.11.18-15.48.51:987][360]LogNet: Game client on port 7777, rate 10000
[2015.11.18-15.48.51:987][360]LogNet: GetLocalNetworkVersion: GEngineNetVersion: 0, ProjectName: barrage, ProjectVersion: 1.0.0.0, InternalProtocolVersion: 8, LocalNetworkVersion: 1091959075
[2015.11.18-15.49.21:265][385]LogNet: UNetConnection::Close: Name: SteamNetConnection_0, Driver: PendingNetDriver SteamNetDriver_0, PC: NULL, Owner: NULL, Channels: 2, RemoteAddr: 192.168.1.3:7777, Time: 2015.11.18-15.49.21
[2015.11.18-15.49.21:309][385]LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: ControlChannel_0
[2015.11.18-15.49.21:324][385]LogNet: DestroyNamedNetDriver SteamNetDriver_0 [PendingNetDriver]
[2015.11.18-15.49.21:327][385]LogExit: PendingNetDriver SteamNetDriver_0 shut down

Anyone have any ideas?

Edit: To note, if I disable steam and use the null online subsystem, it works fine, so it’s not a port or firewall issue.
Edit 2: Still using the steam dev app id (480.) That shouldn’t make a difference on LAN, though?!

Answer may be to add the parameter bIsLanMatch to the map url.

This worked for me.
Thank god this answer hinted me on the good tracks.

for further reference,Check out this function to understand why you need to add this parameter :
bool USteamNetDriver::InitListen(FNetworkNotify* InNotify, FURL& ListenURL, bool bReuseAddressAndPort, FString& Error)

For some reason Steam Socket doesn’t work at all in Lan Matches on my Company Network, by using ?bIsLanMatch=1 in my command, I was able to make it work properly, thanks a lot !

works for me too in 4.12