Lobby

A lobby is a multi-user chat dedicated to discussion of a specific ruleset, allowing players interested in that game to find one another and socialize outside of formal tables.

There is nothing technologically special about a lobby; it's just an ordinary MUC. However, the bookkeeper knows about its location, and well-behaved client applications can easily guide players to a ruleset's lobby, with the bookkeeper's help.

Discovering lobbies

Any client that can use service discovery (which is to say, any self-respecting client) can easily discover a lobby's JabberID. It need only send a disco items request to the bookkeeper, with a node comprising the ruleset's URI followed by the string |lobby. (That's a "pipe" character, then the word "lobby".)

This will return a disco pointer to that lobby's MUC. The client can, if it wishes, send further disco info queries to the lobby's newly discovered JID learn still more information about it. (These subsequent queries would be handled by whatever Jabber conference server held the lobby, not the Volity bookkeeper.)

For example, to find the Rock, Paper, Scissors lobby, a client would send a disco items request to bookkeeper@volity.org, node http://volity.org/games/rps|lobby.

Recommended Use

Clients should make it easy for users to find and enter lobbies. Whenever a the user is in scope of a single ruleset, as when exploring one through the game browser, the client should present a "one-click" method to enter that ruleset's lobby.

At this time, it's expected that any ruleset will have only one lobby, and it will probably exist in with a rather predictable naming scheme on volity.org's own Jabber servers. However, in the interest of future expansion and protocol changes, clients should query the bookkeeper to get lobbies' JIDs, rather than jump to conclusions.

See also