Difference between revisions of "Running Murmur"

From Mumble Wiki
Jump to: navigation, search
(Web-Interfaces)
m (Settings, Ports, and Authentication: - Added mention to SRV record configuration)
 
(111 intermediate revisions by 16 users not shown)
Line 1: Line 1:
Murmur is the server component for Mumble.
+
'''If you find anything incorrect or missing in this article feel free to add it yourself. After you register, you must wait three days before you can edit a page.'''
 +
= Introduction =
 +
{{Notice
 +
|message=For a step-by-step guide to setting up a Murmur server, read '''[[Murmurguide|Murmur Guide]]'''.
  
* Please note that in this page there are some commands that are very long. It will go beyond the margin of your screen. Therefore double click the command so it will highlight, and then copy paste it.
+
}}
 +
Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.
  
 +
= Distribution-Specific Murmur =
  
=== Step-by-Step Guides ===
+
By default, Murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works.
  
If you need a guide to help you set up a Murmur server, read [[Murmurguide|this]].
+
However, on distributions with prepackaged Murmur (Debian/Ubuntu), Murmur is configured to run as a system service, just like your webserver, mailserver and whatever else you have running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).
  
= Distribution-specific Murmur =
+
So, on these systems, you can still run Murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.
  
By default, murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works. However, on distributions with prepackaged murmur (Debian/Ubuntu), murmur is configured to run as a sytem service, just like your webserver, mailserver and whatever else you've got running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).
+
If you need to register users externally, or change the settings of a virtual server, read the section on Advanced Configuration.
  
So, on these systems, you can still run murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.
+
= Basic Configuration =
  
If you need to register users or change the settings of a virtual server, read the section on Advanced Configuration.
+
== Settings, Ports, and Authentication ==
 +
The default settings for a Murmur server are configured in ''[[murmur.ini]]''. Here, you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the [[Ice]] RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has its own configuration, which is maintained internally by Murmur (see below).
  
= Basic configuration =
+
The default port for a Murmur server is UDP and TCP 64738.
 +
<br>
 +
Have a look at [[Mumble URL]] to see how to publish links to your server, and [[SRV_Record | SRV Record configuration]].
  
The default settings for a murmur server are configured in ''murmur.ini''. Here you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the [[Ice]] RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has it's own configuration, which is maintained internally by Murmur (see below).
+
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use [[Ice]] or [[DBus]].
  
The default port for a Murmur server is UDP and TCP 64738. Have a look at [[URLs]] to see how to publish links to your server.
+
== Setting the SuperUser Password ==
 +
{{Notice
 +
|message=Note this command can be run seperately while the server is running to change the password without restarting.  Also note that in 1.2.2 at least, you must run the server normally at least once before trying to set this.
 +
}}
  
Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use [http://mumble.sourceforge.net/Ice Ice] or [http://mumble.sourceforge.net/DBus DBus].
+
{{Notice
 +
|message=For older versions the SuperUser account is disabled until you setup the password. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges.  
 +
}}
  
== Setting the SuperUser password ==
+
In version >=1.2.4 the SuperUser password is generated automatically on the first server start. You can find it in the logfile. Search for an entry like <code><W>2013-09-03 11:23:44.516 1 => Password for 'SuperUser' set to 'supersecretpassword'</code>. You can of course change this password.
  
Until you've set a password for the SuperUser, the account will be disabled. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges. To set the password on Linux run
+
To set/change the password on the Linux static server, run
  murmurd -supw <password>
+
  murmur.x86 -ini <path to configuration file> -supw <password> [srv]
This will set the password and return immediately. To run the server remove this parameter. If you are on a debian based system, you may also run
+
To set the password on Debian-based systems, run
 +
<pre>
 +
# EITHER use the dpkg management facilities
 
  sudo dpkg-reconfigure mumble-server
 
  sudo dpkg-reconfigure mumble-server
  
If you're on Windows, then you set the password by running
+
# OR run the server binary manually
  "C:\Program Files\Mumble\murmur.exe" -supw <password>
+
sudo -i murmurd -ini /etc/mumble-server.ini -supw <password> [srv]
 +
</pre>
 +
To set the password on Windows systems, run
 +
  <path to murmur.exe> -ini <path to configuration file> -supw <password> [srv]
  
= Running Murmur as a regular user =
+
Make sure the <tt>-ini</tt> parameter is the same as for running the server normally to make sure the password gets set in the right database file. If the command does not seem to work, double-check that you are supplying the right path.
  
If you are on Win32, you can simply start ''murmur.exe'' from the command line, or even easier just start it from the Start Menu.
+
The <tt>[srv]</tt> parameter is the ID of the virtual Mumble-Server you want to change password for. If omitted, ID 1 is used (for the first virtual server).
  
== RPC-Interfaces ==
+
This will only set the password and then terminate, it will not start the server. To run the server, start it without the <tt>-supw</tt> parameter.
  
For full functionality, murmur requires either a working [[DBus]] daemon or [[Ice]] being enabled. We recommend using the [[Ice]] interface, as [[DBus]] is considered deprecated and while it is not planned to remove it anytime soon it will not receive any new functionality.
+
== Starting Murmur ==
  
== Running the daemon ==
+
To start Murmur,  
 
 
To run murmur, simply type
 
murmurd
 
For debugging, you might want to add ''-fg -v'' to the command line, which will stop the program from running in the background and.
 
 
 
By default murmur opens it's configuration file, database file and logfile in your current directory. The configuration file can be overridden with the ''-ini'' parameter, and the database and logfile can be set form the ini file.
 
 
 
= Administration =
 
This section contains different ways of administrating a murmur Server.
 
 
 
'''Note:''' Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects.
 
 
 
== Web-Interfaces ==
 
 
 
There are several browser based interfaces which can be used to administrate the Murmur server. If you need something very basic or want to create your own interface you should take a look at Murmurs [http://mumble.git.sourceforge.net/git/gitweb.cgi?p=mumble;a=tree;f=scripts script folder] which contains some basic web-interface examples which use [[Ice]] or [[DBus]].
 
Additionally the following table contains a collection of more elaborate Web-Interfaces:
 
 
 
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"
 
! Name
 
! Technology
 
! [[DBus]]
 
! [[Ice]]
 
! Murmur version
 
! Comment
 
! Weblink
 
 
 
|-bgcolor="#f8f8ff"
 
| [[Mumble PHP Interface]]
 
| [http://php.net/ PHP]
 
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| 1.1.8
 
| User and Admin functionality
 
| [http://kissaki.clandooc.de/mumble/interfaces/PHP_Interface.php]
 
 
 
 
 
|-bgcolor="#f8f8ff"
 
| [[MAP - Mumb1e Admin Plugin]]
 
| [http://php.net/ PHP]
 
| bgcolor=#ddffdd | Yes
 
| bgcolor=#ffdddd | No
 
| 1.1.8
 
| Webinterface to manage Server User, Plugin User and Servers; useful for Server hosting
 
| [http://www.mumb1e.de/]
 
 
 
|-bgcolor="#f8f8ff"
 
| [[MurmurCP]]
 
| [http://www.asp.net/ ASP.NET] + [http://www.zeroc.com/ ICE]
 
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| 1.1.8
 
| Multiple Virtual Servers, Registration, Server Status, Forgot Password
 
| [http://murmurcp.hiddenservers.org]
 
 
 
|-bgcolor="#f8f8ff"
 
| [[Mumble-Django]]
 
| [http://www.python.org Python] + [http://www.djangoproject.com Django]
 
| bgcolor=#ddffdd | Yes
 
| bgcolor=#ddffdd | Yes
 
| 1.1.8 + 1.2.0
 
| Channel viewer, admin panel, multiserver, registration, textures
 
| [http://bitbucket.org/Svedrin/mumble-django/wiki/Home]
 
 
 
|-bgcolor="#f8f8ff"
 
| [[Simpleregister]]
 
| [http://php.net/ PHP]
 
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| 1.1.8
 
| Extended script from the sample folder
 
| [http://kissaki.clandooc.de/mumble/interfaces/simpleregister.php]
 
 
 
|-bgcolor="#f8f8ff"
 
| [[Mumble Admin Ice PHP]]
 
| [http://php.net/ PHP]
 
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| 1.1.8
 
| Admin functionality
 
| [http://bitbucket.org/gallagher/mumble-admin-ice-php/downloads/Mumble_Admin.zip]
 
  
 +
On a static Linux build, cd to the directory where you extracted the files and do
 +
murmur.x86
 +
On Debian-based,
 +
sudo dpkg-reconfigure mumble-server
 +
On Windows,
 +
<path to murmur.exe> (usually C:\Program Files\Mumble\Murmur.exe)
  
|-bgcolor="#f8f8ff"
+
For debugging or real time logging, you might want to add ''-fg -v'' to the command line, which will stop the program from running in the background.
| [[mmctl]]
 
| [http://www.python.org Python]
 
| bgcolor=#ddffdd | Yes, PyDBus
 
| bgcolor=#ddffdd | No
 
| 1.1.8
 
| Easy to use script for managing servers and adding users
 
| [http://github.com/mbr/mmctl]
 
|}
 
  
<small>Note: We recommend using an preferably [[Ice]] or at least [[DBus]] capable interface.</small>
+
By default, Murmur opens its configuration file, database file and logfile in your current directory. The configuration file can be overridden with the ''-ini'' parameter, and the database and logfile can be set from the ini file, using their respective parameters.
  
== Standalone applications ==
+
= Advanced Configuration and Administration=
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"
 
! Name
 
! OS
 
! [[DBus]]
 
! [[Ice]]
 
! Comment
 
! Weblink
 
  
|-bgcolor="#f8f8ff"
+
To make use of a strong server certificate the users will not have to manually accept, please see [[Obtaining a Let's Encrypt Murmur Certificate]] and [[Obtaining a Comodo Murmur certificate]].
| [[Murmur Admin Console]]
 
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]
 
| bgcolor=#ddffdd | Yes
 
| bgcolor=#ffdddd | No
 
| Add, edit and delete players over SSH
 
| [http://bograt.com/Murmur/]
 
|}
 
  
== Commandline-Interfaces ==
+
{{Notice
{|border="0" cellpadding="2" cellspacing="1" style="background:#e2e2e2;" class="sortable"
+
|message=Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects.
! Name
 
! OS
 
! [[DBus]]
 
! [[Ice]]
 
! Comment
 
! Weblink
 
  
|-bgcolor="#f8f8ff"
+
Also, nearly all of the basic administration tasks can be completed '''through the client''' when using > Mumble 1.2.x.
| [[MurmurCL]]
+
}}
| multi-platform
+
== Compatibility With RPC-Interfaces ==
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| Commandline interface written in [http://www.python.org Python]
 
| [http://d0t.dbclan.de/dump/murmurcldist.exe win32 exe] / [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=murmurcl.py;hb=HEAD python source]
 
  
|-bgcolor="#f8f8ff"
+
For full functionality with an RPC interface, Murmur requires either a working [[DBus]] daemon or [[Ice]] installation that is enabled. We recommend using the [[Ice]] interface; [[DBus]] is considered deprecated and although it will not be removed in the near future, it is not receiving any new functionality. Once you have Murmur working with the RPC interface, you can install a compatible web interface; see below for possible options.
| [[mice]]
 
| multi-platform
 
| bgcolor=#ffdddd | No
 
| bgcolor=#ddffdd | Yes
 
| Helper script written in [http://www.python.org Python]
 
| [http://nodefab.de/git/?p=mumble-scripts.git;a=blob_plain;f=mice.py;hb=HEAD]
 
  
|-bgcolor="#f8f8ff"
+
== Authenticating With an External Database/Forum ==
| [[RegMum]]
 
| [http://de.wikipedia.org/wiki/Microsoft_Windows Windows]
 
| bgcolor=#ddffdd | Yes
 
| bgcolor=#ffdddd | No
 
| Bat script
 
| [http://mumble.sourceforge.net/DBus_scripts#Windows]
 
  
|}
+
===Ice===
 +
For phpBB3, there is [https://github.com/mumble-voip/mumble-scripts/tree/master/Authenticators/phpBB3 phpBB3auth]. You must point the python script to the ini file; read the in-source documentation for more infomation.
  
== Manual configuration using DBus ==
+
For SMF (Simple Machines Forum), there is [https://github.com/mumble-voip/mumble-scripts/tree/master/Authenticators/SMF smfauth]. You must point the python script to the ini file; read the in-source documentation for more infomation.
  
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using [[DBus]]. First make sure Murmur is running and that you have contact with [[DBus]]. For Win32, you don't need to do anything, on all other platforms you should complete the [[Running_Murmur#DBus_on_Linux.2FOSX |DBus on Linux/OSX]] section first.
+
===DBus===
  
=== Showing the default configuration ===
+
There is an extended example of how to use the authenticator called ''scripts/dbusauth.pl''. You'll need to configure where your phpBB3 database resides, but once that is done you'll simply have to run the script after starting murmur to allow authentication to be done through the phpBB3 database.
  
This is just to verify we have contact with DBus, and to print out the default configuration.
+
Any group associations the user has on phpBB3 is copied to a temporary group on a root channel (and by default inherited to all subchannels). Please note that this is a temporary group membership and as such will not show up in the Edit ACL dialogs.
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.getDefaultConf
 
(if you're running a system DBus based configuration, add ''--system'' before all the other parameters)
 
  
This should print out the default configuration.
+
== 3rd Party Applications ==
  
=== Virtual Servers ===
+
If you are planning to administrate your Murmur server with an external 3rd Party Application, see the following pages for further information.
  
Listing the servers:
+
* '''[[3rd_Party_Applications#Web-Interfaces|Web-Interfaces]]'''
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.getAllServers
+
* '''[[3rd_Party_Applications#Standalone Applications|Standalone Applications]]'''
 +
* '''[[3rd_Party_Applications#Commandline-Interfaces|Commandline-Interfaces]]'''
  
Adding a server:
+
{{Notice
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.newServer
+
|message=The aforementioned categories have been moved to the page '''[[3rd_Party_Applications|3rd Party Applications]]'''.
 +
}}
  
Removing a server:
+
== Manual Configuration Using DBus ==
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.deleteServer int32:'''<serverid>'''
 
  
Starting a server:
+
If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using [[DBus]]. You can find detailed information on this in our [[DBus|DBus article]].
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.start int32:'''<serverid>'''
 
  
Stopping a server:
+
= Alternative Murmur Implementations =
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.stop int32:'''<serverid>'''
+
The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications, everyone is free to implement their own Mumble server software and add it to this list.
 
 
=== Server configuration ===
 
 
 
Each virtual server has it's server-specific configuration. If a particular confiuration item is empty, it will fall back to the default configuration, which is specified in the ini file.
 
 
 
Listing the configuration:
 
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.getDefaultConf
 
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.getAllConf int32:'''<serverid>'''
 
 
 
Setting a configuration item:
 
dbus-send --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call / net.sourceforge.mumble.Meta.setConf int32:'''<serverid>''' string:"'''<key>'''" string:"'''<value>'''"
 
 
 
=== User management ===
 
 
 
If you can run CGI scripts from your user account, the murmur.pl script contains user self-management. Just copy it to your webserver and make it executable (you might need to rename it to murmur.cgi), and it should contain everything needed. If not, this is what you'll need:
 
 
 
Adding a new registration:
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /'''<serverid>''' net.sourceforge.mumble.Murmur.registerPlayer string:"'''<username>'''"
 
 
 
Fetching an existing registration:
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /'''<serverid>''' net.sourceforge.mumble.Murmur.getRegistration int32:'''<userid>'''
 
or
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /'''<serverid>''' net.sourceforge.mumble.Murmur.getRegisteredPlayers string:"'''<username>'''"
 
 
   
 
   
Updating a registration:
+
== uMurmur ==
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /'''<serverid>''' net.sourceforge.mumble.Murmur.setRegistration int32:'''<userid>''' string:"'''<username>'''" string:"'''<email>'''" string:"'''<password>'''"
+
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers.  
 
 
=== Detailed explanation of user management ===
 
 
 
  
*Note you must be running > 1.1.5 Murmur Stable for these commands to work.
+
It supports 1.2.x Mumble clients in the uMurmur 0.2.x releases and 1.1.x clients in 0.1.x releases. Packages are available for [https://dev.openwrt.org/ticket/6829 OpenWRT], [http://trac.freetz.org/ticket/714 Freetz] and [http://www.nas-forum.com/forum/index.php/files/file/252-umurmur-021-ds-207/ Synology].
*If you are running Murmur from a session DBus, then remove the ''--system'' from the ''dbus-send'' commands
 
  
 +
Read more at [http://umurmur.net the uMurmur project page].
  
<serverid> is a digit number of the server you have. For instance if you had fifty Murmur servers running, the first server you started would be 1, and the fiftieth server you started would be 50.
 
  
<userid> is also a digit number such as 4 or 30, depending on how many people are registered in the database. For instance when you run
+
[[Category:Documentation English]]
  dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.registerPlayer string:"Name"
 
you will see after you run this command "int32" and some other text. There will be a number to the right of "int32". This number is the user's UserID.
 
 
 
 
 
So for instance you want to register a user, that user's name was ''Name'', his password was ''passwrd'', and you have one server running.
 
 
 
On Linux you would run
 
  dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.registerPlayer string:"Name"
 
You will then see some text. In it you will see "int32". Let's say you already had 5 users registered^. The number next to "int32" in the terminal would be 6. Remember this number.
 
 
 
Now run
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.setRegistration int32:6 string:"Name" string:"<user's email address>" string:"passwrd"
 
 
 
On Windows you would run
 
"C:\Program Files\Mumble\dbus-send.exe" --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.registerPlayer string:"Name"
 
You will then see some text. In it you will see "int32". Let's say you already had 5 users registered^. The number next to "int32" in the command prompt would be 6. Remember this number.
 
 
 
Now run
 
"C:\Program Files\Mumble\dbus-send.exe" --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.setRegistration int32:6 string:"Name" string:"<user's email address>" string:"passwrd"
 
 
 
You now have a registered user. "Name" can now login with the username ''Name'' and the password ''passwrd''.
 
 
 
If you want to change Name's registration, do the following command: (let's change Name's name to "Unnamed" and his password to "nopasswrd")
 
 
 
For Linux do
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.setRegistration int32:6 string:"Unnamed" string:"<user's email address>" string:"nopasswrd"
 
 
 
For Windows do
 
"C:\Program Files\Mumble\dbus-send.exe" --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.setRegistration int32:6 string:"Unnamed" string:"<user's email address>" string:"nopasswrd"
 
 
 
If you cannot remember the int32 of a user, simply run this command
 
 
 
Linux
 
dbus-send --system --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.getRegisteredPlayers string:"<username>"
 
 
 
Windows
 
"C:\Program Files\Mumble\dbus-send.exe" --print-reply --dest=net.sourceforge.mumble.murmur --type=method_call /1 net.sourceforge.mumble.Murmur.getRegisteredPlayers string:"<username>"
 
 
 
 
If you have just started a new Murmur server, the first user you create will have a UserID of 1. The first UserID, 0, is the SuperUser.
 
 
 
= Alternative Murmur implementations =
 
== uMurmur ==
 
uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers. It currently supports 1.1.x Mumble clients. Read more at [http://code.google.com/p/umurmur/ the uMurmur project page].
 
[[Category:Documentation]]
 

Latest revision as of 09:33, 12 November 2019

If you find anything incorrect or missing in this article feel free to add it yourself. After you register, you must wait three days before you can edit a page.

Introduction

Icons oxygen 48x48 actions view-pim-notes.png
Note:
For a step-by-step guide to setting up a Murmur server, read Murmur Guide.

Murmur is the server component for Mumble. This article is meant to give you the necessary information to configure and run your own server.

Distribution-Specific Murmur

By default, Murmur is configured to run from a regular user account, and on Windows and OSX this is the only way it works.

However, on distributions with prepackaged Murmur (Debian/Ubuntu), Murmur is configured to run as a system service, just like your webserver, mailserver and whatever else you have running. This "global" installation is a ready, turn-key solution, most of the information here does not apply to you. Most packages also include the 'murmur-user-wrapper' script, which does all of the below for you if you want to run as a regular user (including starting DBus).

So, on these systems, you can still run Murmur manually, but you will then not benefit from the extensive care that has gone into preparing those packages.

If you need to register users externally, or change the settings of a virtual server, read the section on Advanced Configuration.

Basic Configuration

Settings, Ports, and Authentication

The default settings for a Murmur server are configured in murmur.ini. Here, you can configure the welcome text, port number and other settings. However, these are just default settings and can be overwritten via the Ice RPC without changing the .ini; if you're running multiple virtual servers, each virtual server has its own configuration, which is maintained internally by Murmur (see below).

The default port for a Murmur server is UDP and TCP 64738.
Have a look at Mumble URL to see how to publish links to your server, and SRV Record configuration.

Adding an authenticated user can be done through various means. Unless you need automated registration of users or authentication against an external database using the functionality built into the client is the easiest method. If you need more control you can use Ice or DBus.

Setting the SuperUser Password

Icons oxygen 48x48 actions view-pim-notes.png
Note:
Note this command can be run seperately while the server is running to change the password without restarting. Also note that in 1.2.2 at least, you must run the server normally at least once before trying to set this.
Icons oxygen 48x48 actions view-pim-notes.png
Note:
For older versions the SuperUser account is disabled until you setup the password. You don't need the SuperUser account to run a simple server, but you do need it if you want to give your regular user account any privileges.

In version >=1.2.4 the SuperUser password is generated automatically on the first server start. You can find it in the logfile. Search for an entry like <W>2013-09-03 11:23:44.516 1 => Password for 'SuperUser' set to 'supersecretpassword'. You can of course change this password.

To set/change the password on the Linux static server, run

murmur.x86 -ini <path to configuration file> -supw <password> [srv]

To set the password on Debian-based systems, run

 # EITHER use the dpkg management facilities
 sudo dpkg-reconfigure mumble-server

 # OR run the server binary manually
 sudo -i murmurd -ini /etc/mumble-server.ini -supw <password> [srv]

To set the password on Windows systems, run

<path to murmur.exe> -ini <path to configuration file> -supw <password> [srv]

Make sure the -ini parameter is the same as for running the server normally to make sure the password gets set in the right database file. If the command does not seem to work, double-check that you are supplying the right path.

The [srv] parameter is the ID of the virtual Mumble-Server you want to change password for. If omitted, ID 1 is used (for the first virtual server).

This will only set the password and then terminate, it will not start the server. To run the server, start it without the -supw parameter.

Starting Murmur

To start Murmur,

On a static Linux build, cd to the directory where you extracted the files and do

murmur.x86

On Debian-based,

sudo dpkg-reconfigure mumble-server

On Windows,

<path to murmur.exe> (usually C:\Program Files\Mumble\Murmur.exe)

For debugging or real time logging, you might want to add -fg -v to the command line, which will stop the program from running in the background.

By default, Murmur opens its configuration file, database file and logfile in your current directory. The configuration file can be overridden with the -ini parameter, and the database and logfile can be set from the ini file, using their respective parameters.

Advanced Configuration and Administration

To make use of a strong server certificate the users will not have to manually accept, please see Obtaining a Let's Encrypt Murmur Certificate and Obtaining a Comodo Murmur certificate.

Icons oxygen 48x48 actions view-pim-notes.png
Note:
Most of these interfaces are created and maintained by third parties and the Mumble developers have no influence on the stability and/or security of these projects. Also, nearly all of the basic administration tasks can be completed through the client when using > Mumble 1.2.x.

Compatibility With RPC-Interfaces

For full functionality with an RPC interface, Murmur requires either a working DBus daemon or Ice installation that is enabled. We recommend using the Ice interface; DBus is considered deprecated and although it will not be removed in the near future, it is not receiving any new functionality. Once you have Murmur working with the RPC interface, you can install a compatible web interface; see below for possible options.

Authenticating With an External Database/Forum

Ice

For phpBB3, there is phpBB3auth. You must point the python script to the ini file; read the in-source documentation for more infomation.

For SMF (Simple Machines Forum), there is smfauth. You must point the python script to the ini file; read the in-source documentation for more infomation.

DBus

There is an extended example of how to use the authenticator called scripts/dbusauth.pl. You'll need to configure where your phpBB3 database resides, but once that is done you'll simply have to run the script after starting murmur to allow authentication to be done through the phpBB3 database.

Any group associations the user has on phpBB3 is copied to a temporary group on a root channel (and by default inherited to all subchannels). Please note that this is a temporary group membership and as such will not show up in the Edit ACL dialogs.

3rd Party Applications

If you are planning to administrate your Murmur server with an external 3rd Party Application, see the following pages for further information.

Icons oxygen 48x48 actions view-pim-notes.png
Note:
The aforementioned categories have been moved to the page 3rd Party Applications.

Manual Configuration Using DBus

If you are not able to use an additional application for administrating Murmur there is still the possibility of manually communicating with the server using DBus. You can find detailed information on this in our DBus article.

Alternative Murmur Implementations

The Mumble team appreciates and supports the implementation of the Mumble protocol. Unlike other proprietary applications, everyone is free to implement their own Mumble server software and add it to this list.

uMurmur

uMurmur is a minimalistic Murmur implementation without dependency on QT-core. It lacks features of Murmur but aims at working well on embedded devices like routers.

It supports 1.2.x Mumble clients in the uMurmur 0.2.x releases and 1.1.x clients in 0.1.x releases. Packages are available for OpenWRT, Freetz and Synology.

Read more at the uMurmur project page.