TeamSpeak 2 Server: Unterschied zwischen den Versionen

Aus
K (kategorisiert (->Software))
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Einleitung =
[[Category:Software]][[Category:x86-64]][[Category:VoIP]]
Die Installation eines TeamSpeak 2 Servers funktioniert nur mit x86 basierten Prozessoren, wie sie unter anderem in der DS710+ oder DS1010+ zum Einsatz kommen.
; Was ist TeamSpeak? : Eine [[VoIP]]-Anwendung, Details siehe [http://www.teamspeak.com]
; Achtung! : 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 =
= Voraussetzungen =
*Eine Diskstation mit x86 Architektur
*Eine Diskstation mit [[x86-64]]-Architektur ([[Welchen_Prozessortyp_besitzt_mein_System%3F|Liste der Prozessortypen]])
*Zugriff auf das NAS über die [[Die_Kommandozeile|Kommandozeile]] muss aktiviert sein
*Zugriff auf das NAS über die [[Die_Kommandozeile|Kommandozeile]] muss aktiviert sein
*Ein Editor (z.B. [[Alternativer_Editor_nano|nano]])
*Ein Editor (z.B. [[Alternativer_Editor_nano|nano]])
Zeile 9: Zeile 10:
= Installation =
= Installation =
In das Installationsverzeichnis für den TeamSpeak Server wechseln:
In das Installationsverzeichnis für den TeamSpeak Server wechseln:
<pre>cd /usr/syno/synoman/webman/3rdparty</pre>
<pre>cd /usr/local</pre>
TeamSpeak Server für Linux laden:
TeamSpeak Server für Linux laden:
<pre>wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_202319.tar.bz2</pre>
<pre>wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/ts2_server_rc2_202319.tar.bz2</pre>
Zeile 18: Zeile 19:
In den Ordner mit den soeben entpackten Dateien wechseln:
In den Ordner mit den soeben entpackten Dateien wechseln:
<pre>cd tss2_rc2</pre>
<pre>cd tss2_rc2</pre>
Das binary file "server_linux" gegen das aktuelle ersetzen (darauf achten, dass hinterher die Zugriffsrechte wieder passen):
Das binary file "server_linux" löschen (vorher die Zugriffsrechte notieren):
<pre>rm server_linux</pre>
Das update binary file "server_linux" laden (anschließend die Zugriffsrechte wieder anpassen):
<pre>wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/developer/server/202401/server_linux</pre>
<pre>wget ftp://ftp.freenet.de/pub/4players/teamspeak.org/developer/server/202401/server_linux</pre>
Teamspeak Server starten, wodurch automatisch die server.ini angelegt wird:
Teamspeak Server starten, wodurch automatisch die server.ini angelegt wird:
Zeile 24: Zeile 27:
Teamspeak Server stoppen:
Teamspeak Server stoppen:
<pre>sh teamspeak2-server_startscript stop</pre>
<pre>sh teamspeak2-server_startscript stop</pre>
Server.ini mit einem Editor (in diesem Fall mit nano) öffnen:
Server.ini mit einem Editor (in diesem Fall mit [[Alternativer_Editor_nano|nano]]) öffnen:
<pre>nano server.ini</pre>
<pre>nano server.ini</pre>
Folgende Zeile editieren:
Folgende Zeile editieren:
Zeile 41: Zeile 44:
Jetzt sollte die Weboberfläche des Teamspeak 2 Servers unter der folgenden Adresse erreichbar sein:
Jetzt sollte die Weboberfläche des Teamspeak 2 Servers unter der folgenden Adresse erreichbar sein:
<pre>HTTP://IP.DER.DISKSTATION:14534</pre>
<pre>HTTP://IP.DER.DISKSTATION:14534</pre>
= Server Start/Stop Script =
Damit der Server nach einem Neustart der DiskStation automatisch wieder gestartet wird,
wechseln wir in das folgende Verzeichnis:
<pre>cd /usr/local/etc/rc.d</pre>
Nun legen wir mit nano eine neue Datei für das Startscript an:
<pre>nano tss2_rc2.sh</pre>
Das folgende Script wird in die Datei hineinkopiert:
<pre>
#!/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
</pre>Jetzt wird noch der Installationspfad und der Benutzer eingetragen, der den Server starten soll. Die folgenden Zeilen müssen dafür editiert werden:
<pre>USER=admin
DIR=/usr/local/tss2_rc2</pre>
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:
<pre>chmod 755 tss2_rc2.sh</pre>
Nun sollte der TeamSpeak 2 Server nach einem Reboot der DiskStation wieder automatisch gestartet werden.


= Konfiguration des Servers =
= Konfiguration des Servers =
Eine Umfassende Dokumentation über die Konfiguration und Einrichtung des TeamSpeak 2 Servers findet man im unteren Teil des [http://www.teamspeak.com/?page=faq&newlang=de TeamSpeak FAQ].
Eine umfassende Dokumentation über die Konfiguration und Einrichtung des TeamSpeak 2 Servers findet man im unteren Teil des [http://www.teamspeak.com/?page=faq&newlang=de TeamSpeak FAQ].

Aktuelle Version vom 1. Mai 2013, 15:44 Uhr

Was ist TeamSpeak?
Eine VoIP-Anwendung, Details siehe [1]
Achtung!
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

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.