Teamspeak3 – dedizierter Musikbot auf dem Server

Ich wollte in meinen Teamspeak3-Server ein wenig Leben mit Hilfe von Musik rein bringen. Nach einer kurzen Recherche bin ich auf den Musikbot „Soundboard“ gestoßen. Als das Plugin den lokalen Test bestand, wollte ich diesen dediziert auf meinem Server laufen lassen.

Die Idee

Ich gehe mal davon aus, dass man bereits einen Teamspeak3 Server auf seinem (V)Server laufen hat. Da es scheinbar nicht möglich ist, den Teamspeak3 Client headless laufen zu lassen, brauchen wir  als eine grafische Oberfläche. Dieses Problem lösen wir später ganz einfach mittels einem VNC-Server, auf den wir uns verbinden. Wir starten über den VNC den Teamspeak3 Client mit dem konfigurierten Soundboard Plugin, welches uns dann die Musik streamt.

Die Umsetzung – Server

Als erstes aktualisieren wir die Paketlisten und installieren uns die grafische Oberfläche, sowie VNC4Server (mit Fluxbox).

sudo apt-get update
sudo apt-get install vnc4server fluxbox twm unzip wget xterm

Sind diese Pakete installiert, legen wir uns einen neuen Benutzer an:

sudo useradd -s /bin/bash -m ts3music
sudo passwd ts3music

Ist das geschehen, dann nehmen wir des Benutzers Identität an.

sudo su ts3music && cd

Als nächstes setzen wir das VNC Passwort. ACHTUNG: Aus unerklärlichen Gründen wird das Passwort nach 8 Zeichen abgetrennt. Diese ersten 8 Zeichen sollten also möglichst komplex sein.

vncpassword

Im nächsten Schritt passen wir das VNC-Startupscript ein wenig an. Die Konfigurationsdatei befindet sich unter „~/.vnc/xstartup“. Die Datei sollte nach der Bearbeitung so ähnlich aussehen:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
fluxbox &

Damit ist die Konfiguration abgeschlossen, und wir können den VNC-Server starten:

vncserver

Die Serverseite ist soweit fertig.

Die Umsetzung – Client

Nachdem der VNC-Server auf dem Server läuft, müssen wir von unseren lokalen Rechner noch darauf verbinden. Dazu müsst ihr euch das Paket „vncviewer“ installieren.

sudo apt-get install vncviewer

Ruft als nächstes das Programm folgendermaßen auf:

vncviewer [SERVER]:1

Dabei steht :1 für die erste Session des VNC-Servers. Ihr werdet zur Eingabe des Passworts aufgefordert. Ist dieses korrekt, solltet ihr ein Fenster mit der grafischen Oberfläche des Servers sehen.

Teamspeak + Soundboard installieren

Als nächstes fehlt uns nur noch der Teamspeak-Client und das dazugehörige Plugin. Die folgenden Aktionen könnt ihr über den VNC auf dem Server ausführen.

mkdir ~/TeamspeakMusic && cd ~/TeamspeakMusic/
wget http://ftp.4players.de/pub/hosted/ts3/releases/3.0.10.1/TeamSpeak3-Client-linux_amd64-3.0.10.1.run -O teamspeak.run
chmod +x teamspeak.run
./teamspeak.run

Ihr werdet aufgefordert die Lizenzbestimmungen zu akzeptieren, und danach entpackt sich der Teamspeak3 Client in sein eigenen Verzeichnis.

In diesem Verzeichnis solltet ihr dann den Ordner „plugins“ finden. Dort wechseln wir zunächst rein.

cd plugins

Jetzt fehlt uns nur noch das Soundboard-Plugin, welches wir einfach herunterladen und entpacken:

wget http://www.kampfrausch.de/ts3/soundboard-0.9.9.3b-linux-amd64.ts3_plugin -O soundboard.zip && unzip soundboard.zip

Im letzten Schritt des Installationsvorgangs müssen wir die entsprechenden Dateien noch aus dem neuen „plugins“ Verzeichnis ins korrekte „plugins“ Verzeichnis verschieben. Da dies ein wenig verwirrend sein kllingt, hier eine deutlichere Darstellung:

mv ~/TeamspeakMusic/plugins/plugins/* ~/TeamspeakMusic/plugins/

Die Plugindatei muss noch ausführbar markiert werden:

chmod +x libsoundboard_plugin.so

Musik streamen

Damit wir das Soundboard Plugin nutzen können, müssen wir uns mit dem VNC-Server verbinden:

vncviewer [SERVER]:1

Nach der Eingabe des Passworts, solltet ihr einen Remotedesktop des Servers haben. Ihr wechselt in einer Konsole ins ~/TeamspeakMusic Verzeichnis und führt dort „ts3client_runscript.sh“ aus.

cd ~/TeamspeakMusic && ./ts3client_runscript.sh

Es sollte nun eine Instanz des Teamspeak-Cliensts gestartet sein. Verbindet euch im ersten Schritt mit dem gewünschten Teamspeak3 Server, auf dem später die Musik laufen soll.

Damit die Musik dauerhaft laufen kann, müssen wir noch „Dauersenden“ einstellen. Dazu geht ihr auf Einstellungen->Optionen->Aufnahme und wählt den Menüpunkt „Dauersenden“.

Die Einstellungen des Soundboard Plugins findet man über Einstellungen->Plugins->Soundboard (Doppelklick). Unter dem Button „Show“ verbergen sich die einzelnen Knöpfe, auf welche man per Drag & Drop Lieder ziehen, und diese abspielen kann.

Screenshot des Teamspeak Clients und dem Soundboard Plugin

Teamspeak Client Soundboard Plugin

Auf den ersten Blick fand ich keine Möglichkeit einen Ordner mit Musikdateien anzugeben, welche Soundboard in einer Schleife abspielt, sodass ich mich für eine Weiterleitung eines Streams entschieden habe.

Dafür sucht man sich die Stream-URL, welche man einfach aus den Playlist-Dateien (.pls) entnehmen kann, und schreibt folgendes in die Chatzeile:

/soundboard stream URL

Daraufhin sollte der Musikbot anfangen den Stream an die anderen Leute im Channel zu streamen. Als Beispiel biete ich mal den Q-Dance-Radio Stream an, dessen URL folgendermaßen lautet:

http://stream01.platform02.true.nl:8000/qdance-hard

Die Lautstärke sollte man gegeben falls noch anpassen – Die Zuhörer können je nach Setup den Pegel des Musikbots einstellen.

Fazit

Musik entspannt beim Zocken ungemein (meine Meinung ;) ) und wenn man diese zugleich mit seinen Mitspielern teilen kann, ist es umso schöner. Mir gefällt jedoch die 8-Zeichen Passwortbeschränkung des VNC-Servers nicht. Trotzdem hoffe ich, dass ich einigen Menschen helfen konnte.

~Sebastian