add spectate functionality to client+server