why can't find session in packaged Multiplayer Shootout through steam?

Hi, i enabled steam in Multiplayer Shootout example, so packaged game work anbd i see my steam name in hosted game

but when i launched same packaged game on second PC with another steam account - i can’t find hosted game

so why? i tryed switch in menu internet mode to lan, but still can’t find hosted session

if you like to try on your own PCs just download this packaged game Oops!

p.s. right window is just a team viewer connection to remote PC, because i don’t have it at home, so remote PC of couse have internet and steam there work fine when hosting a game, so i see my steam name and on both PC shift+tab work fine Oops!

Hi happyhorror,

Have you followed the Multiplayer Shootout documentation? It has a pretty good breakdown of how that should work.

Hope this helps!

Hi, yeah, i did. As i told steam work, i see my 2 names of different accounts on both machines, but only can’t find session. Did you guys in epic ever tryed find online session with enabled steam in packaged game on two different PC not in same local network?

i checked what game does in network when you search for internet session (i did it with TCP view) and seems it use UPD on port 14001 Oops!, to compare i lainched valve’s game team fortress 2 (it’s exe file called hl2 endeed) and when i does session search in TF2 there’s no such port, but maybe TF2 use just different one Oops!

trying google steam api with UPD 14001 doesn’t give a clue, only discussion on some games also not searching session over this port

for some reason there isn’t 14001 port on Steam Support :: Required Ports for Steam

steam provide spacewar as example game of steam features Steamworks API Example Application (SpaceWar) (Steamworks Documentation) and what’s interesting, when you press “find lobby” in menu it find tons of sessions, but game process:

  1. doesn’t make any network actions (checked with TCP view)
  2. doesn’t make any file operations or anything else (checked with process monitor)

in spacewar source code find lobby coded as

...
else if ( m_eGameState == k_EClientFindLobby )
	{
		m_pLobbyBrowser->Refresh();
		SteamFriends()->SetRichPresence( "status", "Main menu: finding lobbies" );
	}
...
void CLobbyBrowser::Refresh()
{
	if ( !m_bRequestingLobbies )
	{
		m_bRequestingLobbies = true;
		// request all lobbies for this game
		SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList();
		// set the function to call when this API call has completed
		m_SteamCallResultLobbyMatchList.Set( hSteamAPICall, this, &CLobbyBrowser::OnLobbyMatchListCallback );
		m_pMenu->ShowSearching();
	}
}

void CLobbyBrowser::OnLobbyMatchListCallback( LobbyMatchList_t *pCallback, bool bIOFailure )
{
m_ListLobbies.clear();
m_bRequestingLobbies = false;

	if ( bIOFailure )
	{
		// we had a Steam I/O failure - we probably timed out talking to the Steam back-end servers
		// doesn't matter in this case, we can just act if no lobbies were received
	}

	// lobbies are returned in order of closeness to the user, so add them to the list in that order
	for ( uint32 iLobby = 0; iLobby < pCallback->m_nLobbiesMatching; iLobby++ )
	{
		CSteamID steamIDLobby = SteamMatchmaking()->GetLobbyByIndex( iLobby );

		// add the lobby to the list
		Lobby_t lobby;
		lobby.m_steamIDLobby = steamIDLobby;
		// pull the name from the lobby metadata
		const char *pchLobbyName = SteamMatchmaking()->GetLobbyData( steamIDLobby, "name" );
		if ( pchLobbyName && pchLobbyName[0] )
		{
			// set the lobby name
			sprintf_safe( lobby.m_rgchName, "%s", pchLobbyName );
		}
		else
		{
			// we don't have info about the lobby yet, request it
			SteamMatchmaking()->RequestLobbyData( steamIDLobby );
			// results will be returned via LobbyDataUpdate_t callback
			sprintf_safe( lobby.m_rgchName, "Lobby %d", steamIDLobby.GetAccountID() );
		}

		m_ListLobbies.push_back( lobby );
	}

	m_pMenu->Rebuild( m_ListLobbies );
}

no one here to help? does someone ever have a working version of searching online sessiong in UE4? :smiley:

fixed by epics in 4.8.0