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.

Room name

The name to return in service discovery responses.

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.
true or "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.

"local" and "admin" were added in Prosody version 0.8.0.

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 trunk (as of this writing).

Room configuration defaults

These influence the default settings for individual rooms.

These are available in trunk.

Example