[Multiplayer] Multiple Pawns Spawning While Play In Editor

Hello there,
I’m creating a multiplayer rts game which player pawn is just a camera. When I select play as client with 2 or with 1, additional pawns are spawning in my game.
Here is the log :

Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_0)!
Warning GameplayLog # ANKPlayerCamera::PossessedBy # Possessing player controller(BP_NKPlayerController_C_0) to playercamera(BP_NKPlayerCamera_C_0)
Warning GameplayLog NEW PLAYER JOINED BP_NKPlayerController_C_0
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_1)!
Log GameplayLog # ANKInGameMode::SpawnPlayersBasedOnTeam # Joined player is : BP_NKPlayerCamera_C_1, With an order 0
Warning GameplayLog # ANKPlayerCamera::PossessedBy # Possessing player controller(BP_NKPlayerController_C_0) to playercamera(BP_NKPlayerCamera_C_1)
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog CAST TO PLAYER CONTROLLER SUCCESSFUL BP_NKPlayerController_C_0
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog CAST TO PLAYER CONTROLLER SUCCESSFUL BP_NKPlayerController_C_0
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_2)!
Warning GameplayLog # ANKPlayerCamera::PossessedBy # Possessing player controller(BP_NKPlayerController_C_1) to playercamera(BP_NKPlayerCamera_C_2)
Warning GameplayLog NEW PLAYER JOINED BP_NKPlayerController_C_1
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_3)!
Log GameplayLog # ANKInGameMode::SpawnPlayersBasedOnTeam # Joined player is : BP_NKPlayerCamera_C_3, With an order 1
Warning GameplayLog # ANKPlayerCamera::PossessedBy # Possessing player controller(BP_NKPlayerController_C_1) to playercamera(BP_NKPlayerCamera_C_3)
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_2)!
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_3)!
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog CAST TO PLAYER CONTROLLER SUCCESSFUL BP_NKPlayerController_C_0
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_1)!
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog CAST TO PLAYER CONTROLLER SUCCESSFUL BP_NKPlayerController_C_0
Warning GameplayLog ENABLE INPUT AFTER START
Warning GameplayLog StartEnableInput: Couldnt get playercontroller from camera pawn (BP_NKPlayerCamera_C_3)!

From the logs that I can see
2 times my gamemode is working for the new player join.
But somehow game spawning 4 times my pawn
BP_NKPlayerCamera_C_0
BP_NKPlayerCamera_C_1
BP_NKPlayerCamera_C_2
BP_NKPlayerCamera_C_3
And 12 times “ENABLE INPUT AFTER START” log is being invoked by my playercamera.

Here is the code that I’m spawning my players in GameMode invoked by PostLogin

TArray<AActor*> blueTeamSpawnPoints;
    UGameplayStatics::GetAllActorsOfClass(GetWorld(), APlayerStart::StaticClass(),blueTeamSpawnPoints);

    FActorSpawnParameters actorSpawnParams;
    actorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;

    ANKPlayerCamera* spawnedCamera = GetWorld()->SpawnActor<ANKPlayerCamera>(DefaultPawnClass, blueTeamSpawnPoints[PlayerJoinOrder]->GetActorLocation(), blueTeamSpawnPoints[PlayerJoinOrder]->GetActorRotation(),actorSpawnParams);
    UE_LOG(GameplayLog, Log, TEXT("# %s # Joined player is : %s, With an order %d"), ANSI_TO_TCHAR(__FUNCTION__), *spawnedCamera->GetName(), PlayerJoinOrder);

    auto* playerController = Cast<ANKPlayerController>(NewPlayer);
    if (!playerController)
    {
        UE_LOG(GameplayLog, Error, TEXT("# %s # Couldnt assigned player controller %s"), *NewPlayer->GetName());
    }
    spawnedCamera->PossessedBy(playerController);
    PlayerJoinOrder++;

I wonder how to solve this duplications, as my assumption, unreal itsef is automatically spawning players without taking request.

Is there any way to solve this

Yes found problem, you need to disable default pawn class from game mode. If you enable that you are doubling stuff.