VPS/vServer - virtual private server > vServer - HowTo's

Teamspeak 3 - Autostart

<< < (3/6) > >>

Heisenberg:
@reboot *teamspeakuser* /home/teamspeakuser$/teamspeak3/ts3server_startscript.sh start

in die crontab eintragen.

AnNiPaTh:
Hmm, i.wie will garnichts bei mir funzen >_<

Ich glaub ich bin zu blöd xDD
oder ich hab doch i.wo nen Fehler eingebaut...
Mal schauen, werd mich jetzt mal dran setzten und nochmal versuchen.

Danke an alle für die Zahlreichen antworten. ;)

€dit:

Hab nun versucht diese Idee umzustetzen -> http://utgclan.de/forum/index.php?topic=1831.0

Er sagt mir das er startet, jedoch kann ich nicht Connecten.

Hab das Script soweit angepasst, bin mir nur nicht sicher ob ich was übersehen habe.


--- Code: ---#!/bin/sh
#
# Shellscript, startet einen TeamSpeakServer im
# Kontext des angegebenen Benutzers.
#
# UTG|SePHTaN (sephatan@utgclan.de)
# dank an FearFactor für die Vorlage
# ============================================
#
# 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 ändern)
# Beispiel: "chown user:gruppe datei"
# Rechte ändert 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ührbar machen (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örter an! (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="root"
DESC="teamspeak3-server"
DIR=/home/ts3/teamspeak3-server_linux-x86
BIN=ts3server_startscript.sh

DAEMON=$DIR/$BIN
NAME="Ts3server"
PATH=$DIR:/bin:/usr/bin:/sbin:/usr/sbin
PIDFILE=/home/ts3/teamspeak3-server_linux-x86/$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
--- Ende Code ---

Mein ts3 ist in -> /home/ts3/teamspeak3-server_linux-x86

Falls ich i.was vergessen hab, lasst es mich bitte wissen.
So langsam verzweifel ich doch wirklich :/
(Ich starte bewusst als root, da es nur zzt. nur Testweise ist, sobald alles klappt, bau ich um)

Heisenberg:
Wie ich im post über deinem schon geschrieben habe reicht exakt diese eine Zeile in der crontab-Datei.
Für *teamspeakuser* setzt du den user ein mit dem du den ts-server starten willst und der Pfad danach ist halt der Pfad zum mitgelieferten startscript der TS-Installation. Vorzugsweise und der Einfachheit halber (wg. Rechten) befindet sich diese Installation unterhalb des home$ des users mit dem du den ts-server starten willst. Wenn ich deinen post richtig deute müsst es dann bei dir exakt so lauten:


@reboot ts3 /home/ts3/ts3server_startscript.sh start


Diese Zeile in die crontab eintragen und fertig. Der Server startet dann auch mit den Userrechten des ts3-Users.

AnNiPaTh:
Hab nun alles neu aufgesetzt.

TS3 User mit vollen rechten im TS3 ordner.
TS3 von hand starten (per User) klappt, ohne Probleme.

Habs in die Crontab eingetragen (etc -> crontab).
Server neu gestartet.

TS3 bleibt Down.
(Hab noch nie mit der Crontab gearbeitet, daher bin ich gerade nicht so sicher ob ich alles richtig hab.) :D

Was mache ich denn Falsch? >_<

Heisenberg:
Hmm, schwer zu sagen.
Das hört sich erst einmal richtig an, aber da ich 100% garantiere, daß das so läuft (bei mir ist es so), muss also zwangsläufig irgendetwas falsch sein. /etc/crontab stimmt aber schon mal. Die Rechte sind auch ok nehme ich mal an, sonst würde er  ja auch nicht manuell starten. Die einzige Möglichkeit ist, daß dieser Pfad bei dir anders lautet:

/home/ts3/ts3server_startscript.sh

Da müsste im Normalfall noch ein "teamspeak3"-Ordner drin sein, weil:

Das ts3server_startscript.sh -Script wird bei der ts3-"Installation", d.h. beim entpacken, mitgeliefert. Es ist halt in dem Pfad wo du den tarball entpackt hast. Und der enthält durch das entpacken (zwangsläufig, sofern du das nicht modifiziert hast) den term "teamspeak3". Bei mir liegt es genau da, wenn man es aus dem home$ des ts-users entpackt hat ohne den Pfad zu modifizieren:

@reboot teamspeak /home/teamspeak/teamspeak3/ts3server_startscript.sh start

Bei dir müsstest du dann das script vermutlich dort finden (den user teamspeak durch ts3 bei dir ersetzen) bzw. die folgende Zeile in die crontab einfügen (überprüfe aber ob der Pfad defintiv so existiert bzw. passe ihn an falls nicht):

@reboot ts3 /home/ts3/teamspeak3/ts3server_startscript.sh start


So, dann mach mal und viel Erfolg. :-)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln