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.
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.
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:
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.inistarten
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