Teamspeak 3 Server mit PostgreSQL Backend

Teamspeak 3 Server installieren

Vorwort

In den meisten Fällen reicht es aus einen Teamspeak Server mit der Standardinstallation und dem Standardplugin (sqlite3) zu installieren bzw. zu betreiben.

Für Umgebungen in denen ein PostgreSQL Server im Einsatz ist kann es sich lohnen den TS3 Server in Verbindung mit einer PostgreSQL Datenbank zu betreiben.

So kann z.b. bei einem Ausfall des Teamspeak Servers schnell auf eine andere Maschine gewechselt werden und alle Daten (Servergruppen, Benutzer und Channels) bleiben vorhanden.

Teamspeak Server erstellen

Starten wir mit der Installation des Teamspeak 3 Servers auf einem Ubuntu-20.04.3.-live Server.

Als Standard User verwenden wir das Benutzerkonto ts3.
Für meine Services nutze ich das Verzeichnis /srv/

Wir erstellen uns also als root eine Verzeichnisstruktur für den Server und weisen die lese- und schreibrechte dem Nutzer ts3 zu und wechseln anschließend wieder zurück zum ts3 Nutzer.

sudo su root
cd /srv
mkdir ts3-server
chown -R user_ts3:user_ts3 /srv/ts3-server
exit

Wir wechseln(als ts3 Nutzer) in das erstellte Verzeichnis /etc/ts3-server/
und laden uns den aktuellen Teamspeak Server herunter und entpacken diesen.

wget https://files.teamspeak-services.com/releases/server/3.13.6/teamspeak3-server_linux_amd64-3.13.6.tar.bz2

tar xfvj teamspeak3-server_linux_amd64-3.13.6.tar.bz2

Jetzt wechseln wir in das Verzeichnis /etc/ts3-server/teamspeak3-server_linux_amd64/
und erstellen uns eine Lizenzdatei. Damit können wir einen freien Server mit bis zu 32 Slots kostenfrei hosten.

touch .ts3server_license_accepted

Weitere Informationen bzgl. der Lizenzen findet Ihr unter
https://www.teamspeak.com/de/features/licensing/

PostgreSQL anbinden

Nachdem Ihr in das Verzeichnis /etc/ts3-server/teamspeak3-server_linux_amd64/
gewechselt seid, prüft mit ldd libts3db_postgresql.so ob alle Abhängigkeiten (shared libraries) vorhanden sind.

ACHTUNG:
In meinen Fällen war dies nicht der Fall. Solltet Ihr also folgende Ausgabe erhalten:
libpq.so.5 => not found
Könnt Ihr mit sudo apt-get install libpq-dev diese Abhängigkeiten nachinstallieren.

Jetzt erstellen wir uns mit touch ts3server.ini die config Datei mit der wir den Teamspeak in Zukunft starten werden. Der Inhalt ist wie folgt:
machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
liscensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
dbplugin=ts3db_postgresql
dbpluginparameter=ts3db_postgre.ini
dbsqlpath=sql/
dbsqlcreatepath=create_postgresql/
logpath=logs
logquerycommands=1

Erklärung:

dbplugin=ts3db_postgresql
-> das Datenbank Plugin für PostgreSQL

dbpluginparameter=ts3db_postgre.ini
-> Datei mit den PostgreSQL Zugangsdaten (Example weiter unten)

dbsqlcreatepath=create_postgresql/
-> Pfad für die Erstellung der Datenbank mit PostgreSQL
-> /srv/ts3-server/teamspeak3-server_linux_amd64/sql/create_postgresql/

PostgreSQL Zugangdaten

Wir brauchen noch eine INI-Datei in welcher die Zugangsdaten zur Datenbank liegen.
dbpluginparameter=ts3db_postgre.ini

Wir erstelle uns mit touch ts3db_postgre.ini diese Datei und fügen folgende Werte ein:

[config]
host=’IP‘
port=’5432′
username=’USER‘
password=’PASSWORD‘
database=’DATENBANK‘
socket=

Server in Betrieb nehmen

Wir können den Server nun mit folgenden Befehel starten
sh ts3server_minimal_runscript.sh start inifile=ts3server.ini

WICHTIG:
Wir müssen den Parameter inifile=ts3server.ini jetzt immer mit anhängen. Andernfalls wird das Standardplugin mit sqllite3 gestartet.

Der Vorteil mit dem „minimal_runscript“ ist, dass wir Fehler oder Probleme angezeigt bekommen.
Ansonsten könnt Ihr den Server mit sh ts3server_startupscript.sh start inifile=ts3server.ini starten

Bonus

Ihr könnt den Server auch über ein Script starten welches Ihr dann im Cronjob oder mit Systemd nutzen könnt.

Ihr könnt also als ts3 Nutzer in eurem Homeverzeichnis folgendes anlegen /home/ts3/scripts/ts3_start.sh und fügt dort folgendes ein:

#den Teamspeak server Starten
/srv/ts3-server/teamspeak3-server_linux_amd64/ts3server_startscript.sh start
inifile=/srv/ts3-server/teamspeak3-server_linux_amd64/ts3server.ini

Hier müsst Ihr nur darauf achten, dass ihr die vollen Pfade angebt. Also auch zur ts3server.ini

You may also like...