A new player state is created when a player enters the game (LogIn). It is a replicated variable, owned by a Player Controller (you can get the player controller reference by using Get Owner and casting to the controller).
You can grab all player states inside the Game State class from the “Player Array”. Once the player LogOut from the server, the player state is destroyed (afaik). You can store persistent information inside GameState, too. But try working with the Player Array to grab all the player states and save all of them in a for loop.