TS3 Autostart Probleme

  • Hallo liebe Gemeinde,

    leider verzweifle ich gerade am Autostart meines TS3 Servers. Im Log kann ich sehen, dass nachdem der Autostart des services über eine /etc/init.d/ datei funktioniert "Status: active" das TS3 Serverlog mir mitteilt, dass der Server ein SIGINT erhält und dann sofort wieder herunterfährt. Wenn ich aber von Hand noch "ts3server createinifile=1" eingebe, startet er ohne murren. Wohlgemerkt habe ich in mein ts3server_startscript eingetragen, dass er das ini file benutzen soll, tut dies aber anscheinend nicht.

    Wohlgemerkt nur der vServer. Kennt jemand dieses Problem, bzw kann mir helfen es zu lösen?

    Hier einmal die Logs vom Autostart:

    Code
    1. 2019-06-16 22:05:25.479317|INFO |VirtualServer |1 |listening on 0.0.0.0:9987, [::]:9987
    2. 2019-06-16 22:05:30.907243|INFO |VirtualServerBase|1 |stopped

    Und hier die ersten Zeilen des ts3server_startscript.sh:


    Shell-Script
    1. #!/bin/sh
    2. # Copyright (c) 2019 TeamSpeak Systems GmbH
    3. # All rights reserved
    4. BINARYNAME=ts3server
    5. COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here
    6. PID_FILE=ts3server.pid
    7. do_start() {
    8. [...]

    Und hiermit habe ich den Service konfiguriert:

    Vielen Dank schonmal für die Hilfen!8)

  • Hallo,

    du hast den zweiten Parameter aus deinem ts3server_startscript.sh gelöscht.

    Code
    1. COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here

    sollte

    Code
    1. COMMANDLINE_PARAMETERS="${2} inifile=ts3server.ini" #add any command line parameters you want to pass here

    sein.


    Ansonsten wird der Parameter "start" nie mit übergeben.


    Aktuell wird an deinen TS3 Server quasi folgendes übergeben: ./ts3server_startscript.sh inifile=ts3server.ini


    Mit meiner Änderung wird es zu: ./ts3server_startscript.sh start inifile=ts3server.ini

  • Hallo Sebbo,

    vielen Dank für die schnelle Antwort. Das ist leider nicht des Rätsels Lösung. Hatte das vorher so, wie du es vorgeschlagen hast, auch da hat es nicht funktioniert. Habe dann gestern in einem anderen Forum die Variante ohne "${2}" gelesen und getestet - auch ohne Erfolg. Das sind die Logs nach den Änderungen am startscript und reboot der VM:


    Code
    1. 2019-06-16 23:50:52.281141|INFO |VirtualServer |1 |listening on 0.0.0.0:9987, [::]:9987
    2. 2019-06-17 10:44:22.877781|INFO |VirtualServerBase|1 |stopped
  • Ich persönlich empfehle dir die Nutzung von einem systemd Skript.


    Für dein LSBInitDScript... Versuche mal...

    su $USER -c "${DIR}/ts3server_startscript.sh start"

    ...auf das hier zu ändern:

    Code
    1. su $USER -c "cd ${DIR} && ./ts3server_startscript.sh start"

    Dadurch ändert sich das "Working Directory" vom Home-Verzeichnis des Benutzers zu dem spezifisch notwendigen Verzeichnis.


    Die Logik musst du für alle Funktionen (start, stop, status, ...) entsprechend anpassen.


    Nachfolgend findest du noch ein beispielhaftes systemd Skript: /etc/systemd/system/teamspeak.service

    Danach musst du systemd neu laden: systemctl daemon-reload


    Dann aktivierst du den Autostart für das neue Skript: systemctl enable teamspeak.service


    Dann kannst du deinen TS3 Server wie folgt verwalten:

    Code
    1. systemctl start teamspeak.service
    2. systemctl status teamspeak.service
    3. systemctl stop teamspeak.service

    Der TS3 Server muss dafür auch über systemd gestartet sein, damit du es entsprechend nutzen kannst.

  • Vielen Dank erstmal für deine Bemühungen.

    Leider bekomme ich auch hier einen Fehler:


  • roonix

    Changed the title of the thread from “TS3 Autostart SIGINT” to “TS3 Autostart Probleme”.
  • Eine andere Frage: Gibt es die Probleme erst seitdem du deinen TS3 Server auf die Version 3.8.0 aktualisiert hast?


    Es ist nämlich bekannt, dass die Version 3.8.0 (und Beta 3.9.0) aktuell nicht auf allen Linux Systemen läuft: https://forum.teamspeak.com/th…3-8-0?p=470548#post470548


    Es gibt aktuell eine experimentelle Version, die das Problem ggfs. behebt - ist aber noch nicht klar: http://files.teamspeak-service…leases/server/3.9.0-exp1/ (diese könntest du einmal probieren)

  • Eine andere Frage: Gibt es die Probleme erst seitdem du deinen TS3 Server auf die Version 3.8.0 aktualisiert hast?


    Es ist nämlich bekannt, dass die Version 3.8.0 (und Beta 3.9.0) aktuell nicht auf allen Linux Systemen läuft: https://forum.teamspeak.com/th…3-8-0?p=470548#post470548


    Es gibt aktuell eine experimentelle Version, die das Problem ggfs. behebt - ist aber noch nicht klar: http://files.teamspeak-service…leases/server/3.9.0-exp1/ (diese könntest du einmal probieren)

    Danke für den Tipp, habe die Beta Version geladen, das systemd Script angepasst, die das startscript angepasst und trotzdem gibt es wieder einen Fehler bei der Statusabfrage nach Reboot:

    Nachdem ich dann wieder ./ts3server createinifile=1 ausführe kann ich wieder connecten!

  • Was passiert denn, wenn du die experimentelle Version mittels ts3server_startscript.sh start versuchst zu starten? Also ohne die anderen beiden Skripte und ohne die ts3server Binary. Funktioniert das überhaupt? Welche Ausgabe kommt da? Was steht in der Instanz Log-Datei?

  • Das funktioniert tatsächlich tadellos. Hier die Ausgabe + Log:


    Code
    1. WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
    2. !!!!!!!!!!!
    3. Starting the TeamSpeak 3 server
    4. TeamSpeak 3 server started, for details please view the log file
  • Gut, dann gibt es also nur ein Problem mit dem systemd bzw. LSBInitDScript. :)


    Stelle daher bitte sicher, dass das "Working Directory" und alle anderen Optionen in den Skripten korrekt sind und die Rechte ebenfalls passen.


    Du solltest z.B. das beheben:

    Quote

    WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT

  • Normalerweise wird der Server nicht per Root sondern über den Useraccount teamspeakacc gestartet. Ich war allerdings als Root eingeloggt als ich das startscript manuell ausgeführt habe. Die Pfade und Accounts im Systemd Script habe ich überprüft und konnte leider keinen Fehler finden :(


    Code
    1. pwd:
    2. /var/ts3test/teamspeak3-server_linux_amd64


    Code
    1. rwxrwxrwx 1 root root 2681 Jun 17 16:30 ts3server_startscript.sh

    Habe hier mal die Ausgaben zusammengefasst, leider konnte ich keinen Fehler finden :(

  • dadüüümmmm... wenn man sich zuviel mit einem Problem beschäftigt übersieht man die einfchsten Dinge...


    Code
    1. rwxrwxrwx 1 root root 2681 Jun 17 16:30 ts3server_startscript.sh

    chown -R teamspeakacc:teamspeakacc /var/ts3test/ und die sache funktioniert...


    Trotzdem nochmal vielen Dank für deine Mühen - tolles Forum und super Support!

  • Sorry, ich war gestern leider mit anderen Themen beschäftigt.


    Es freut mich, dass du die Ursache deines Problems gefunden hast und lösen konntest. :)


    Vielen Dank, dass du deine Lösung mit uns geteilt hast! Und vielen Dank für dein Feedback! :)