# Joining LAN sessions keeps showing 0 avaliable

**URL:** <https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163>\
**Category:** Multiplayer & Networking\
**Tags:** lan, sessions, unreal-engine, Multiplayer, question\
**Created:** [April 24, 2020, 1:48pm UTC](https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163 "2020-04-24T13:48:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymous\_user\_09f3abfc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_09f3abfc](https://forums.unrealengine.com/u/anonymous_user_09f3abfc)\
**Post date:** [April 24, 2020, 1:48pm UTC](https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163/1 "2020-04-24T13:48:32Z")

</div>

**it compiles and works but it keeps showing 0 sessions found. i am using two versions of same game on one PC and launching them as standalone games is this the correct way to test sessions on multiplayer LAN games**

```
void UGameInstance::Init()
{
    if (IOnlineSubsystem* SubSystem = IOnlineSubsystem::Get())
    {
	    SessionInterface = SubSystem->GetSessionInterface();
	    if (SessionInterface.IsValid())
	    {	
		    //bind delegates
		    SessionInterface->OnCreateSessionCompleteDelegates.AddUObject(this, &UGameInstance::OnCreateSessionComplete);
		    SessionInterface->OnFindSessionsCompleteDelegates.AddUObject(this, &UGameInstance::OnFindSessionComplete);
		    SessionInterface->OnJoinSessionCompleteDelegates.AddUObject(this, &UGameInstance::OnJoinSessionComplete);
	    }
    }
}

void UGameInstance::OnCreateSessionComplete(FName ServerName, bool Succeeded)
{
    UE_LOG(LogTemp, Warning, TEXT("OnCreateSessionComplete, Succeeded: %d"), Succeeded);
    if (Succeeded)
    {
	    GetWorld()->ServerTravel("/Game/FirstPersonCPP/Maps/FirstPersonExampleMap?listen");
    }
}

void UGameInstance::OnFindSessionComplete(bool Succeeded)
{
    UE_LOG(LogTemp, Warning, TEXT("OnFindSessionComplete, Succeeded: %d"), Succeeded);
    if (Succeeded)
    {
	    TArray<FOnlineSessionSearchResult> SearchResults = SessionSearch->SearchResults;

	    UE_LOG(LogTemp, Warning, TEXT("SearchResults, Server Count: %d"), SearchResults.Num());

	    //if (SearchResults.Num())
	    //{
		    UE_LOG(LogTemp, Warning, TEXT("Joining Server"));
		    SessionInterface->JoinSession(0, "My Session", SearchResults[0]);
	    //}

    }
}

void UGameInstance::OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result)
{
    UE_LOG(LogTemp, Warning, TEXT("OnJoinSessionComplete"));
    if (APlayerController* PController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
    {
	    FString JoinAdress = "";
	    SessionInterface->GetResolvedConnectString(SessionName, JoinAdress);
	    if (JoinAdress != "")
		PController->ClientTravel(JoinAdress, ETravelType::TRAVEL_Absolute);
    }
}

void UGameInstance::CreateServer()
{
    UE_LOG(LogTemp, Warning, TEXT("CreateServer"));

    FOnlineSessionSettings SessionSettings;
    SessionSettings.bAllowJoinInProgress = true;
    SessionSettings.bIsDedicated = false;
    SessionSettings.bIsLANMatch = true;
    SessionSettings.bShouldAdvertise = true;
    SessionSettings.NumPrivateConnections = 5;
    SessionSettings.NumPublicConnections = 5;

    SessionInterface->CreateSession(0, FName("My Session"), SessionSettings);
}

void UGameInstance::JoinServer()
{
    UE_LOG(LogTemp, Warning, TEXT("JoinServer"));
    SessionSearch = MakeShareable(new FOnlineSessionSearch());
    SessionSearch->bIsLanQuery = true;
    SessionSearch->MaxSearchResults = 10000;
    SessionSearch->QuerySettings.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals);

    SessionInterface->FindSessions(0, SessionSearch.ToSharedRef());
}

```

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_09f3abfc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_09f3abfc](https://forums.unrealengine.com/u/anonymous_user_09f3abfc)\
**Post date:** [April 26, 2020, 1:04am UTC](https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163/2 "2020-04-26T01:04:18Z")

</div>

does this only work on dedicated server

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_09f3abfc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_09f3abfc](https://forums.unrealengine.com/u/anonymous_user_09f3abfc)\
**Post date:** [April 26, 2020, 2:10am UTC](https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163/3 "2020-04-26T02:10:05Z")

</div>

do i need to do anything with my network settings

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_09f3abfc](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_09f3abfc](https://forums.unrealengine.com/u/anonymous_user_09f3abfc)\
**Post date:** [April 26, 2020, 4:13am UTC](https://forums.unrealengine.com/t/joining-lan-sessions-keeps-showing-0-avaliable/464163/4 "2020-04-26T04:13:01Z")

</div>

I figured it out **MY SELF!!!** and to all the new developers this is how i fixed it.

**follow this tutorial for more info about sessions**

in your Build.cs put the following instead of what is in the video

```
using UnrealBuildTool;

public class YourGameName: ModuleRules
{
    public YourGameName(ReadOnlyTargetRules Target) : base(Target)
    {
	    PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "OnlineSubsystem", "OnlineSubsystemNull", "OnlineSubsystemUtils" });

        PrivateDependencyModuleNames.AddRange(new string[] { });

        PrivateDependencyModuleNames.Add("OnlineSubsystem");
        PrivateDependencyModuleNames.Add("OnlineSubsystemNull");
    }
}

```
