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, 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
doesn’t make any network actions (checked with TCP view)
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();
}
}
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 );
}