C.J. Scarlett

Debian 7 Mumble (Murmur) Server Installation

Mumble Logo

Preamble

Mumble is one of several choices for those looking to host a client/server based VoIP application. It allows users to connect centrally and chat to one and other via microphone and audio output. The program is open-source so free of charge and aimed at gamers who need to communicate efficiently in real time. Anyone can of course make use of the application however.

This post will focus on the process of installing plus configuring the server side aspects of Mumble, or Murmur as the server software is known. Mumble specifically is the client software that users need to download and install to connect to your Murmur server. Also note that as usual this post is written for those using Debian, or Debian derived distributions such as Ubuntu.

Other programs of this nature exist also such as Teamspeak and Ventrilo. Bear in mind though that both of these are freeware and free to use, but not open-source software. Meaning the source code cannot be altered, updated, or accessed legally. This is one of several reasons I personally use Murmur as a voice server. Others are as follows:

For Administrators

  • Low resource cost for hosting.
  • Very stable server software.
  • Free choice of server OS software.
  • Extendible through Ice middleware.
  • Automatable administration through Ice middleware.

For Users

  • Low-latency codecs - great for talking and gaming.
  • Private and secure encrypted communication.
  • Public/private-key authentication by default.
  • Android & Apple iOS app support.

More general information can be found at the Official Mumble Wiki


1 – System Packages

Begin by updating and upgrading your system’s current packages.

Updates the apt-get package manager database

1
$ sudo apt-get update

Installs any new updates to system packages

1
$ sudo apt-get upgrade

Confirm when prompted about updating new packages by entering y for yes.


2 – Install the Murmur Package

Use the package manager command below to retrieve and install the Murmur server package.

Installs Murmur onto the system

1
$ sudo apt-get install mumble-server

Again confirm when prompted entering y for yes.

All the dependencies that Murmur requires will also be installed here too. These are other packages mumble needs and depends upon to run, such as libzeroc-ice34 and mysql-common.


3 – Configure Murmur Package Settings

Next begin the package configuration with the following command.

Starts the package config wizard

1
$ sudo dpkg-reconfigure mumble-server

What follows are a series of interactive configuration prompts, you can select the options offered by pressing the tab key or directional arrows on your keyboard.

First Prompt

Select Yes and press enter for this first option unless you explicitly don’t want this.

Note that for the mumble-server (Murmur) package on Debian or Debian-based distributions, initially you should not start the process manually. After you install and configure it here, it will start on its own.

Second Prompt

Here the wizard allows you to prioritise Murmur’s networking processes over other ongoing services. I would advise selecting Yes as before, feel free to select no if you really do not want this behaviour enabled.

Third Prompt

SuperUser in Murmur/Mumble is very much like the root user account in Linux filesystems. It has all the access rights and privileges possibly available to it. You’ll need to make use of it to administer your server from time to time. Read the details in this step carefully then type in a suitable password, before pressing tab and enter to continue.


4 – Murmur Configuration File

Located in /etc/mumble-server.ini

The file mumble-server.ini located in the above directory contains the vast majority of configurable settings that can be applied to your Murmur server. The contents of the text file itself are well commented and each individual option should have an explanation alongside it as a comment.

Comments in this file begin with and are signified by the # symbol. Much like in bash scripting and several other programming languages.So consider that any line or command beginning with a # will not be processed as part of the configuration by the server.

Let’s take a look at the file.

Open the file with vim for viewing and editing

1
$ sudo vim /etc/mumble-server.ini

You can use any text editor you prefer (nano, emacs, pico, etc) but I’ve used vim in the above example. Once inside you will be able to see all the configs available. Here are some of the options worth noting:

welcometext - As labelled, users see this message after joining the server in their Mumble client text message log. Anything within the two quotation marks " " is taken as the message to be shown. The server supports basic HTML markup code within this message, so items such as images, hyperlinks, formatted text, etc can be applied.

Here is an example of some HTML formatting you can use for your message, but feel free to make your own!

1
2
3
4
5
6
7
8
welcometext="
<center>
<br>You have joined our Mumble server, enjoy your stay!<br>
<img src="http://wiki.openstreetmap.org/w/images/thumb/8/8f/Icons_mumble.svg/200px-Icons_mumble.svg.png"></img><br>
<b>Server Links</b><br>
<b><a href="http://wiki.mumble.info/wiki/FAQ/English" rel="nofollow"> Mumble Wiki FAQ</a></b><br>
<b><a href="http://www.mumble.com/support/mumble-server-robotic-distorted-voice.php" rel="nofollow"> Microphone Troubleshooting</a></b><br>
</center>"

Above HTML Output



You have joined our Mumble server, enjoy your stay!



Server Links

Mumble Wiki FAQ

Microphone Troubleshooting

port - This is the port that will need to be opened and useable by outside connections in any firewalls you may have running, for example iptables in Debian/Linux. It must also be specified in the Mumble client program when users connect to your Murmur server.

bandwidth- The default value of “72000” here for this setting is sufficient, unless you are limited in available bandwidth on the hosting machine. Note that this option sets a max cap on per user bandwidth, and not a minimum, and is measured in bits.

users - This value sets a limit on how many Mumble clients can be connected to the server at the same time. A general rule to follow here is that with the above bandwidth option set to “72000”, you can have 50 users max per 512MB of hardware memory (RAM) available. Any more and server latency issues resultant of this may arise.

registerName, RegisterUrl - On every Mumble client there exists a public list of registered servers that anyone can access and connect to. If this section is filled out and completed, your Murmur server with the relevant details is added to that list. In my experience it is beneficial to instead provide the host machine IP address plus chosen port number directly to accepted users, who can then connect with these details manually in their clients.

Some further documentation for these configuration settings can be found at the Official Mumble Wiki

Whenever you change any of these values the Murmur server needs to be restarted. We do this by restarting its daemon (a background process that is constantly running). It is only after you do this that any mumble-server.ini alterations will come into effect. Use the following command to do this, and remember that any users on the mumble server will get disconnected and have to reconnect after the service restarts again.

How to restart the Murmur server

1
$ sudo service mumble-server restart

Conclusion

From here on out the server is in its base working condition and can be accessed by users using the Mumble client software. There are however more steps to take if you are using a firewall on your Murmur hosting machine (which is advised).

This consists of allowing traffic on the port number chosen in the configuration file earlier, otherwise it is likely users will not be able to connect with their client software.

Stay tuned for another forthcoming post on the next stages of configuration. Which will include the iptables firewall rules mentioned just now, channel creation and customisation, and more instructions on how to run the server from an administration point of view.

Easily deploy an SSD cloud server on Digital Ocean in 55 seconds. Sign up using my link and receive $10.00 in free credit: https://www.digitalocean.com/?refcode=e91058dbfc7b

– Scarlz: @5car1z