TeamSpeak 3 Autostart unter Linux

Es kann lästig sein, TeamSpeak nach jedem Server-Neustart manuell zu starten. Zum Glück gibt es eine einfache Lösung, um den TeamSpeak 3 Server automatisch zu starten, sobald der Server hochfährt.

Schritt 1: Benutzer für TeamSpeak anlegen

Aus Sicherheitsgründen solltest du einen separaten Benutzer für den Betrieb des TeamSpeak Servers anlegen. Falls noch nicht geschehen, erstelle einfach einen neuen Benutzer. Zum Beispiel:

useradd ts3user

Schritt 2: Startskript erstellen

Nun erstellen wir das Startskript für den TeamSpeak 3 Server. Dafür verwenden wir den Benutzer „root“. Erstelle eine neue Datei mit dem Namen teamspeak3 im Verzeichnis /etc/init.d:

touch /etc/init.d/teamspeak3

Schritt 3: Skript ausführbar machen

Damit das Skript auch ausgeführt werden kann, müssen wir ihm die nötigen Berechtigungen geben:

chmod +x /etc/init.d/teamspeak3

Schritt 4: Skript-Inhalt einfügen

Jetzt fügst du den folgenden Inhalt in die Datei ein. Achte darauf, den Benutzer und das Verzeichnis anzupassen, in dem TeamSpeak installiert ist. In diesem Beispiel verwenden wir den Benutzer ts3user und das Verzeichnis /home/ts3user. Du kannst dafür einen beliebigen Texteditor wie VI oder MC verwenden.

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

Das Skript ist nun bereit.

Schritt 5: Skript in den Autostart einfügen

Damit der Server beim Hochfahren automatisch startet, musst du das Skript in den Autostart einfügen. Dies geht am einfachsten mit den folgenden Befehlen:
openSUSE/CentOS:

chkconfig teamspeak3 on

Debian/Ubuntu:

update-rc.d teamspeak3 defaults

Schritt 6: TeamSpeak starten

Zum Testen des Startskripts kannst du TeamSpeak entweder als root oder als ts3user starten:
als root:

/etc/init.d/teamspeak3 start

oder
als einfacher Benutzer:

/home/ts3user/ts3server_startscript.sh start

Fazit

Jetzt wird der TeamSpeak 3 Server nach jedem Server-Neustart automatisch gestartet. Wenn alles richtig konfiguriert ist, musst du TeamSpeak nicht mehr manuell starten.

Viel Spaß beim Benutzen! 😇

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 Antworten zu “TeamSpeak 3 Autostart unter Linux”

  1. 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!

  2. 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.

  3. 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

  4. 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

    • 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.

  5. 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.

  6. 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 🙂

    • 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.

  7. 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

  8. 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?

    • 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

  9. 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.

      • 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.

          • 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.

  10. 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?

    • 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

  11. 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

  12. 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 …

  13. 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?

    • 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.

    • 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.

  14. 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

  15. 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