Mumble Config File
Improve this pageConfiguration template
The most recent version of the configuration file is kept up-to-date in the Mumble GitHub repository: https://github.com/mumble-voip/mumble/blob/master/auxiliary_files/mumble-server.ini
Overview
The mumble-server
configuration file consists of single line configuration settings, in the format
key=value
. Empty lines and anything after #
to the end of a line is ignored.
Some settings are process-wide (database
, etc.) while others are used as defaults on a per-server basis.
registername
for example will be used as the default “title” for all virtual servers, unless it is overridden
via RPC.
A unique example is port
- the first server will attempt to bind to this port, with
each subsequent server incrementing the port by one for its own port.
ICE
ice
The mumble-server
supports extensive RPC via ZeroC ICE.
The ice
setting specifies the “endpoint”. Note that all virtual servers share
an ICE service. Without secrets configured anyone with access to the ICE port has
full administrative access to every virtual server on the mumble-server
process.
It’s not recommended to expose it to the world for that reason, but rather to protect
the service via a firewall and configure ICE secrets.
Example:
ice="tcp -h 127.0.0.1 -p 6502"
icesecretread
and icesecretwrite
The default ICE configuration listens on a local TCP socket, which means that anyone with access to the local machine can issue commands over it. Setting the ICE secrets will require anyone to posess them to be able to access the ICE service.
Access is split into two levels: “read” (look only) and “write” (modify). “write” access implies “read” access.
Example:
icesecretread=letmelook
icesecretwrite=letmechangestuff
Note that if either of these entries is uncommented and empty, access will be denied. To disable secrets, comment these settings out.
Server Registration
Mumble supports a public server registry, which your mumble-server
can automatically configure itself
to register with if you choose. The server must be public (no serverpassword
), it must be accessible
worldwide, and it must have configured a valid certificate with TLS bit enabled (or a mumble-server
automatically
generated self-signed certificate).
serverpassword
must be empty, and all the other register*
settings must be filled in. registerHostname
must be valid and resolve properly.
registerName
The registerName
setting specifies the “name” of your server in the public server list. The list is no longer
sorted alphabetically by default, so please, in the interests of being user-friendly, don’t set it to something silly
trying to arbitrarily “rank” your server “further up the list”.
Example:
registerName=Super Awesome Mumble Server
registerPassword
The registerPassword
is a simple, plain-text secret between your server and the registration server.
Its sole purpose is to prevent other servers from impersonating your server in the public list.
Leaving this setting blank will disable registration with the public server list.
If you somehow lose the secret, you will obviously not be able to register your server until the public server list “forgets” about your server. This usually takes a few days.
Example:
registerPassword=CorrectHorseBatteryStaple
registerUrl
This is a URL pointing to the website for your server.
Example:
registerUrl=https://mumble.info/
registerHostname
This setting is the DNS hostname where your server can be reached. It only needs to be set, if you want your server to be addressed by its hostname instead of by IP. But if it is set, it must resolve on the public internet or registration will fail.
Example:
registerHostname=mumble.some.host
registerLocation
Deprecated.
Misc
bandwidth
You can configure a per-user upper bandwidth limit, in bits per second. This allows you to clamp your users down to a sensible setting, if you are limited in bandwidth. This does not set a minimum bandwidth - the Mumble client will check its own bandwidth setting and the server’s bandwidth setting, and choose the lower of the two.
The default is 558000. Note that this is per user.
bandwidth=558000
obfuscate
By default, Mumble will show IP addresses in log file. In some situations you may find this unwanted behavior.
When obfuscate
is set to true
, the mumble-server
will randomize the IP addresses of connecting users.
Note that this setting currently only applies to IPv4 addresses, and that it is currently just a simple XOR with a random value. It is probably trivially broken, if a user knows their IP address and can compare it with the obfuscated one assigend to them.
Example:
obfuscate=true
uname
On Unix-like OSes, you can start mumble-server
as root and have it drop privileges to another account such as mumble
.
The username must already exist on your system and have write access to the database, logfiles etc.
This option is ignored, if mumble-server
is not started as root.
Example:
uname=mumble