Install + Configure Mumble Server Banana Pi + DDNS

Mumble is an open source VoIP system popular with gamers. As an alternative to Teamspeak that autoadjusts your volume and normalizes audio so there is no super loud or really quiet in chat sessions. On the Banana Pi, you can create your own private Mumble server to share with friends, family or gaming crew. A common complaint of hosting your own Mumble server is that your IP changes periodically. Then you have to find out your new public IP address and tell your friends to use the new IP. With this guide and free dynamic DNS that headache will be gone. You simply get a free dynamic DNS address like htpcguides.crabdance.com which is linked to your IP at home. The Banana Pi will update the dynamic DNS address every 10 minutes. Then you simply share the dynamic DNS address with your friends and they use that instead of the IP address. On top of this added convenience I show you how to protect your Mumble server with a password and brute force protection to ward off gaming trolls. This mumble server tutorial was tested on Debian Wheezy and Jessie, should work on Ubuntu as well.

I recommend using Igor's armbian images if you use a LeMaker Banana Pi model. For other Banana Pi models use Bananian or whatever you are comfortable with. You can manage the Banana Pi Mumble server using your SuperUser account from your Windows or Mac computer running a Mumble client.

Pi Unit
Processor
RAM
RAM Bus
Network
WiFi
USB
SATA
Cost
Raspberry Pi 3
1.2 GHz ARMv8
Quad Core
1 GB DDR2
450 MHz
100 Mbit
Yes
4
No
$35
Raspberry Pi 2
900 MHz ARMv7
Quad Core
1 GB DDR2
450 MHz
100 Mbit
No
4
No
$35.00
Raspberry Pi
700 MHz ARMv6
Single Core
512 MB SDRAM
400 MHz
100 Mbit
No
4
No
$25
Banana Pi
1 GHz ARMv7
Dual Core
1 GB DDR3
432 MHz
Gigabit
No
2
Yes
$36.99
Banana Pi Pro
1 GHz ARMv7
Dual Core
1 GB DDR3
432 MHz
Gigabit
Yes
2
Yes
$45.00

Install + Configure Mumble Server Banana Pi + DDNS

Install Mumble Server on Banana Pi

Update and upgrade your packages

sudo apt-get update && sudo apt-get upgrade -y

Install the Mumble server package from the repository

sudo apt-get install mumble-server -y

Do some initial configurations for the Mumble server

sudo dpkg-reconfigure mumble-server

Say Yes to starting Mumble on boot and press Enter

mumble server raspberry pi start on boot

Allow the Mumble server to have higher priority to reduce likelihood of lag latency

mumble server raspberry pi higher priority

Set the SuperUser password, this is the account and password you can use to manage your Mumble users from your Mumble client

mumble server raspberry pi set password

Configure Mumble Server on Banana Pi

First back up the Mumble configuration file.

sudo cp /etc/mumble-server.ini /etc/mumble-server.bak

Now edit the Mumble configuration file

sudo nano /etc/mumble-server.ini

Uncomment these lines by deleting the preceding # character so it looks like below.
autobanAttempts will ban an IP address after 7 failed attempts inside the autobanTimeframe (120 seconds or 2 minutes).
They will be banned for the length of autobanTime (600 seconds or 10 minutes)

# How many login attempts do we tolerate from one IP
# inside a given timeframe before we ban the connection?
# Note that this is global (shared between all virtual servers), and that
# it counts both successful and unsuccessful connection attempts.
# Set either Attempts or Timeframe to 0 to disable.
autobanAttempts = 7
autobanTimeframe = 120
autobanTime = 600

If you want a custom welcome message you can adjust the test here

# Welcome message sent to clients when they connect
welcometext="<br />Welcome to the HTPCGuides Banana Pi Mumble server running <b>Murmur</b>.<br />

If you are interested in having a more secure Mumble server you should consider changing the default port. Trolls may scan and attempt to automatically connect to Mumble servers on the default port which could ruin your gaming experience. You will have to tell your users the correct port if you do change this – it can be any number between 1 and 65535, but avoid using standard port numbers for other services like 21, 22, 80 and 8080.

# Port to bind TCP and UDP sockets to
port=64738

For additional security you set a Mumble server password, your friends will need this password when connecting to the Mumble server.

# Password to join server
serverpassword=htpcguides.com

Maximum users is how many users can be connected to your Mumble server simultaneously.

# Maximum number of concurrent clients allowed.
users=10

This is the bit rate used by the Mumble server. The higher the bits per second the more CPU required to convert voice to data and back again. If the sound lags then lower this value, if you want better quality you can try raising this value.

# Maximum bandwidth (in bits per second) clients are allowed
# to send speech at.
bandwidth=72000

Ctrl+X, Y and Enter to save the Mumble configuration

sudo service mumble-server restart

Time to use a Mumble Client and connect to your Banana Pi Mumble Server locally on your home network

Get your Banana Pi IP address with this command

ip address

Find your eth0 or wlan0 section, your local IP is the address after inet shown highlighted in red below.
You should consider using static DHCP or setting a static IP address for the Banana Pi in /etc/network/interfaces as it will make port forwarding much easier.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b8:27:eb:f4:41:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.40.101/24 brd 192.168.40.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:fef4:4105/64 scope link
       valid_lft forever preferred_lft forever

Now connect using the standard port or the custom port you set using a Mumble client.

http://ip.address:64738

Now make it easier for your friends to find your server without memorizing your IP address by telling your Banana Pi to update your free Dynamic DNS address with your IP address as it changes.

Remember to open the Mumble port on your router and forward it to your Banana Pi.

You can administer your users with the SuperUser account and the password you set earlier.