TeamSpeak 2 Server
Einleitung
Die Installation eines TeamSpeak 2 Servers funktioniert nur mit x86 basierten Prozessoren, wie sie unter anderem in der DS710+ oder DS1010+ zum Einsatz kommen.
Voraussetzungen
- Eine Diskstation mit x86 Architektur (Liste der Prozessortypen)
- Zugriff auf das NAS über die Kommandozeile muss aktiviert sein
- Ein Editor (z.B. nano)
Installation
In das Installationsverzeichnis für den TeamSpeak Server wechseln:
cd /usr/local
TeamSpeak Server für Linux laden:
wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_202319.tar.bz2
Das Archiv entpacken:
tar -jxvf ts2_server_rc2_202319.tar.bz2
Die Archivdatei löschen (wird nicht mehr benötigt):
rm ts2_server_rc2_202319.tar.bz2
In den Ordner mit den soeben entpackten Dateien wechseln:
cd tss2_rc2
Das binary file "server_linux" löschen (vorher die Zugriffsrechte notieren):
rm server_linux
Das update binary file "server_linux" laden (anschließend die Zugriffsrechte wieder anpassen):
wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/developer/server/202401/server_linux
Teamspeak Server starten, wodurch automatisch die server.ini angelegt wird:
sh teamspeak2-server_startscript start
Teamspeak Server stoppen:
sh teamspeak2-server_startscript stop
Server.ini mit einem Editor (in diesem Fall mit nano) öffnen:
nano server.ini
Folgende Zeile editieren:
BoundToIp1=IP.DER.DISKSTATION
Nano mit Strg+X verlassen und server.ini speichern. Teamspeak Server wieder starten:
sh teamspeak2-server_startscript start
Passwörter für die beiden User admin und superadmin anzeigen lassen:
sh teamspeak2-server_startscript passwords
Weiterleitung der Ports am Router
Folgende Ports müssen noch an die DiskStation weitergeleitet werden:
- Sprachübertragung: 8767 UDP
- Webinterface: 14534 TCP
- TCP Query: 51234 TCP
Jetzt sollte die Weboberfläche des Teamspeak 2 Servers unter der folgenden Adresse erreichbar sein:
HTTP://IP.DER.DISKSTATION:14534
Server Start/Stop Script
Damit der Server nach einem Neustart der DiskStation automatisch wieder gestartet wird, wechseln wir in das folgende Verzeichnis:
cd /usr/local/etc/rc.d
Nun legen wir mit nano eine neue Datei für das Startscript an:
nano tss2_rc2.sh
Das folgende Script wird in die Datei hineinkopiert:
#!/bin/sh # # Modified TeamSpeak 2 server startscript # Original script written by: pwk.linuxfan 2004 # # ./usr/local/etc/rc.d/ # ### BEGIN INIT INFO # Provides: teamspeak2 # Short-Description: TeamSpeak 2 server # Description: Start and stop your TeamSpeak 2 server... ### END INIT INFO # CONFIG SECTION USER=admin DIR=/usr/local/tss2_rc2 # END OF CONFIG SECTION case "$1" in start) if [ -e $DIR/tss2.pid ]; then echo "tss2.pid already exists..."; echo "Is your TeamSpeak 2 server already running?" exit 1 else if [ "$UID" = "0" ]; then for c in $(seq 1 10); do echo -n "!" sleep 1 done echo ! fi echo "Starting the Teamspeak 2 Server..." if [ -e $DIR/server_linux ]; then if [ ! -x $DIR/server_linux ]; then echo "server_linux is not executable..." echo "Trying to set it." chmod u+x $DIR/server_linux fi if [ -x $DIR/server_linux ]; then WD=`pwd` cd $DIR sudo -u $USER $DIR/server_linux -PID=$DIR/tss2.pid cd $WD else echo "server_linux is not executable..." exit 4 fi else echo "Could not find server_linux..." exit 5 fi fi ;; stop) if [ -e $DIR/tss2.pid ]; then echo -n "Stopping the TeamSpeak 2 server..." if ( kill -TERM `cat $DIR/tss2.pid` ); then for c in $(seq 1 300); do if [ -e $DIR/tss2.pid ]; then echo -n "." sleep 1 fi done fi if [ -e $DIR/tss2.pid ]; then echo "server does not shutdown cleanly..." kill -KILL `cat $DIR/tss2.pid` rm $DIR/tss2.pid sleep 5 else echo "done" fi else echo "tss2.pid does not exist..."; echo "Is your TeamSpeak 2 server already stopped?" #exit 7 fi ;; restart) $0 stop && $0 start || exit 1 ;; status) if [ -e $DIR/tss2.pid ]; then echo "The TeamSpeak 2 server is running." exit 0 else echo "The TeamSpeak 2 server is stopped." exit 3 fi ;; passwords) if [ -e $DIR/server.log ]; then date=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/") spass=$(cat $DIR/server.log | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/") pass=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/") echo "Following passwords were generated on $date" echo "superadmin = \"$spass\"" echo "admin = \"$pass\"" else echo "server.log not found..." exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|status|passwords}" exit 2 esac exit 0
Jetzt wird noch der Installationspfad und der Benutzer eingetragen, der den Server starten soll. Die folgenden Zeilen müssen dafür editiert werden:
USER=admin DIR=/usr/local/tss2_rc2
Nano mit Strg+X verlassen und das Startscript tss2_rc2.sh beim Beenden speichern. Zum Schluss müssen noch die Rechte der Datei richtig gesetzt werden:
chmod 755 tss2_rc2.sh
Nun sollte der TeamSpeak 2 Server nach einem Reboot der DiskStation wieder automatisch gestartet werden.
Konfiguration des Servers
Eine umfassende Dokumentation über die Konfiguration und Einrichtung des TeamSpeak 2 Servers findet man im unteren Teil des TeamSpeak FAQ.