Damit der Teamspeak 3 Server auch nach einem Reboot des Root Servers automatisch startet ist ein entsprechenden Skript notwendig, welches nicht direkt von Teamspeak mitgeliefert wird.
Wenn ihr auf eurem Linux Webserver einen Teamspeak Server installiert habt, empfehle ich euch ein Autostart Skript zu verwenden. Ich empfinde es als ziemlich lästig, den Teamspeak Server immer wieder manuell zu starten, deshalb verwende ich folgendes Start-Stop-Skript, welches diesen Vorgang automatisiert und vereinfacht.
Wenn ihr liebe einen Teamspeak Server mieten möchtet, dann fällt diese Aufgabe auf euren Hosting Anbieter.
Teamspeak 3 Start/Stop-Skript erstellen
/etc/init.d/teamspeak3 mit eurem Lieblingseditor erstellen und befüllen. Der Pfad und der User muss entsprechend angepasst werden. Da ich aus den Kommentaren entnommen habe, dass hier nicht jeder mit vi Erfahrungen hat solltet ihr vielleicht einen anderen Editor benutzen (joe oder nano). Kurze vi Anleitung: (mit „i“ kommt man in den Einfügemodus, da kann das Skript reinkopiert werden, mit „ESC : q“ wird der VI beendet und gespeichert)
[bash]vi /etc/init.d/teamspeak3[/bash]Inhalt:
https://gist.github.com/SysADMINsLife/7319773
Skript ausführbar machen:
[bash]chmod 755 /etc/init.d/teamspeak3[/bash]Teamspeak 3 Server automatisch starten
Das Skript ist soweit fertig und muss nun noch als Autostart definiert werden:
[bash]update-rc.d teamspeak3 defaults[/bash]Beim nächsten Reboot wird der Teamspeak 3 Server nun automatisch gestartet.
Hallo Patrick,
Sehr gut erklärt und das Script sollte funktionieren, denke ich 🙂
Gut gemacht, Danke!
mfg Thomas
Hi
Ich habe das mit einen crontab gemacht
Einfach mit
crontab -u teamspeak3(user) -e
und dort dann
@reboot /home/teamspeak3/ts3server_startscript.sh start >/dev/null 2>&1 (pfad und user anpassen)
Funtioniert bei mir Einwandfrei
MfG Bruce
Hallo,
Wenn ich das Script so wie beschrieben erstelle, passiert bei mir nach nem Reboot gar nix.
Der ts Server ist auch nach der Anleitung von hier installiert .
Leider wird bei mir die .pid nicht gelöscht im Ts Verzeichnis.
Hab ubuntu, danke.
Hallo Hans,
was passiert denn wenn du direkt /etc/init.d/teamspeak start ausführst? Den Pfad und den User hast du angepasst?
Bekommst du eine Fehlermeldung?
Gruß
Patrick
Hallo,
das Script scheint bei mir nur teilweise zu funktionieren. leider Startet mein TS3 nicht, wenn ich meinen Vserver (Debian Wheezy 7.0)neu starte. Wenn ich es manuell mit dem befehl „/etc/init.d/teamspeak3 start“ eben starte stoppe oder wie auch immer funktioniert alles einwandfrei. Was kann ich noch versuchen?
Den selben Fall hatte ich auch und bei mir lag es daran, dass das Script mit „update-rc.d teamspeak defaults“ mit „S01teamspeak3 -> ../init.d/teamspeak3“ sehr früh beim neustart gestartet wurde. Ich habe das gelöst, indem ich dem Script im LSB Header noch eine Abhängigkeit von einem anderen Dienst mit höherer Startnummer in „/etc/rc2.d/“ gegeben habe. Da ich Teamspeak mit eine MySQL Datenbank nutze habe ich hier auf den MySQL Server warten lassen. Mein LSB Header sieht nun wie folgt aus:
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: mysql
# Should-Stop: mysql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
Wie man sieht, habe ich den Header um „Should-Start“ und „Should-Stop“ erweitert.
Nach erneutem Ausführen von „update-rc.d teamspeak defaults bekommt das Script mit „S19teamspeak3 -> ../init.d/teamspeak3“ in „/etc/rc2.d/“ mit S19 einen wesentlich späteren Platz in der Startreihenfolge. Seitdem startet der Teasmspeakserver auch ohne Probleme bei einem Hostrestart.
Hei.
Bei uns geht das leider nicht. Bekommen nur Fehlermeldungen. Schade
Und die Glaskugel befindet sich im Urlaub?
Hallo,
ich habe einen Debian 7.5 root Server mit Plesk 11.5.30.
Wie hier beschrieben habe ich den TS Server installiert mit dem einen Unterschied das ich mit dem TS Server auf eine MySQL Datenbank zugreife.
Ich benutze folgenden Befehl
update-rc.d teamspeak3 defaults
und bekomme diese Meldung zurück
update-rc.d: using dependency based boot sequencing
Wenn ich meinen Server reboote dann startet der TS Server nicht automatisch. (Ich hatte vorher einen Ubuntu Linux 12.04 LTS root vServer und da hat alles funktioniert)
Was kann ich tun das auch auf diesem System der TS Server automatisch startet?
Danke für die Hilfe.
Was passiert denn wenn das Skript per Hand aufgerufen wird?
/etc/init.d/teamspeak start
Gibt es Fehlermeldungen?
Gruß
Patrick
Wenn ich das Script per Hand aufrufe funktioniert alles der TS Server wird gestartet und es gibt auch keine Fehlermeldung
Sehr gute Anleitung Patrick,
vielen Dank! So habe ich das gerne.
Nur eine Kleinigkeit:
In der Anleitung wird die Datei „teamspeak3 „benannt. Im Abschnitt
Optionen des Skripts start/stop/restart/status
wird aber von der Datei teamspeak ohne 3 geredet. Wenn man die Datei mit 3 erstellt hat und damit die Optionen testet klappt auch alles.
Danke für den Hinweis 😉
Hab das mal gerade angepasst!
Gruß
Patrick
Danke für die Anleitung,
leider bekomme ich ebenfalls folgende Meldung wie „Master“
update-rc.d teamspeak3 defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script ‚teamspeak3‘ missing LSB tags and overrides
insserv: warning: script ‚ctmilter_initd‘ missing LSB tags and overrides
insserv: warning: script ‚kavehost‘ missing LSB tags and overrides
Hallo,
so an sich verstehe ich das Script(Wenn man es per Hand ausführt.
Nur es wurde doch nicht genau gesagt das der Serverb eim start des Rootserver starten soll oder wie funktioniert das bitte?
Ich möchte nicht nur alles kopieren sonder auch verstehen 😉
Mfg
Super Script!
Hatte Anfangs Ubuntu, jetzt aber wieder Debian.
Klappt in beiden Distros, klasse Teil!
super guide 😉
evtl. addest du folgendes noch dazu:
Ich hatte das Problem, dass der service beim reboot nicht gestartet ist. nach folgendem Command ging es dann super (Rechte fehlten wohl iwi):
sudo chmod 755 /etc/init.d/teamspeak3
Hi,
wenn ich den Server über das Startscript starten lasse bekomme ich die Rückmeldung das der Server gestartet ist. Allerdings ist es nicht möglich zu connecten, dies geht nur wenn das Script über den Root-Terminal gestaret wird. Dies sollte ja laut der beiden Anleitungen nicht der Fall sein, wo liegt mein Fehler?
Gruß
Hab das Problem gefunden, die Rechte wurden nicht komplett geändert. Wenn statt chown teamspeak3 /usr/local/teamspeak3
chown teamspeak3 /usr/local/teamspeak3/* -R eingegeben wird geht es auch ohne Root
Danke für den Tipp. Seid dem startet mein TS3 automatisch.
Habe das script unter CentOS 6 Minimalsystem (64 Bit) eingebunden und auch den passenden befehl zum autostart gefunden „chkconfig teamspeak3 on“ aber wenn ich den status abfrage bekomme ich leider das:
[root@s******** ~]# /etc/init.d/teamspeak3 status
-bash: /etc/init.d/teamspeak3: /bin/sh^M: bad interpreter: No such file or directory
hast du da eventuell eine hilfe für mich wie ich es trotzdem zum laufen bekomme?
MFG ExtremO Manuel
Hallo, ich konnte es folgendermaßen lösen, dabei wurde das home-Verzeichnis samt Benutzernamen verwendet.
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
# INIT Script by http://www.SysADMINsLife.com
######################################
# Customize values for your needs: „User“; „DIR“
USER=“teamspeak3″
DIR=“/home“
###### Teamspeak 3 server start/stop script ######
case „$1“ in
start)
su $USER -c „${DIR}/${USER}/ts3server_startscript.sh start“
;;
stop)
su $USER -c „${DIR}/${USER}/ts3server_startscript.sh stop“
;;
restart)
su $USER -c „${DIR}/${USER}/ts3server_startscript.sh restart“
;;
status)
su $USER -c „${DIR}/${USER}/ts3server_startscript.sh status“
;;
*)
echo „Usage: {start|stop|restart|status}“ >&2
exit 1
;;
esac
exit 0
Gude, wie mein Vorredner läuft es bei mir auch unter CentOS6.
Grundlegend funktioniert das Startscript auch, ich kann mit
/etc/init.d/teamspeak3 start den Server starten, der wird dann auch als user und nicht als root ausgeführt und man kann ihn nutzen.
Lediglich bei einem Neustart kommt bei status:
Server seems to have died
Wenn ich dann restart oder start manuell schreibe, wird er wieder gestartet…
In welchem Runlevel sollte das Startscript denn ausgeführt werden?
Gruß Marian
Hey habe genau das gleiche Problem wie Manuel.. Hat evtl jemand eine Lösung?
Ich habe es nun so gelöst, da das Script nicht funktioniert hat:
USER=“teamspeak3″
DIR=“TeamSpeakPfad“
su $USER -c „${DIR}/ts3server_startscript.sh start“
Echt tolle Erklärung Find ich echt klasse!!! 🙂
Da das einwandfrei Funktioniert hab ich auch gleich für andere Programme das Skript umgesetzt!
Was noch mit dazu geschrieben werden sollte wäre:
Für Die die zb. die ts3server.ini nutzen oder im Startbefehl irgendwas Definiert haben können das auch sehr Praktisch lösen!
2 Möglichkeiten:
1. Im Skript bei „…/ts3server_startscript.sh restart“ einfach den Command anhängen! „${DIR}/ts3server_startscript.sh start/restart inifile=ts3server.ini“
2. Oder besser einfach in der ts3server_startscript.sh (die Zeile 5) „COMMANDLINE_PARAMETERS=“${2}“ #add any command line parameters you want to pass here“ in „COMMANDLINE_PARAMETERS=“inifile=ts3server.ini“ #add any command line parameters you want to pass here“ abändern!
Fertig! 🙂
FreeFun ^^
Hallo Community,
Ich wollte fragen wie komme ich aus den skript porgramm raus das heißt wenn ich vi /etc/locale/teamspeak3 dor komme ich nicht raus.
Danke im voraus
Erick Hoffmann
Habe den Editor vorhin ebenfalls zum ersten mal benutzt.
Denke mit ESC und danach 😡
Tip:
http://www.selflinux.org/selflinux/html/vim01.html#d139e122
Punkt 2 dürfte für Dich interessant sein.
Hallo Patrick,
erst einmal vielen Dank das Du solche Tutorials ins Netz setzt!!!
Mit Deiner Hilfe habe ich den TS3Server sehr leicht installieren können ohne sonderlich Ahnung von Linux zu haben.
Jetzt wollte ich das autostart Skript hinterher schießen.
Zwar musste ich mich für den „vi“ nochmal extra belesen, aber habe alles soweit hinbekommen. Habe das Skript lediglich anders benannt, aber diese Umbenennung ist durchgehend.
Nur startet TS3 leider nicht automatisch nach einem reboot.
Wenn ich dann manuell eingebe:
/etc/init.d/ts3 start
bekomme ich folgende Fehlermeldung:
ts3server.pid found, but no server running. Possibly your previously started server crashed
Please view the logfile for details.
rm: remove write-protected regular file `ts3server.pid‘?
Wenn ich dann ‚rm‘ eingebe startet der Server.
Was habe ich übersehen?
Würde mich freuen von Dir zu hören.
MfG
Timo
Skript hinzugefügt und geupdatet – habe auch das selbe problem mit der pid und folgendes problem unten? Woran liegt das?
root@s18241477:~# su /etc/init.d/teamspeak3 start
No passwd entry for user ‚/etc/init.d/teamspeak3‘
Hat der User kein Paswort definiert?
Super!
Eine Frage noch, wenn ich das Plugin wieder löschen möchte, dann muss ich doch nur die erstellte Datei löschen, oder: „/etc/init.d/teamspeak3“
Wie entferne ich den Autostart-Eintrag und die restlichen eingefügten CMD’s?
lg Michael
Um das Autostart zu deaktivieren einfach folgenden Befehl verwenden:
update-rc.d -f teamspeak3 remove
Hallo Leute, also was das Linux angeht, bin ich ein totaler Neuling, aber ich hab es geschaft mir einen Ubuntu Linux 14.10 auf einem alten Rechner zu installieren und zum laufen zu bringen. Desweiteren nutze ich ihn jetzt als TS3 Server. Meine Bitte jetzt an euch ist, ob mir nicht auch jemand so einen Skript schreiben könnte?
Bei mir ist der USER *teamspeak3* und dadrauf befindet sich sofort der Ordner *teamspeak3-server_linux-x86*.
vielleicht hilft es auch, dass ich mit WinSCP und Putty zugrif drauf habe.
Hallo Mangulus,
Das Skript ist ja soweit fertig, es müssen nur die 2 Variablen angepasst werden. Pfad und User.
Der User müsste bei dir ja soweit passen also brauchst du nur bei DIR einfach den richtigen Pfad reinschreiben. Ich vermute das sollte der richtige Pfad sein:
/home/teamspeak3/teamspeak3-server_linux-x86
Gruß
Patrick
Patrik, danke für diesen super Skript. Hab den jetzt auf mein TS3 Server angepast. Erst hatte ich probleme mit dem aktivieren des Skripts, aber nach einem Neustart ging es wie von alleine. Danach habe ich nur noch den Skript als Autostart definirt und nach einem weiteren Neustart ist der TS3 Server nach paar Minuten wieder on gegangen.
Ich danke dir.
Gruß
Mangulus
Danke funktioniert super auf meinem Ubuntu 14.04 Server!
Hallo,
Ich habe das Script wie oben übernommen und angepasst,
wenn ich den Root Server Neustarte oder auch über den Befehl:
etc/init.d/ts3server start starte, sehe ich nur kurz einen Teil des TS3-Servers. In Putty kommt folgende Fehlermeldung:
|CRITICAL|DatabaseQuery | | Assertion „error == ERROR_ok“ failed at server/serverlib/database/db_database.cpp:113;
und die Verbindung zum TS3-Server bricht wieder ab…
Hat jemand einen Lösungsvorschlag??
Vielen Dank schonmal im Voraus
Unskinner
Hallo,
erst einmal Danke für das schöne Script.
Ich habe Deine Anleitung genaustens befolgt, lediglich
chown ts3 home/ts3/* -R zusätzlich verwendet.
Nun habe ich das folgende Problem und komme einfach nicht weiter;
Bei der Eingabe von ; update-rc.d teamspeak3 defaults
bekomme ich die folgende Ausgabe ;
update-rc.d: using dependency based boot sequencing
insserv: warning: script ‚kavehost‘ missing LSB tags and overrides
Frage :
Was ist kavehost ,- Wo bekomme ich das her und wie binde ich es in der LSB ein, so dass es hinterher auch alles funktioniert ?
Mein vollständiges Script sieht so aus ;
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Teamspeak 3 Server
### END INIT INFO
# INIT Script by http://www.SysADMINsLife.com
######################################
# Customize values for your needs: „User“; „DIR“
USER=“ts3″
DIR=“/home/ts3/teamspeak3-server_linux-amd64″
###### Teamspeak 3 server start/stop script ######
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 „Usage: {start|stop|restart|status}“ >&2
exit 1
;;
esac
exit 0
In der ts3server_start.sh habe ich die Zeile 5 wie folgt geändert, hat bisher nie Probleme gemacht ;
COMMANDLINE_PARAMETERS=“inifile=ts3server.ini“ #add any command line parameters you want to pass here
In der Reihenfolge bei /etc/rc2.d steht teamspeak3 auf 01, auch das soll noch geändert werden, gibt es dazu einen Weg- außer es wie oben beschrieben nach msql starten zu lassen ?
Bitte Helft mir, bin mit meinem Latein am Ende !!
hallo ich habe ubuntu und den ts3 server nur geht der auto start nicht und wenn ich /etc/init.d/teamspeak3 start eingebe bekomm ich die meldung No passwd entry for user ‚teamspeak3’der user hat ein password wie gebe ich es ein das er darauf dann startet
Bei mir erscheint im letzten Akt folgende Fehlerausgabe:
warning: script ‚kavehost‘ missing LSB tags and overrides
Woran könnte es liegen?
Hallo, habe es eben auch mal versucht aber der Teamspeak Server will nicht starten!
Dann habe ich
/etc/init.d/teamspeak sart
eingegeben und es kam:
/bin/sh: 0: Can’t open
Hallo!
Es funktioniert bei mir einwandfrei. Ich möchte es aber so einstellen, dass ein Kumpel von mir auch mit seinem benutzer den Server starten kann, wenn ich aber mit seinem benutzer einen befehl davon eingebe, zb „/etc/init.d/teamspeak3 restart“ möchte das programm ein Passwort wissen. egal welches ich eingebe, es ist falsch. Ich habe als Benutzer in der Datei „root“ genommen, also mein account. wie kann ich dort dann einen zweiten hinzufügen so dass es klappt?
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak3
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Teamspeak 3 Server
### END INIT INFO
USER=“teamspeak“
DIR=“/usr/local/bin/teamspeak3-server_linux-amd64″
###### Teamspeak 3 server start/stop script ######
case „$1“ in
start)
su -c „${DIR}/ts3server_startscript.sh start“ -s /bin/bash $USER
;;
stop)
su -c „${DIR}/ts3server_startscript.sh stop“ -s /bin/bash $USER
;;
restart)
su -c „${DIR}/ts3server_startscript.sh restart“ -s /bin/bash $USER
;;
status)
su -c „${DIR}/ts3server_startscript.sh status“ -s /bin/bash $USER
;;
*)
echo „Usage: {start|stop|restart|status}“ >&2
exit 1
;;
esac
exit 0
——————————————————————————–
works for me on
Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-51-generic x86_64)
Wie kann man diesen Script so erweitern, dass erst tsdns, und dann erst ts3 automatisch gestartet wird?
Hallo tobi,
mein Tip: installiere dir „Webmin“. Danach kannst du dir über dein Internetbrowser als root über Webmin die Benutzer und Gruppen verwalten, und somit eine Gruppe erstellen, die dein Teamspeak steuern darf. Füge dann jeden Benutzer die erstellte Gruppe als Sekundäre Gruppe ein, fertig. TeamSpeak3 Start-Stop-Script sollte dann auch die erstellte Gruppe zugewiesen werden (PuTTY: chown teamspeak:erstellte_gruppe /etc/init.d/teamspeak3) und die Gruppe muss die Ausführ-Rechte haben (z.B. mit PuTTY: chmod 754 /etc/init.d/teamspeak3)
bei mir kommt:
root@vps:~# /etc/init.d/teamspeak3 restart
Stopping the TeamSpeak 3 servercat: ts3server.pid: Permission denied
cat: ts3server.pid: Permission denied
done
rm: remove write-protected regular file ‚ts3server.pid‘?
oder
root@vps:~# /etc/init.d/teamspeak3 restart
Stopping the TeamSpeak 3 serverdone
rm: remove write-protected regular file ‚ts3server.pid‘?
Habe alles so gemacht aber er startet nicht neu per hand kann ich ihn aber starten bitte um hilfe
Hi
Ich habe das Script soweit angelegt.
Nur beim anlegen als Autostart bekomme ich folgende Fehlermeldung:
[root@]# update-rc.d teamspeak3 defaults
-bash: update-rc.d: command not found
Als OS ist CentOS release 5.11 (Final) installiert.
Kannst du mir hir helfen das richtig anzupassen?
Gruss Feichti
Gute Anleitung, jedoch habe ich ein Problem
Der Teamspeak startet bei mir nicht bei neustart des Servers
Daraufhin habe ich versucht die Skript Optionen zu nutzen mit „/etc/init.d/teamspeak3 start“
Da wird mir gesagt ich habe keine Berechtigung trotz root und chmod.