#!/bin/sh # # Shellscript, startet einen TeamSpeakServer im # Kontext des angegebenen Benutzers. # # UTG|SePHTaN (sephatan@utgclan.de) # dank an FearFactor füage # ============================================ # # Voraussetzungen: # # - Ein installierter/entpackter TeamSpeakServer # - der Benutzer in dessen Kontext der Server laufen soll # muss existieren und muss volle Rechte auf den TSS-Ordner und Dateien # haben. (aktuellen Status mit "ls -l" anzeigen) # Siehe bei Bedarf die Manpages von chown (Besitzer än) # Beispiel: "chown user:gruppe datei" # Rechte ät man mit "chmod" # Beispiel: "chmod 770 datei" # - Die Variablen m.ssen Deinem System angepasst werden. # # Das Script am Besten als ts3d im Ordner /etc/init.d erstellen, # und ausfüen (z.B. mit "chmod 755 ts3d") # # damit der Server von jedem Verzeichnis aus gestartet und beendet werden # kann, erstellt man am Besten einen harten link ins Verzeichnis /usr/bin, # # Beispiel "ln Pfad-zum-script /usr/bin" : # Beispiel "ln /etc/init.d/ts3d /usr/bin" # # Soll der Server beim Hochfahren automatisch starten, # erstelle noch einen Link im init.d-Verzeichnis # (kann je nach Distribution abweichen!) # # und dann noch einen symbolischen Link ins Verzeichnis # des richtigen Runlevels erstellen # (den Standardrunlevel am Besten in /etc/inittab nachsehen): # # Beispiel Debian "ln -s /etc/init.d/ts3d /etc/rc2.d/S99ts3d" # Beispiel SuSE "ln -s /etc/init.d/ts3d /etc/rc.d/rc2.d/S99ts3d" # # Um den Server manuell zu starten/stoppen verwende: # "ts3d start" # "ts3d stop" # # "ts3d status" zeigt alle laufenden TSS-Prozesse # und die Adminpasswön! (ausgelesen aus server.log) ### BEGIN INIT INFO # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO set -e DAEMON_USER="teamspeak3" DESC="Teamspeak3-Server" DIR=/home/teamspeak3 BIN=ts3server_linux_amd64 DAEMON=$DIR/$BIN NAME="Teamspeak3" PATH=$DIR:/bin:/usr/bin:/sbin:/usr/sbin PIDFILE=/var/run/$NAME/$NAME.pid PARAMS=inifile=$DIR/ts3server.ini export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" test -x $DAEMON || exit 0 case "$1" in start) echo -n "Starting TS server: $NAME " [ -d /var/run/$NAME ] || mkdir -p /var/run/$NAME start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS echo "." ;; stop) echo -n "Stopping TS server: $NAME " start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON rm -f $PIDFILE echo "." ;; restart) echo -n "Restarting TS server: $NAME " start-stop-daemon --stop --pidfile $PIDFILE --oknodo --exec $DAEMON rm -f $PIDFILE start-stop-daemon --start --background --chdir $DIR --chuid $DAEMON_USER -m --pidfile $PIDFILE --exec $DAEMON -- $PARAMS echo "." ;; reload|force-reload) echo "Reloading $NAME configuration files" start-stop-daemon --stop --pidfile $PIDFILE --signal 1 --exec $DAEMON -- $PARAMS echo "." ;; status) [ -e $PIDFILE ] && echo "$NAME seems to be running with pid: `cat $PIDFILE`." \ || echo "$NAME is not running." ;; *) echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}" exit 1 ;; esac exit 0