How do I override Find PlayerStart or/and Choose Player Start in Blueprint?

I am unable to find a way to have the players spawn where I want them to and they tend to pile on to a single start point initially.

Here is the layout Post Login in Gamemode locates all player starts and adds them to an array -> assigns teams to the players -> cast to controller for players to activate huds and then cast back to gamemode to be spawned -> spawn checks if they can spawn at a random point if not it tries a new point and checks again.

What really happens is the server spawns at any point and the 1st client spawns at the spectator point (which is not in the array for selection)

any help appreciated.