Forum EUserv

VPS/vServer - virtual private server => vServer - HowTo's => Thema gestartet von: AnNiPaTh am 05.Januar 2011, 03:14:34

Titel: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 05.Januar 2011, 03:14:34
Hallo zusammen,

ich habe ein Problem, ich verzweifle an dem "Autostart" für mein TS3.
Google brachte mir noch keine brauchbare Lösung, hier fand ich auch nichts...
So langsam verzweifle ich >_<

Ich hoffe mir kann da jemand helfen :)

Mfg
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: uname am 05.Januar 2011, 11:45:05
Etwas mehr Infos wären nicht schlecht. Welches Linux setzt du ein? Vielleicht Debian? Normalerweise sollte es reichen /etc/init.d/teamspeak-server (oder so ähnlich, nutze sowas nicht) in dem Runlevel zu berechtigen?
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: dsh am 05.Januar 2011, 12:10:05
oder starte es doch wie ich einfach von hand das du sofort merkst wenn der server mal ungewollt rebootet.
kannst dir ja in das userhome eine start.sh scripten mit der du per sh start.sh den ts server starten kannst

aber is geschmacks sache ich z.b. starte alles "von hand" weil es einfach gewohnheit ist
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Lizzard am 05.Januar 2011, 14:24:00
das Startscript "ts3server_startscript.sh" ist beim TS3 normalerweise dabei.

Das in die init.d einzu tragen ist aber gar nicht gut. Der TS3 Server sollte NICHT mit ROOT Rechten laufen (das fängt das Script sehr schön ab).

Wenn, dann musst Du Dir ein Script schreiben welches das Startscript als nicht-root startet.

Ich starte den aber auch "von Hand". ;)
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: uname am 05.Januar 2011, 16:30:12
Evtl. kannst du es in /etc/rc.local eintragen. Mit

su <username> -c /pfad/zum/programm

wird es dann evtl. als <username> gestartet. Nicht probiert.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Meister196 am 07.Januar 2011, 20:49:20
Hier mal mein vorschlag http://addons.teamspeak.com/directory/tools/administration/An-easy-TS3-Admin-app-for-Windows%C2%AE.html
is recht leicht zu bedienen so kann man recht leicht die slots aufteilen zb nee ts  nur für neen raid tag fertig machen
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Fierlord am 09.Januar 2011, 20:25:07
Versuch es mal damit http://utgclan.de/forum/index.php?topic=1831.0 (http://utgclan.de/forum/index.php?topic=1831.0)
Ich habe es damit auf meinem Server so eingerichtet und es funktzioniert. Mit einem seperaten User so das es ohne den Root user geht.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 15.Januar 2011, 12:18:33
Wow, danke für die vielen antworten, hatte den Thread schon fast vergessen, bis gerade der server wieder Down ging......

Also ich nutze Debian 5.0r5 minimal.
Ich werde jetzt mal testen, was mir hier so angeboten wurde :)

Danke schonmal, gleich kommt ne Rückmeldung. ^^

ps. server starte ich ja jetzt auch von hand, aber soooo oft wie der server down geht, wirds langsam lästig ^^.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Destor am 10.Februar 2011, 13:05:20
Hi,

also hatte das gleiche Problem wie du, ich bin hingegangen und bin in das entpackte Verzeichnis gegangen in meinem Fall (/home/tsserver/teamspeak3-server_linux-x86). Dort findest du ja die ts3server_startscript.sh die führst du einmal aus um den Token für deinen Serveradmin zu bekommen. Loggst dich auf deinen TS ein und trägst den Token ein. Im Anschluss brichst du das Script mit STRG+C ab.

Dann schreibst du
Zitat
./startscript_ts3_linux.sh start
und nun solltest du weiterhin in der Konsole sein. Nun kannst du mittels top Befehl sehen das dort der Prozess ts3server_linux läuft.

Ich habe die TS3 Version "Server x86 3.0.0-beta30"  installiert.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: PlaYaUnited am 16.Februar 2011, 20:34:07
Also ich habe das nicht getestet, aber sollte möglich sein. Ihr müsst eine start.sh datei in /etc/init.d/ anlegen die dann bei jedem start ausgeführt wird. Darin enthalen müsste sein:
#!/bin/bash
cd /root/teamspeak3/
screen -A -m -d -S nutzername(z.b ts3) ./ts3server_minimal_runscript.sh

So startet Teamspeak als user xxx und in einer screen bei jedem system boot.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Heisenberg am 16.Februar 2011, 20:40:09
@reboot *teamspeakuser* /home/teamspeakuser$/teamspeak3/ts3server_startscript.sh start

in die crontab eintragen.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 23.März 2011, 16:05:19
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 (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.

#!/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

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)
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Heisenberg am 23.März 2011, 21:18:23
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.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 24.März 2011, 23:57:42
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? >_<
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Heisenberg am 25.März 2011, 07:10:54
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. :-)
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 26.März 2011, 06:14:47
Also grundsätzlich war der Pfad /home/ts3/teamspeak3-server_linux-x86/ts3server_startscript.sh

Jedoch war mir der teil "teamspeak3-server_linux-x86" zu blöd, daher hab ich ihn kurzerhand weggelassen.
Also alle Daten aus dem "teamspeak3-server_linux-x86" ordner in den ts3 ordner... und den "teamspeak3-server_linux-x86" gelöscht...

Klappte wunderbar, server läuft auch Stabil (mit dem User ts3 gestartet).
Nur funzt das mit der Crontab nicht wirklich... :/

i.wo hab ich da wohl doch nen wurm eingebaut...

btw. ich hab die zeile GANZ UNTEN in die Crontab geschrieben ... unter allem anderen (war nicht viel)... muss die zeile mitten drin i.wo ?
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Heisenberg am 26.März 2011, 08:47:02
Ist egal wo das in der crontab steht. Es darf nur kein # davor stehen.

Die Zeile müsste dann wohl bei dir so aussehen, wenn du die ts-Install eine Ebene nach oben kopiert hast (beachte den start-Befehl am Ende!):

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


Wenn das nicht klappt liegt es vermutlich an den Rechten auf das startscript. Die Rechte generell noch mal überprüfen oder einfach noch mal Vollzugriff für den TS3-User auf das ganze Install-Verzeichnis ts3, das ja bei dir identisch mit dem home$-rootdes ts3-Users ist, drüber bügeln. Nen anderen möglichen Grund sehe ich nicht falls der Pfad so stimmt.
Oder doch: Läuft eigentlich der cron-dienst bzw. wird der bei systemstart gestartet? Das habe ich ursprünglich vorausgesetzt, aber das wäre noch ein potentieller Grund warum es bei dir nicht funzt (eigentlich ein Standard-Dienst). Ohne gestarteten cron-Dienst wird aber natürlich auch keine crontab ausgelesen, egal was du da reinschreibst. :-)

Mit ps ax abfragen, ob der unter den aktiven prozessen auftaucht und ggf. ändern falls er nicht automatisch beim boot gestartet wird.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 18.Juli 2011, 16:36:19
Ok, fehler gefunden..

Die Crontab startet nicht automatisch.. >_<
Mal schauen ob mir google weiterhelfen kann.. =)

Danke schonmal

Ok, auch google hilft mir nicht.. -.-'
Kann mir jemand kurz erklären wie ich die Cron-Dienste nach nem Reboot mit starte? ^^
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: krake2000 am 24.Juli 2011, 15:56:15
Normalerweise mit

# chkconfig --level 35 crond on
prüfen mit

# chkconfig --list crond
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 31.Juli 2011, 16:00:24
Normalerweise mit

# chkconfig --level 35 crond on
prüfen mit

# chkconfig --list crond

-bash: chkconfig: command not found
Will er nicht nehmen :/
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: zefix am 31.Juli 2011, 16:59:45
Zitat
Will er nicht nehmen :/
apt-cache search chkconfig
chkconfig - system tool to enable or disable system services
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: MarP am 31.Juli 2011, 19:53:29
hast du dir mal das hier angeschaut?
damit geht vieles einfacher :-)

http://addons.teamspeak.com/directory/tools/web-based/Teamspeak-3-Webinterface-by-Psychokiller.html (http://addons.teamspeak.com/directory/tools/web-based/Teamspeak-3-Webinterface-by-Psychokiller.html)
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: dakasi am 01.August 2011, 00:50:07
Wieso nicht einfach ein Init Skript ?

Zb so :
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          teamspeak3
# Required-Start:    $local_fs $remote_fs $syslog $network mysql
# Required-Stop:     $local_fs $remote_fs $syslog $network mysql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Teamspeak3 Server   
### END INIT INFO



tsdir="/home/ts3/teamspeak3-server_linux-amd64/"
tsuser="ts3"

cd $tsdir

case "$1" in
start)
echo "Starting Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh start
;;
restart)
echo "Restarting Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh restart
;;
stop)
echo "Stoping Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh stop
;;
*)
echo "Usage: ${0} {start|stop|restart}"
exit 1
esac

exit 0


Danach noch mit "insserv" das Skript automatisch in die verschiedenen Runlevel eintragen lassen.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: zefix am 01.August 2011, 01:21:47
Zitat
Wieso nicht einfach ein Init Skript ?
ich denke es geht darum den server automatisch neustarten zu lassen falls er mal abstürzt, darum auch die sache mit cron.
weiss nicht wie stabil ts leuft, mach damit normal nix. denke init script ist schon die beste lösung. oder gleich in die /etc/innittab mit respawn  eintragen, wenn init stirbt ist sowieso alles am ende :)
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: AnNiPaTh am 03.August 2011, 00:31:46
Zitat
Will er nicht nehmen :/
apt-cache search chkconfig
chkconfig - system tool to enable or disable system services

Was soll das bewirken?
Bei mir zeigt er genau das gleiche, jedoch kann ich die befehle nicht nutzen .. :/

hast du dir mal das hier angeschaut?
damit geht vieles einfacher :-)

http://addons.teamspeak.com/directory/tools/web-based/Teamspeak-3-Webinterface-by-Psychokiller.html (http://addons.teamspeak.com/directory/tools/web-based/Teamspeak-3-Webinterface-by-Psychokiller.html)

Schau ich mir jetzt mal an .. ;)
Ich bezweifle das ich damit aber das Autostart-Problem in den griff bekomme.. ;)

Wieso nicht einfach ein Init Skript ?

Zb so :
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          teamspeak3
# Required-Start:    $local_fs $remote_fs $syslog $network mysql
# Required-Stop:     $local_fs $remote_fs $syslog $network mysql
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Teamspeak3 Server   
### END INIT INFO



tsdir="/home/ts3/teamspeak3-server_linux-amd64/"
tsuser="ts3"

cd $tsdir

case "$1" in
start)
echo "Starting Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh start
;;
restart)
echo "Restarting Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh restart
;;
stop)
echo "Stoping Teamspeak 3 Server"
su $tsuser ./ts3server_startscript.sh stop
;;
*)
echo "Usage: ${0} {start|stop|restart}"
exit 1
esac

exit 0


Danach noch mit "insserv" das Skript automatisch in die verschiedenen Runlevel eintragen lassen.

Weil ich kein Plan hab wie ich das einfüge? :D
Wenn mir jemand erklärt wie ichs einbaue, dann werd ichs probieren xD

Zitat
Wieso nicht einfach ein Init Skript ?
ich denke es geht darum den server automatisch neustarten zu lassen falls er mal abstürzt, darum auch die sache mit cron.
weiss nicht wie stabil ts leuft, mach damit normal nix. denke init script ist schon die beste lösung. oder gleich in die /etc/innittab mit respawn  eintragen, wenn init stirbt ist sowieso alles am ende :)

Joa, geht ja grundsätzlich nur um den Autostart vom TS.. der TS selber läuft stabil..
Der server schmiert aber immer öfter mal ab .. -.-'

und dann ist auch der TS down.. :/
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: zefix am 03.August 2011, 12:19:36
Zitat
Was soll das bewirken?
o man o man chkconfig musst du erst installieren und mit "apt-cache search" kannst du die Paket Datenbank durchsuchen. installiere es einfach.
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: dakasi am 04.August 2011, 00:50:15
Ich habe es bis jetzt nur einmal erlebt dass Teamspeak-Server abschmiert.

Das Skript kommt natürlich nach /etc/init.d/    ::)
Du musst es aber noch für deine Ordnerstruktur / User anpassen.
tsdir="/home/ts3/teamspeak3-server_linux-amd64/"
tsuser="ts3"

Wenn du keinen mySQL Server hast, solltest du die Start- u. Stop-Bedingungen löschen
# Required-Start:    $local_fs $remote_fs $syslog $network mysql
# Required-Stop:     $local_fs $remote_fs $syslog $network mysql

Zitat
Weil ich kein Plan hab wie ich das einfüge?  :D
Wenn mir jemand erklärt wie ichs einbaue, dann werd ichs probieren xD
man insserv
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: staunzn85 am 09.November 2011, 21:32:38
wie kann ich den mittels crontab folgenden befehl automatisch nach serverstart ausführen lassen?
screen -d -m -S ts3bot java -jar JTS3ServerMod.jar

mfg daniel
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: Fierlord am 09.November 2011, 23:03:00
Das ist der TS3 Bot.

Die Lösung findest du bei entwickler im Board: http://www.stefan1200.de/forum/index.php?topic=27.0 (http://www.stefan1200.de/forum/index.php?topic=27.0)

Nutze ich auch ohne Probleme.

LG Fierlord
Titel: Re: Teamspeak 3 - Autostart
Beitrag von: taro am 21.Dezember 2011, 19:30:01
Für alle die das Problem mit TS3 und dem Cronjob als Autostart immernoch haben.
Hier die einfachste Lösung:

crontab -e -u userderts3startet

@reboot cd /home/userderts3startet/teamspeak3-server_linux-x86/ && rm ts3server.pid
@reboot cd /home/userderts3startet/teamspeak3-server_linux-x86/ && ./ts3server_startscript.sh start