How can I sync the teleportation of a random player

I am trying to make a randomly selected player to sync the same person to teleport as the chose ‘death’ team using Photon 2.
What it does currently is: if I use two clients it will choose the opposite client to teleport, therefore not being synced and they eventually interpolate back to their original position if i don’t move the player.

using Photon.Pun;
using UnityEngine;

public class GameStarter : MonoBehaviour
{
    private bool shouldTimerRun = true;
    private float startTime;
    private float time;
    [SerializeField] private float timeToStart = 5f;
    private int deathIndex;
    private int spawnPicker;
    public PlayerController[] players;
 
    void Start()
    {
        startTime = Time.time;
    }

    // Update is called once per frame
    void Update()
    {
        players = FindObjectsOfType<PlayerController>();

        if (shouldTimerRun)
        {
            time = Time.time - startTime;
            if (time >= timeToStart)
            {
                GetComponent<PhotonView>().RPC("RPC_SetTeams", RpcTarget.All);
            }
        }


    }

    [PunRPC]
    private void RPC_SetTeams()
    {
            time = 0f;
            shouldTimerRun = false;
            deathIndex = Random.Range(0, players.Length);
            spawnPicker = UnityEngine.Random.Range(0, GameSetup.GS.deathSpawnPoints.Length);
            var death = players[deathIndex];
            death.transform.position = GameSetup.GS.deathSpawnPoints[spawnPicker].transform.position;
    }
}

I made the GameStarter Instantiate only by the master client with a Photon View attached to it before I changed my code to this:
PS: making sure the random numbers were picked only by who is sending the RPC will make it so the other players are not generating the number and therefore causing my issue where the client and master client were not synced up in the choice of player.

using Photon.Pun;
using System.Collections.Generic;
using UnityEngine;

public class GameStarter : MonoBehaviour
{
    [SerializeField] private float timeToStart = 5f;
    [SerializeField] private float deathMoveSpeed = 15f;
    private bool shouldTimerRun = true;
    private float startTime;
    private float time;
    
    private int deathIndex;
    private int spawnPicker;
    private PlayerController[] playerControllers;
    public List<GameObject> players = new List<GameObject>();

    void Start()
    {
        startTime = Time.time;
    }

    // Update is called once per frame
    void Update()
    {
        
        if (!PhotonNetwork.IsMasterClient) return;
        playerControllers = FindObjectsOfType<PlayerController>();

        for (int i = 0; i < playerControllers.Length; i++)
        {
            players.Add(playerControllers*.gameObject);*

}

if (shouldTimerRun)
{
time = Time.time - startTime;
if (time >= timeToStart)
{
deathIndex = Random.Range(0, players.Count);
var deathPhotonId = players[deathIndex].GetComponent().ViewID;
spawnPicker = UnityEngine.Random.Range(0, GameSetup.GS.deathSpawnPoints.Length);
GetComponent().RPC(“RPC_SetTeams”, RpcTarget.All, deathPhotonId, spawnPicker);

}
}

}

[PunRPC]
private void RPC_SetTeams(int deathI, int spawnI)
{
time = 0f;
shouldTimerRun = false;
var death = PhotonView.Find(deathI);
death.GetComponent().playerSpeed = deathMoveSpeed;
death.transform.position = GameSetup.GS.deathSpawnPoints[spawnI].transform.position;
}

}