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