Thanks, I got the player to spawn correctly (I just needed to call joinclass).
Now is there a way to force someone into spectate? It's the same problem I was having at first trying to spawn a player on a team correctly. The player says they are in spectate on the scoreboard, but they still just drop from the info_player_start points. I even tried to call 'joinclass' for the spectator but it didn't work.
There must be some command to fully put the player in spectate.