Sinusbot auf Debian 8

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Der einzig gute TeamSpeak 3 Musikbot ist Sinusbot. Zumindest habe ich bis jetzt keine anständige Alternative gefunden. Das Problem mit TeamSpeak 3 ist, dass es eine GUI braucht. Auf Headless Servern kann man mit einem falschen X11 Server GUI Anwendungen laufen lassen. Leider ist die Codebase von Sinusbot nicht öffentlich verfügbar. Hinzu kommt, dass Sinusbot aktuell nur in einer Beta Version verfügbar ist.

Voraussetzung ist eine Debian 8 Headless Linux Server in der 64 bit Variante. 32 bit Installationen sind nicht kompatibel mit dem Sinusbot.

Am Anfang eine kleine Vorgeschichte

Auf der Entwicklerseite wird Sinusbot in der Version 0.9.8 angeboten. Dieser läuft aber auf keinen meiner getesteten Linux Versionen. In der Installationsanleitung wird nicht die normale Version verwendet, sondern Sinusbot in der Version 0.9.11-ee30ef7. Diese läuft aber auch nicht. Erst wenn man die Seite genauer ansieht, dann findet man sozusagen eine Beta Version von der Beta Version 0.9.12.2-58b509d und diese funktioniert auch.

Das Projekt hat eine schöne Homepage, aber wenn der Quellcode öffentlich wäre, dann könnte man selbst Versionen aus dem Git bauen. Vor jedem Systemupdate sollte man ein Backup von der kompletten Festplatte machen.

Vorbereitung

Abhängigkeiten und anlegen eines User Accounts

Die Abhängigkeiten müssen via apt aufgelöst werden:

:~$ apt-get install x11vnc xvfb libxcursor1 ca-certificates bzip2 install libglib2.0-0

Der Sinusbot soll nicht unter dem root Benutzer laufen. Deswegen wird dafür ein User angelegt:

:~$ adduser sinusbot

Runterladen von youtube-dl

:~$ wget https://yt-dl.org/downloads/2016.06.19.1/youtube-dl -O /usr/bin
:~$ chmod 755 /usr/bin/youtube-dl

Runterladen der Bot Dateien

Nun geht es an die eigentliche Installation des Bots. Das runterladen der Dateien erfolgt schon nicht mehr als root, sondern als der User sinusbot. Mit su wechselt man in diesen User:

:~$ su - sinusbot

Und lädt die Dateien herunter:

:~$ wget https://www.sinusbot.com/pre/sinusbot-0.9.12.2-58b509d.tar.bz2
:~$ tar xfvj sinusbot-0.9.12.2-58b509d.tar.bz2

Damit wären die Bot Dateien da.

Runterladen des TeamSpeak Clients

Immer noch als sinusbot User:

:~$ wget http://dl.4players.de/ts/releases/3.0.19.1/TeamSpeak3-Client-linux_amd64-3.0.19.1.run
:~$ chmod +x TeamSpeak3-Client-linux_amd64-3.0.19.1.run
:~$ ./TeamSpeak3-Client-linux_amd64-3.0.19.1.run

In der Installation musst du der Lizenzbestimmung entweder  zustimmen oder ablehnen. Nun sollte ein Ordner mit dem Namen TeamSpeak3-Client-linux_amd64 vorhanden sein.

Komibation von TeamSpeak Bot und Client

Kopiere das Sinusbot Plugin in das Plugin Verzeichnis von TeamSpeak:

:~$ cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins

Nun muss noch Sinusbit klar gemacht werden, wo das TeamSpeak Binary liegt. Eine Beispiel Config liegt in der Datei config.init.dist. Diese wird unbenannt in config.ini:

:~$ mv config.ini.dist config.ini

Öffne die Datei mit deinem Lieblingseditor und ändere die beiden Zeilen

TS3Path = ""
YoutubeDLPath = ""

ab zu

TS3Path = "/home/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"
YoutubeDLPath = "/usr/bin/youtube-dl"

Nun ist der Bot startbar mit ./sinusbot.

Optional: Anlegen eines systemd Services

Damit der Bot beim Start automatisch startet, kann man ein systemd Service File anlegen. Erstelle eine Datei also root unter /etc/systemd/system/sinusbot.service mit folgenden Inhalt:

[Unit]
Description=Musicbot for teamspeak 3 server
After=network.target

[Service]
User=sinusbot
Group=sinusbot
ExecStart=/home/sinusbot/sinusbot

[Install]
WantedBy=multi-user.target

Danach den Service aktivieren:

:~$ systemctl enable sinusbot.service
:~$ systemctl restart sinusbot.service

Der Bot wird nun bei jedem Neustart automatisch gestartet.

Quellen / Further Reading


Du hast einen Kommentar, einen Wunsch oder eine Verbeserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück