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