Installation Linux (Ubuntu / Debian)

If you are new to Linux and/or wish to have everything installed for you in a more convenient way, we encourage you to use the Install Script.

Let's start by installing several dependencies:

apt-get update
apt-get install x11vnc xvfb libxcursor1 ca-certificates bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 -y
update-ca-certificates

On Debian and some Ubuntu versions you might as well have to install, so at least try

apt-get install libglib2.0-0

Let's assume that you're going to install the bot to /opt/sinusbot and are using the user sinusbot with the group sinusbot. We will install the bot with root then switch to this user account when running the bot.

You will need to add the user sinusbot to your server, so to do so type the following command.

adduser sinusbot

You will then be prompted to set a password for the account, do that and then simply press enter when it asks you for the name etc.

Now you will need to install the bot to the server.

mkdir -p /opt/sinusbot
cd /opt/sinusbot
wget https://www.sinusbot.com/dl/sinusbot.current.tar.bz2

If that command results in SSL-Errors, you can alternatively try

curl -O https://www.sinusbot.com/dl/sinusbot.current.tar.bz2

Next, extract the bot:

tar -xjf sinusbot.current.tar.bz2

Copy the configuration (if you haven't started the bot before)

cp config.ini.dist config.ini

If you're running the bot under another user than root (and that's highly recommended), you need to change the ownership of the bot directory to that user now.

chown -R sinusbot:sinusbot /opt/sinusbot

(If you're using another user/group than “sinusbot”, replace sinusbot:sinusbot with yourusername:yourusergroup)

Now you need to download the TeamSpeak 3 Client and install it.

wget http://dl.4players.de/ts/releases/3.2.1/TeamSpeak3-Client-linux_amd64-3.2.1.run
chmod 0755 TeamSpeak3-Client-linux_amd64-3.2.1.run
./TeamSpeak3-Client-linux_amd64-3.2.1.run

You will need to accept the terms. You do this by pressing enter to scroll through the text or press q to simply go to the end.

Now you need to configure the ini-File of the bot to match your directories.

nano config.ini

Make sure that the TS3Path is correct (if you followed this tutorial step by step, it should already match):

TS3Path = "/opt/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"

Close the editor (Ctrl+O, Enter, Ctrl+X).

Remove the file 'libqxcb-glx-integration.so' from the clients 'xcbglintegrations' directory:

rm TeamSpeak3-Client-linux_amd64/xcbglintegrations/libqxcb-glx-integration.so

Create the plugins folder in the ts3client directory:

mkdir TeamSpeak3-Client-linux_amd64/plugins

And finally copy the plugin to the plugins-directory of the TeamSpeak-Installation

cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins/

Just to make sure that the bot is executable, enter

chmod 755 sinusbot

Make sure you're using the latest version:

cd /opt/sinusbot
wget https://www.sinusbot.com/dl/sinusbot.current.tar.bz2
tar -xjvf sinusbot.current.tar.bz2
cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins/

If you are updating from 3.X to 3.1.X then you need to remove the data/ts3 directory and the libqxcb-glx-integration.so file as well:

rm -rf data/ts3
rm TeamSpeak3-Client-linux_amd64/xcbglintegrations/libqxcb-glx-integration.so

As the bot won't run as root you will need to switch to the user that you have installed the bot on, if you followed the tutorial, this will be 'sinusbot“. To do this use the following command:

su sinusbot

Starting the bot

./sinusbot

Stopping the bot

Ctrl + C

If you want to keep the bot running when you exit out of the terminal follow the instruction on how to install a startscript.

Now login at http://<your ip>:8087/ with user admin and the password provided on first run. (see FAQ on how to reset)

Detailed instructions on how to install the sinusbot on docker can be found on the github page.

docker run -d -p 8087:8087 \
           -v scripts:/opt/sinusbot/scripts \
           -v data:/opt/sinusbot/data \
           --name sinusbot sinusbot/docker

If the bot doesn't connect and you only see a “INFO TSClient quit” every time you try to start the bot via the webinterface, you might need to set your locale info manually when starting up the bot. Try to start it with

LC_ALL="en_US.UTF-8" ./sinusbot

Exchange en_US.UTF-8 to whatever locale you're using.

If that still doesn't help, try to manually start a TS client instance and see if that reports something useful:

xinit /opt/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64 -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac

If you used the startscript check the status by systemctl status sinusbot.service. Other logs from the stdout you can see by using journalctl -u sinusbot.service --since "1 hour ago".

Create a file at /etc/systemd/system/sinusbot.service with the following content:

[Unit]
Description=Sinusbot, the Teamspeak 3 and Discord music bot.
After=syslog.target network.target

[Service]
User=YOUR_USER
ExecStartPre=/bin/rm -f /tmp/.sinusbot.lock
ExecStopPost=/bin/rm -f /tmp/.sinusbot.lock
ExecStart=YOUR_PATH_TO_THE_BOT_BINARY
WorkingDirectory=YOUR_PATH_TO_THE_BOT
Type=simple
KillSignal=2
SendSIGKILL=yes

[Install]
WantedBy=multi-user.target

Adjust the following placeholders to your installation:

placeholder description example
YOUR_USER Your user who starts the bot sinusbot
YOUR_PATH_TO_THE_BOT_BINARY Your path to the SinusBot binary /opt/sinusbot/sinusbot
YOU_PATH_TO_THE_BOT Your path to the SinusBot install directory /opt/sinusbot

Reload systemd: systemctl daemon-reload

Enable autostart (optional): systemctl enable sinusbot

Start the sinusbot: service sinusbot start


github.com/SinusBot/linux-startscript