A perfect job for Joda
Yes, there could be several spectator levels:
- Invisible: not even the server admin sees your player (he'll notice the logon, of course), like it is now. No chat, no admin commands.
- Stealth: Invisible to the players, but visible to the server admin. Can issue ingame admin commands.
- Spectate: Everyone sees me, I can chat, but don't play.
- Play.
Making a waiting room where you don't get fed game syncs may be difficult. It would be possible currently to send just the console log, but concerning objects, it's either all or nothing. Unfortunately, players and game objects are in the same bucket, and if you don't get the players, you don't get chat.