mod_muc
Multi-user chat (MUC) is Prosody’s module for allowing you to create hosted chatrooms/conferences for XMPP users.
General information on setting up and using MUC chatrooms can be found in our ‘Chatrooms’ documentation, which you should read if you are new to XMPP chatrooms.
Details
mod_muc implements XEP-0045, which is supported by most XMPP clients to some degree. Rooms are identified by their address, which will be along the lines of room_name@conference.example.com.
Usage
Replace ‘conference.example.com’ with the address you want to use for the MUC service. It must be different to any other host/server on Prosody, and is usually a subdomain of a normal host. Using ‘conference’ is a common convention, but is completely up to you.
Configuration
Here follows all configuration options. Examples show the default values that are used if the option is not present in the config file.
Note that each room has its own configuration which can be configured by room owners using supporting clients.
Service name
The name to return in service discovery responses for the MUC service itself.
Room creation restrictions
If true will only allow admins to create new chatrooms otherwise anyone can create a room.
false- The default. No restrictions, anyone can create rooms.
trueor"admin"- Restricts room creation to service administrators only.
"local"- Restricts room creation to users on the service’s parent domain. E.g. user@example.com can create rooms on rooms.example.com.
History
The setting max_history_messages specifies a limit on what each room can be configured to keep. This does not directly affect how many messages are send when a client joins a room. Each room carries its own setting for how much recent history to keep, which defaults to 20. Clients can specify how much history they wish to receive, which is taken into account when deciding how much of available history to send.
Locking
Setting this to true enables room locking, which means that a room must be configured before it can be used. Locked rooms are invisible and cannot be entered by anyone but the creator. If the room has not been configured after the timeout, it is either destroyed or unlocked.
Room locking was added in Prosody version 0.10.0, but disabled by default. It is enabled by default in 0.11 and trunk (as of this writing).
Tombstones
Starting with Prosody 0.11.x, when a room is destroyed, it leaves behind a tombstone which prevents the room being entered or recreated. It also allows anyone who was not in the room at the time it was destroyed to learn about it, and to update their bookmarks. Tombstones prevents the case where someone could recreate a previously semi-anonymous room in order to learn the real JIDs of those who often join there.
There are two related settings:
Setting this to false disables the tombstone behavior.
This settings controls how long a tombstone is considered valid. It defaults to 31 days. After this time, the room in question can be created again.
Room configuration defaults
Prosody 0.11 adds these settings that influence the defaults for newly created rooms.
Example
See also
mod_muc_unique- Provides randomized MUC room names to clients.
mod_muc_mam- Room archiving