Teamspeak 3 Autostart unter Linux

Ist es Ihnen zu lästig nach jedem Server Neustart Teamspeak manuell zu starten?

Dazu gibt es eine einfach Lösung.

Sie sollten bereits aus Sicherheitsgründen einen extra Benutzer angelegt haben, mit welchem Sie Teamspeak ausführen. Wenn nicht sollte dieses schleunigst geändert werden.
z.b. mit:

useradd ts3user

Nun erstellen wir das Startscript mit dem Benutzer “root“.
Erstellen Sie eine neue Datei mit dem Namen “teamspeak3” in den Ordner “/etc/init.d“.
z.B. mit:

touch /etc/init.d/teamspeak3

Damit es auch ausgeführt werden kann geben wir dem Script noch die nötigen Rechte dazu.
z.b. mit:

chmod +x /etc/init.d/teamspeak3

Fügen Sie nun den Inhalt des Scriptes ein. Hier muss der Pfad und der Benutzer angepasst werden, mit dem der Teamspeak Server gestartet werden soll.
Im Beispiel mit dem Benutzer “ts3user” im Verzeichnis “/home/ts3user”. Hierfür kann ein beliebiger Editor benutzt werden wie z.B. VI oder MC.

#!/bin/sh
# Erstellt von Webmaster www.ist-immer-online.de
# https://www.ist-immer-online.de/2010/09/teamspeak-3-autostart-unter-linux/
# chkconfig: 2345 99 01
# description: Teamspeak 3 Server
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO

USER="ts3user"
DIR="/home/ts3user"

case "$1" in
start)
su $USER -c "${DIR}/ts3server_startscript.sh start"
;;
stop)
su $USER -c "${DIR}/ts3server_startscript.sh stop"
;;
restart)
su $USER -c "${DIR}/ts3server_startscript.sh restart"
;;
status)
su $USER -c "${DIR}/ts3server_startscript.sh status"
;;
*)
echo "Benutze: `basename $0` {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0

Ihr Startscript ist damit schon fertig.

Jetzt müssen Sie nur noch das Script in den Autostart einfügen. Dieses geht am einfachsten automatisch mit dem Befehl
openSUSE/CentOS:

chkconfig teamspeak3 on

Debian/Ubuntu:

update-rc.d teamspeak3 defaults

Teamspeak starten
als root z.B. mit:

/etc/init.d/teamspeak3 start

oder
als einfacher Benutzer mit:

/home/ts3user/ts3server_startscript.sh start

Viel Spaß und Erfolg damit 🙂

Ihr dürft gerne auf diesen Beitrag linken, kopiert aber nicht 1:1 den Inhalt in Foren oder Blog´s als eure eigenen Inhalte! Eine Verlinkung reicht aus, und muss nicht kopiert bzw. komplett zitiert werden. Das Init Script wird ggf. noch angepasst, falls doch mal was nicht klappen sollte.

34 Kommentare

  • Emkay

    Vielen Dank für das Tutorial, bist mir ne echte Hilfe. 🙂

  • SoehnelS

    Merci!

    Mal abgesehen davon, das ich erstmal die chmod-Zeile überlesen hatte
    und die Konvertierung von DOS nach Unix (mal wieder) vergessen hatte,
    hats wunderbar geklappt!

    Dankeschön!

  • Super Sache, klappt 1a, so muss ein kleines HowTo aussehen!
    Danke!

  • cybersucker

    hi leute, bei mir kommt folgender fehler:

    insserv: Script teamspeak3 is broken: incomplete LSB comment.
    insserv: missing `Required-Stop:’ entry: please add even if empty.

  • Hi Leute,

    Ich bekomme bei dem Eintrag als Autostart folgende Meldung:

    update-rc.d: using dependency based boot sequencing

    ka was ich machen soll.

    Gruß Leon

    P.S. schöne Beschreibung Danke dafür

  • Nevrion

    Huhu…danke für das Tut. allerdings bin ich ein vollkommener Linux Anfänger und verstehe nicht genau was mir folgende Meldung sagt :

    vadmin199:/home/ts/teamspeak# /etc/init.d/teamspeak3 start
    bash: /etc/init.d/teamspeak3: /bin/sh^M: bad interpreter: Datei oder Verzeichnis

    Habe diese Meldung bekommen nach dem Befehl:

    /etc/init.d/teamspeak3 start

    Das Script wurde zwar in den Autostart geschrieben, allerdings startet der Teamspeakserver auch nicht nach dem Server Neustart…

    Lieben Gruß, Pierre

    • Avatar-Foto Webmaster

      Entweder ist Verzeichniss falsch im Script oder evt ein Fehler beim kopieren, /bin/sh^M sieht komisch aus.

      Kannst Script sonst auch manuell starten
      cd /etc/init.d
      ./teamspeak3 start

      Vergleich mal ob dass was kopiert hast mit dem Script von hier passt und auch Verzeichniss korrekt ist.

  • Timo Z.

    Vielen vielen Dank!

    Bestes und einfachstes Tutorial zu diesem Thema!

    Du hast mich gerettet 🙂

  • ABC

    Ich hatte vorher ein anderes Script gehabt, war aber vollends unbrauchbar, habe dieses hier genommen, musste lediglich den Benutzer und das Verzeichnis anpassen, damit auf ‘ts3server_startscript.sh’ zugegriffen werden kann.

  • maxmoon

    Hallo der, der immer online ist!

    Dein Script ist einfach super und ich freue mich, dass der Teamspeakserver nun immer automatisch startet, doch kann ich nicht wirklich rauslesen für was die ganzen Informationen in dem Script sind.

    Ich habe starkes Interesse daran das Skript zu verstehen und würde mich über eine kleine Erklärung freuen.
    Wofür sind die Init Infos “Required-Start: $all”, “Default-Start: 2 3 4 5” und “Default-Stop: 0 1 6” und wie kommen diese Werte zu stande?

    Wenn dies zu simple ist und ich einfach keinen Plan habe, dann fehlt mir wohl grundlegendes Wissen über Shellscripts. Aber selbst in diesem Fall bitte ich euch mich zu informieren 🙂

    • Avatar-Foto Webmaster

      Required-Start: $all besagt, dass erst mal alle Dienste gestartet werden auf dem Server bevor Teamspeak gestartet werden soll. Wenn du z.B. TS mit mysql statt sqlite3 Datenbank betreibst, wäre es schlecht, wenn mysql noch nicht gestartet ist, dann würde TS die Datenbank nicht finden, und sich beenden.

      Schaue besser mal in den Wiki http://wiki.ubuntuusers.de/Dienste dort wird es erklärt was Dienste und Runlevel angeht.

  • Hi Leute ich hoffe ihr könnt mir helfen^^

    Das Script startet den Server nicht … —–>

    Beim Ausführen des Scriptes bekomme ich folgende meldung:

    :~# /etc/init.d/teamspeak3 start

    : No such file or directorye 1: #!/bin/sh
    : command not foundak3: line 14:
    : command not foundak3: line 15:
    : command not foundak3: line 18:
    ‘etc/init.d/teamspeak3: line 19: syntax error near unexpected token `in
    ‘etc/init.d/teamspeak3: line 19: `case “$1” in

  • Sei gegrüßt,
    ich verwende deine Anleitung für meinen TS3 Server und bin bisher super zufrieden.
    Ich habe das Script, der Anleitung nahc, auch mit meinen Daten gefüttert, doch will er den TS3 Server einfach nicht mitstarten, ich bekomme auch keinerlei Fehlermeldungen, was könnte da schief gelaufen sein?

    • Avatar-Foto Webmaster

      Dann schau mal in /etc/init.d ob du dort in den rc Ordnern den Eintrag zum Autostart findest. Müsste S99teamspeak.sh oder so ähnlich heißen.

      Probiere doch mal den manuellen Start aus.
      cd /etc/init.d
      ./teamspeak3 start

  • Danke für die schnelle Antwort.
    Also in den RC Ordner sind alle datien vorhanden.
    wenn ich das sript über “./tsauto start” ausführen möchte, findet er die Datei nicht.
    Zur Richtigstellung, ich habe das Script von “teamspeak3” in “tsauto” umbenannt gehabt, bevor ich es auf den Server geschoben habe.

    • Dies ist die Meldung die mir ausgegeben wird.

      /etc/init.d# ./tsauto.sh start
      -bash: ./tsauto.sh: No such file or directory

      • Avatar-Foto Webmaster

        Wenn die Datei nicht existiert musst du diese Anlegen bzw. richtig umbenennen.

        Auch muss die Datei Rechte zum ausführen haben. Hast du dieses jeweils mit root gemacht?

        • Entsprechende REchte sind vergeben.
          habe jetzt das Script mal aus der ini.d genommen und alle damit zusammenhängende aus den rc Ordnern.

          Habe das Script dann wieder in den ini.d geschoben und den Updatebefehl ausgeführt, jedoch schreibt er diese nicht mehr in die rc Ordner.

          Die Rechte passe ich natürlich immer gleich an.
          Ich bin so langsam überfragt.

          • Avatar-Foto Webmaster

            Du kannst ja erst mal manuell das Script starten und sehen ob es klappt. Wenn ja dann halt nochmal “update-rc.d tsauto defaults” ausführen.

  • Hab alles nochmals von “0” gemacht, das System neu gestartet und nochmals versucht.

    Alles ist dort wo es sein sollte, auch die Rechte stimmen.
    —————-
    cd /etc/init.d
    ./tsauto start
    —————-
    gemacht und er sagt mir dennoch:
    —————-
    /etc/init.d# ./tsauto start
    -bash: ./tsauto: No such file or directory

    Könnte es am Ubuntu selbst liegen?

    • Avatar-Foto Webmaster

      Wenn ./tsauto.sh start auch nicht geht, dann mal im Script #!/bin/sh durch #!/bin/bash ersetzen, sonst mal in entsprechenden Foren um Hilfe bitten.

      • Mir bleibt nichts anderes übrig als mich bei dir zu bedanken.
        Das mit dem bash wars gewesen.
        “Mensch fix maln Autostartscript draufwerfen……”
        4 Stunden später die Lösung 😛

        Ich danke dir nochmals und wünsche dir noch einen schönen Abend.

        LG
        Chris

  • Hallo,
    das mein TS3-Server startet wenn ich den LINUX-Server starte, funktioniert wunderbar!
    Aber ich möchte wenn der TS3 aus irgendwelchen Gründen DOWN geht auch dass er dann neu gestartet wird.
    Dazu habe ich in der Datei /etc/crontab die Zeile

    */1 * * * * root ps ax | grep ‘ts3server_linux’ | grep -v ‘grep’ || /etc/init.d/teamspeak start

    eingefügt. Gemäß der ps -ax Abfrage mittels grep müsste doch dein Script auch in diesem Falle greifen – tut es aber nicht! 🙁

    Hast Du mir einen Rat wie ich das realisiren kann?

    Gruß M@rco

  • Hallo,

    das Problem hat sich erledigt – war meine Dummheit! 🙁

    Ich hatte bei /etc/init.d/teamspeak3 start
    die 3 vergessen im Namen vergessen /etc/init.d/teamspeak start

    …wie sage ich immer: Kaum macht mann es richtig funktionierts! 🙂

    Gruß M@rco

    PS: …aber vielleicht willst Du ja dieses Feature trotzdem noch in dein Script mit aufnehmen …

  • Mitscher

    Hey,

    bekomme immer die Meldung:

    root@mitscher:/etc/init.d# ./teamspeak3 start
    bash: ./teamspeak3: /bin/bash^M: bad interpreter: No such file or directory

    beim manuellen ausführen des Startscripts, was kann ich dagegen tun?

    • Avatar-Foto Webmaster

      Dazu gibt es doch schon Kommentar, erste Zeile ggf. tauschen, und prüfen ob richtig kopiert wurde. Script nicht auf Windows PC erstellen und im Binärmodus kopieren.

  • Mitscher

    Hey,

    danke für die schnelle Antwort. Wie mache ich das am blödsten ohne Windows?

    • Avatar-Foto Webmaster

      Ich verwende über Konsole für sowas Midnight Commander ganz gerne.

      Dazu einfach mc installieren und starten, dann mit F4 bearbeiten.

      Gibt aber auch noch andere diverse Editoren.

      Für Rest wende dich an Serverforen, Grundkenntnisse sollten vorhanden sein, wer einen V- oder Root Server betreibt.

  • Mitscher

    Grüße,

    besten dank, habs mit VI hinbekommen.
    Super Startscript!

    Also kann man generell davon ausgehen dass Linux mit im windows verfassten Texten nicht zurecht kommt?

    Grüße

  • Mark Lehmbach

    Für Windows Benutzer gibt es Notepad++
    Unten Rechts wo DOS/windows Steht kann man mit der Rechten Maustaste auf Konvertiere auf Unix (LF) und anschließend Abspeichern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert