Ah, okay! So could I do it like this?
No super hosts; whenever a player moves into a layout, that player becomes the 'peer host' of that layout, and anyone else who enters the layout will enter the peer host's version.
So when a player enters the "Dangerous Cave" layout, the game pings the signaling server to see if anyone else is currently hosting the 'dangerous cave' layout, and if so it connects them, and if not that player becomes the first 'peer host' of the 'dangerous cave' layout. That will work?
And then for syncing global variables, I could use WebKit or something like that for syncing the global variables from a simple data file I host on a server somewhere? So, for example, if the world has a day/night cycle, that will sync up across all players playing the game through a separate mechanism than the multiplayer object?
Exactly !!
And for the mmorpg part of things ...
Use PHP /mysql back end with ajax.
I used it for my first version of tankwars (even the movement) and with a good approach in php you can make certain transaction safe enough, the vast majority of mmorpgs run on php/mysql
For the game side of things, it really livens things up ...
ie
mysql database having a table wit player info, and rooms/wordparts.
The player table should contain a reference to in which layout it resides atm. (current location)
Player starts app and ajax request ID info, if ID exists, send info from player etc.
If does not exist, create ID etc.
Now, if you move to another layout piece, simple ajax your way to the db and update player current location.
This will make you peers optionally available if they are offline too
Or, imagine sending someone a message ... store in DB, and when they come online, they check the db through ajax for messages.