Installation des Teamspeak 3 Servers unter Linux

Ich möchte euch zeigen, wie man den Teamspeak 3 – Server unter Linux (ich habe Ubuntu-Server benutzt) bootfest installieren kann und möchte gleichzeitig ein paar Probleme, die dabei auftreten können, lösen.

1. Installation des TS3-Server

Als erstes sollten wir die aktuelle TS3-Server Version herunterladen. Dabei auf die richtige Version achten (Linux, 32/64bit).

cd /tmp
wget http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.1/teamspeak3-server_linux-amd64-3.0.1.tar.gz

(Download-Link am besten aus dem Browser in die putty-Konsole kopieren)

Dann das Installationspaket entpacken, Pfade und Versionen evt. anpassen:

tar xzf teamspeak3-server_linux-amd64-3.0.1.tar.gz -C /var

Danach sollten wir erstmal einen TS3-Benutzer + Gruppe anlegen:

sudo useradd -U ts3 -s /bin/false

Rechte anpassen:

sudo chown -R ts3:ts3 /var/teamspeak3-server_linux-amd64

Erstmaliges Starten des TS3-Servers:

su -c "/var/teamspeak3-server_linux-amd64/ts3server_minimal_runscript.sh" -s /bin/bash ts3

Es wird eine erste Meldung kreiert, die wir auf jeden Fall sichern sollten:

------------------------------------------------------------------
                      I M P O R T A N T
------------------------------------------------------------------
      ServerAdmin privilege key created, please use it to gain
      serveradmin rights for your virtualserver. please
      also check the doc/privilegekey_guide.txt for details.

       token=Z2IDbCH2bZoVQG1GC1AVvEVideIO+dog39TycejR
------------------------------------------------------------------

Mit diesem Token können wir uns dann später mit Hilfe eines Clients als Server-Admin authentifizieren. Dazu bekommt man beim ersten Verbinden zum Server eine Aufforderung, den Berechtigungsschlüssel einzugeben.

TS3 Erstanmeldung am Server
TS3 Erstanmeldung am Server

Nachdem man sich erfolgreich authentifiziert hat, beenden wir mit Str-C den Server erstmal wieder, da wir den Server mit einem init.d-Script starten wollen.

2. Start-Script erzeugen und TS3-Server bootfest machen

Wir erstellen ein neues init.d-Script:

sudo nano /etc/init.d/ts3-server

mit folgendem Inhalt:


#!/bin/sh
### BEGIN INIT INFO
# Provides:          ts3-server
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Teamspeak 3 Server
### END INIT INFO

sleep 30
HOME="/var/teamspeak3-server_linux-amd64"
VALUE="$1"
su -c "$HOME/ts3server_startscript.sh $VALUE" -s /bin/bash ts3
exit 0

Die Verzeichnis-Pfade sollten entsprechend angepasst werden. Das sleep 30 verzögert das Script beim Starten, um Probleme mit noch nicht gestarteten Diensten zu umgehen. Eleganter ist es, mit Abhängigkeiten zu arbeiten. Wer möchte, kann das Script ja noch anpassen. Das Script am Ende noch ausführbar und bootfest machen:


sudo chmod +x /etc/init.d/ts3-server
sudo update-rc.d /etc/init.d/ts3-server defaults

Damit ist das Script eingerichtet und kann getestet werden:

sudo /etc/init.d/ts3-server start

Überprüfen, ob der TS3-Server unter dem richtigen Benutzer auch läuft:


root@ubuntu-server01:~# ps aux |grep ts3
root   13598  0.0  0.0   9324  1060 pts/1    R+   12:02   0:00 grep --color=auto ts3
ts3    36311  1.0  0.4 201180  6128 ?        Sl    2011 546:56 ./ts3server_linux_amd64

3. Fehler beim Starten mit TS3-Benutzerrechten

Wer den Teamspeak 3 – Server vorher schonmal mit root-Rechten gestartet hatte und ihn nun mit Benutzerrechten starten möchte, könnte auf folgende Fehlermeldung stoßen:

2011-12-29 19:31:23.131295|ERROR |ServerLibPriv | | Server() error while starting servermanager, error: instance check error Segmentation fault (core dumped)

Lösung: Die Datei /dev/shm/7gbhujb54g8z9hu43jre8 löschen.

Die Fehlermeldung kann auch auftreten, wenn es im System kein tmpfs-Dateisystem gibt (tritt oft bei virtualisierten Servern auf). Das können wir aber nachholen:

sudo mount -t tmpfs tmpfs /dev/shm

Danach am besten nochmal testen. Klappt es nun, sollte man das tmpfs noch in die /etc/fstab eintragen, damit es beim nächsten Booten wieder mitgestartet wird:

tmpfs /dev/shm tmpfs defaults  0  0

Hat man einen virtuellen Server wie wir, der die Einträge in der /etc/fstab immer wieder überschreibt, muss man sich über das init.d-Script behelfen:


#!/bin/sh
### BEGIN INIT INFO
# Provides:          ts3-server
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Teamspeak 3 Server
### END INIT INFO

sleep 30
mount -t tmpfs tmpfs /dev/shm
HOME="/var/teamspeak3-server_linux-amd64"
VALUE="$1"
su -c "$HOME/ts3server_startscript.sh $VALUE" -s /bin/bash ts3
exit 0

Sonstige Fehler:

Der Teamspeak 3 Server erzeugt natürlich auch Log-Dateien, die unter /var/teamspeak3-server_linux-amd64/logs zu finden sind. Bei Fehlern sollte man hier also als erstes nachschauen.

Schreibe einen Kommentar

Kommentare müssen vor der Veröffentlichung freigegeben werden. Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * gekennzeichnet. Bitte beachte auch die Datenschutzhinweise bzgl. des Kommentierens und des Widerspruchsrechts.