Introduction

This article describes the installation and configuration of a SinusBot program with two instances, you can use one SinusBot per instance. It is also possible to run multiple SinusBot programs in parallel to use several SinusBots.

But what is SinusBot actually?

SinusBot is a program that allows you to listen to your favorite music together with your friends on Teamspeak.

Requirements

  • A 64-bit compatible OS
  • Ubuntu 14.04+/ Debian 8+
  • A HHS VPS 1 or better
  • Teamspeak / Discord

Step 1 - Preparations

Before we get started your CloudServer should be updated.

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

SinusBot needs several dependencies which have to be installed urgently!

apt-get install -y x11vnc xvfb libxcursor1 ca-certificates bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libglib2.0-0 libgl1 libnspr4 libfontconfig1 libxi6 libxcursor1 libxcomposite1 libasound2 libxtst6

Update the certificates by ca-certificates.

update-ca-certificates

For the installation a user sinusbot must be created.

useradd -m -s /bin/false sinusbot

Now the installation directory must be created.

mkdir /opt/sinusbot && chown -R sinusbot:sinusbot /opt/sinusbot

Step 2 - Installation

For the installation we have to switch to the created sinusbot user.

su --shell /bin/bash sinusbot

Change to the sinusbot installation directory.

cd /opt/sinusbot

Now we need the newest SinusBot version which we unpack directly.

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

To make SinusBot work, a Teamspeak client must be installed in the installation directory and the permissions have to be adjusted.

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

Now the Teamspeak Client has to be unpacked.

./TeamSpeak3-Client-linux_amd64-3.2.3.run

In the unpacking process press Enter + q + y + Enter in succession!

Step 3 - Configuration

After the Teamspeak was unpacked. Now the config.ini.dist must be copied and edited.

cp config.ini.dist config.ini && nano config.ini

In the config.ini the following must be replaced: TS3Path = "/opt/ts3soundboard/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"

Replace with: TS3Path = "/opt/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"

To save Ctrl+O + Enter and to exit press Ctrl+X!

In the Teamspeak installation directory I recommend to delete an unneeded library, otherwise you might have problems with Teamspeak.

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

Now the folder structure in the Teamspeak installation directory has to be adapted and an important plugin has to be copied.

mkdir TeamSpeak3-Client-linux_amd64/plugins && cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins/ && chmod 755 sinusbot

Now SinusBot has to be started for the first time.

./sinusbot

In the CLI SinusBot generates access data which you can use to access the SinusBot webinterface under: yourserverip:8087

Getting Started

After logging in, the webinterface appears.

Getting Started

I recommend to change the password generated by SinusBot with your own secure password directly at the beginning!

Settings > User Account > Edit (pen)

Press Save changes to change your password.

Getting Started

If you have changed your password we can connect your SinusBot to a Teamspeak server.

Settings > Instance Settings

  • Nickname: Display name in Teamspeak
  • Hostname/IP: Address of the Teamspeak server
  • Port: By default to 9987

Press Save changes to save your settings.

After saving, the SinusBot can be switched on by pressing the orange button (next to the search).

Getting Started

In the SinusBot webinterface a second instance can be added.

Settings > Instances > Add Instance

With select one of the instances can be selected and configured under Settings > Instance Settings.

Notice: If two SinusBot instances are not enough you have the possibility to run several SinusBot programs in parallel, just follow the steps above for each installation.

mkdir /opt/sinusbot1 && chown -R sinusbot:sinusbot /opt/sinusbot1
mkdir /opt/sinusbot2 && chown -R sinusbot:sinusbot /opt/sinusbot2
mkdir /opt/sinusbot3 && chown -R sinusbot:sinusbot /opt/sinusbot3

etc...

Getting Started

To start SinusBot easily a startscript can be used. This must be done as root user! So just use the exit command to leave the sinusbot user.

curl -o /lib/systemd/system/sinusbot.service https://raw.githubusercontent.com/SinusBot/linux-startscript/master/sinusbot.service && nano /lib/systemd/system/sinusbot.service

Now you have to change some entries in the sinusbot.service.

User=sinusbot                      #Created user
ExecStart=/opt/sinusbot/sinusbot   #Path to the SinusBot binary
WorkingDirectory=/opt/sinusbot     #Path to the SinusBot directory

To save Ctrl+O + Enter and to exit press Ctrl+X!

To apply the changes to the sinusbot.servicesystemctl must be reloaded.

systemctl daemon-reload

(Optional) SinusBot can also be started automatically after a restart.

systemctl enable sinusbot

Our SinusBot can now be started by using systemctl.

systemctl start sinusbot

Notice: If you have multiple SinusBot installations and want to use the startscript, consider creating multiple startscripts and changing the path for each installation.

/lib/systemd/system/sinusbot1.service https://...
/lib/systemd/system/sinusbot2.service https://...
/lib/systemd/system/sinusbot3.service https://...
sinusbot1.service

User=sinusbot                       #Created user
ExecStart=/opt/sinusbot1/sinusbot   #Path to the SinusBot binary
WorkingDirectory=/opt/sinusbot1     #Path to the SinusBot directory
sinusbot2.service

User=sinusbot                       #Created user
ExecStart=/opt/sinusbot2/sinusbot   #Path to the SinusBot binary
WorkingDirectory=/opt/sinusbot2     #Path to the SinusBot directory

etc...

Conclusion

If you have followed the tutorial so far, you now have your own SinusBot program with two instances and can use up to two SinusBots on two different Teamspeak servers. Optionally you can let SinusBot start automatically after each restart.

Was this answer helpful? 0 Users Found This Useful (0 Votes)