I'm a total newbie, but I was planning something quite like you described.
Each "room" is that player's perspective on the world - so it only contains what the player is aware of, plus the "demanded action" for the player (move left/right, shoot, etc).
A shared room would be used for overall game state that is shared across all users - such as current time.