• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

autostart von teamspeak

FireLee

Newbie
hi,

ich habe einen TS-Server eingerichtet und einen User dafür angelegt um ihn zu starten, und das will ich jetzt automatisieren, das quasi ts nach einen reboot immer wieder automatisch automatisch gestartet wird, wie mach ich das?
 

TomcatMJ

Guru
Öhm...recht altes Thema auf http://forum.teamspeak.com ;)
Ich hab da vor langer Zeit mal was gebastelt was du dann nur noch anpassen müsstest auf dein System (dürfte aber nicht allzu schwierig sein) und was dort im Forum zu finden ist unter http://forum.teamspeak.com/showthread.php?t=12430

Bis denne,
Tom (der das Ganze demnächst wohl mal wieder auf openSUSE 10.3 nochmal machen wird nach einiger Zeit TeamSpeak Auszeit*g* und dann auch unter anderem hier im Wiki nochmal hinterlegen wird)
 
OP
F

FireLee

Newbie
gibts nicht ne andere methode besonders wiel ts2 nicht mit mysql5 kompitabel ist und das schon recht unständlcih ist, ich denke an nen cronjob oder so da muss es doch ne enfache methode geben...
 

TomcatMJ

Guru
Wie du Teamspeak betreffs der zu nutzenden Datenbank konfigurierst hat herzich wenig mit dem start des Binaries über ein Startscript zu tun: Was für eine Datenbank genutzt wird bestimmst du über das vom Binary ausgelesene Configfile, wie das Binary (also der Server) gestartet wird hingegen über das Script. Von daher ist die Kompatibilität oder Inkompatbilität von Teamspeak zu $KONKRETERDATENBANKDEINERWAHL ziemlich schnurz für das Startscript weil das Startscript damit gar nix zu tun hat ;)

Bis denne,
Tom
 
OP
F

FireLee

Newbie
da hab ich mich wohl grob verschaut, ich hab jezt folgendes gefunden, müsste auch gehn:


# ! /bin/bash
#
# Modified TeamSpeak 2 server startscript
# Original script written by: pwk.linuxfan 2004
#
# . /etc/rc.d/init.d/functions
#
### BEGIN INIT INFO
# Provides: teamspeak2
# Short-Description: TeamSpeak 2 server
# Description: Start and stop your TeamSpeak 2 server...
### END INIT INFO

# CONFIG SECTION
USER=tss
DIR=/home/tss
# 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
 

Remad

Member
Das einfachste wäre ein Cronjob gewesen. Ich verweise auf www.selflinux.org. Mit der Anleitung kann leicht ein Cronjob realisiert werden.
 
Hi bin kein Linux Profie, aber arbeite schon damit seit Jahren, nun hab ich für meine Gilde einen VServer gemietet und hab alles hinbekommen, der TS-Server läuft (manuel).
Nun wollte ich ihn auch automatisch starten lassen, (ich bin kein coder).

Hab das
/etc/rc.d/teamspeak2-server_startscript -rwxr-xr-x Benutzer (root) Gruppe (root)

mit dem hier oben zitierten Inhalt verwendet.
An den extra angelegten TSUSER angepasst.

Nun wollte ich das mit Yast2 in der Konsole mit system>Runlevel einbinden.

Dabei bekomme ich folgende Fehlermeldung
Code:
/etc/init.d/teamspeak2-server_startscript start returned 2
(invalid or excess arguments):
Ah Open SUSE 10.1

Kann mir da wer weiterhelfen?

Edit:
Auf anraten im Chat von Appleonkel

als root
Code:
/etc/init.d/teamspeak2-server_startscript start

eingegeben.

Bekam ich folgende Fehler Meldung.

Code:
command not foundak2-server_startscript: line 13: 
command not foundak2-server_startscript: line 18: 
etc/init.d/teamspeak2-server_startscript: line 19: syntax error 
near unexpected'token `in 
'etc/init.d/teamspeak2-server_startscript: line 19: `case "$1" in

Hab zu dem die Daten

Code:
/etc/init.d/teamspeak2-server_startscript -rwxr-xr-x Benutzer (root) Gruppe (root) 
/etc/rc.d/teamspeak2-server_startscript -rwxr-xr-x Benutzer (root) Gruppe (root)

verglichen, sind gleich.
 
Oben