TS3 Server hat plötzlich keinen DB Zugriff mehr

aid0nex

Commander
Registriert
Feb. 2014
Beiträge
2.746
Hallo,

ich betreibe einen TS3 Server lokal bei mir auf einer Kiste unter Ubuntu 18.04 LTS (nutzt der Clan durch Port Forwarding und NO IP). Gestern lief noch alles, heute morgen ging plötzlich nichts mehr. Es gab keinen Neustart, kein Update, keine Änderung oder überhaupt SSH Zugriff auf den Server!

user@NEC-PC
:~$ /usr/local/bin/teamspeak3-server_linux_amd64/ts3server_startscript.sh status


No server running (ts3server.pid is missing)


user@NEC-PC:~$ /usr/local/bin/teamspeak3-server_linux_amd64/ts3server_startscript.sh start


Starting the TeamSpeak 3 server


TeamSpeak 3 server started, for details please view the log file


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


user@NEC-PC:~$ ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


2020-01-31 08:27:33.419119|CRITICAL|ServerLibPriv | |Server() DatabaseError unable to open database file


ERROR: openFile( file:logs/ts3server_2020-01-31__08_27_33.416995_0.log) failed


^C

Hat jemand eine Ahnung wie ich den Datenbankzugriff wiederherstellen kann?

sudo chown -R teamspeak /usr/local/bin/teamspeak3-server_linux_amd64 habe ich schon probiert, hat nichts gebracht. Ansonsten bin ich absolut ratlos. :confused_alt:

Vielleicht hat ja jemand eine Idee.

Gruß
gammelkeule
Ergänzung ()

Ich habe auch keine Ahnung warum CB da immer noch einen zweiten Spoiler zwischenhaut, kann ihn auch nicht raus nehmen... Ich entschuldige also die schwere Lesbarkeit durch den doppelten Spoiler.
 
Führe bitte in dem Verzeichnis, in dem die Daten zu Teamspeak liegen mal den Befel "ls -al" aus und gib uns die Rückgabe.
Mit welchem Benutzer wird Teamspeak ausgeführt?
 
Teamspeak nutzt den user teamspeak.

user@NEC-PC
:/usr/local/bin/teamspeak3-server_linux_amd64$ ls -al


insgesamt 16392


drwxr-xr-x 10 teamspeak nogroup 4096 Jan 31 09:43 .


drwxr-xr-x 3 root root 4096 Nov 2 21:54 ..


-rw-r--r-- 1 teamspeak root 66724 Jul 2 2019 CHANGELOG


drwxr-xr-x 3 teamspeak root 4096 Jun 17 2019 doc


drwx------ 4 teamspeak nogroup 4096 Nov 2 22:02 files


-rwxr-xr-x 1 teamspeak root 947368 Jul 2 2019 libts3db_mariadb.so


-rwxr-xr-x 1 teamspeak root 2174344 Jul 2 2019 libts3db_sqlite3.so


-rwxr-xr-x 1 teamspeak root 1096144 Jul 2 2019 libts3_ssh.so


-rw-r--r-- 1 teamspeak root 68141 Jun 17 2019 LICENSE


drwx------ 2 teamspeak nogroup 20480 Jan 31 09:43 logs


-rw-r--r-- 1 teamspeak nogroup 0 Nov 2 21:57 query_ip_blacklist.txt


-rw-r--r-- 1 teamspeak nogroup 0 Nov 2 21:57 query_ip_whitelist.txt


drwxr-xr-x 2 teamspeak root 4096 Jul 2 2019 redist


drwxr-xr-x 2 teamspeak root 4096 Nov 2 23:00 scripts


drwxr-xr-x 2 teamspeak root 4096 Jun 24 2019 serverquerydocs


drwxr-xr-x 5 teamspeak root 12288 Jun 17 2019 sql


-rw-r--r-- 1 teamspeak nogroup 3243 Nov 2 21:58 ssh_host_rsa_key


-rwxr-xr-x 1 teamspeak root 12033888 Jul 2 2019 ts3server


-rw-r--r-- 1 teamspeak nogroup 635 Nov 2 21:57 ts3server.ini


-rw-r--r-- 1 teamspeak nogroup 0 Nov 2 21:57 .ts3server_license_accepted


-rwxr-xr-x 1 teamspeak root 117 Jun 17 2019 ts3server_minimal_runscript.sh


-rw-r--r-- 1 teamspeak nogroup 272384 Jan 31 08:26 ts3server.sqlitedb


-rw-r--r-- 1 teamspeak nogroup 32768 Jan 31 09:43 ts3server.sqlitedb-shm


-rw-r--r-- 1 teamspeak nogroup 0 Jan 31 08:27 ts3server.sqlitedb-wal


-rwxr-xr-x 1 teamspeak root 2654 Nov 10 21:06 ts3server_startscript.sh


drwxr-xr-x 2 teamspeak root 4096 Jul 2 2019 tsdns
Ergänzung ()

Wieder das gleiche Verhalten vom CB Forum... Entschuldige, ich weiß nicht woran das liegt... :(
 
Sehe ich das richtig, dass du die kompletten Nutzdaten von TS in /usr/bin gelegt hast? Das solltest du auf gar keinen Fall tun, dort sollten wirklich nur die Binaries, also die ausführbaren Dateien liegen. Die Nutzdaten solltest du in das Home-Verzeichnis des Users teamspeak legen.
Ergänzung ()

Generell sind die Berechtigungen in dem Verzeichnis sehr krude. Auf jeden Fall solltest du das gesamte Verzeichnis ins Home-Verzeichnis verlegen und anschließend nicht nur den Besitzer-User, sondern auch die Besitzer-Gruppe ändern:
sudo chown -R teamspeak:teamspeak /wo/auch/immer/ts3/dann/liegt
 
  • Gefällt mir
Reaktionen: Pilatesjünger
Soweit ich weiß ist /usr/local/bin/teamspeak3-server_linux_amd64 sogar das Homeverzeichnis des users teamspeak - aber wie genau kann ich das checken? Und warum sollte ich das nicht tun? Es hat bis gestern Abend doch monatelang funktioniert. Und wie finde ich die Gruppe des users teamspeak heraus? was hat das Ganze mit dem Datenbankzugriff zu tun?
Ergänzung ()

Ich bin damals bei der Einrichtung übrigens strikt nach https://wiki.ubuntuusers.de/TeamSpeak-Server/ vorgegangen.
 
Zuletzt bearbeitet:
gammelkeule schrieb:
Soweit ich weiß ist /usr/local/bin/teamspeak3-server_linux_amd64 sogar das Homeverzeichnis des users teamspeak
Dann ist dein System bzw. der User teamspeak völlig falsch konfiguriert. Home-Verzeichnisse liegen immer in /home, in dem Fall also z.B. /home/teamspeak

gammelkeule schrieb:
Und warum sollte ich das nicht tun?
Weil es, wie bereits gesagt, ein Verzeichnis für Binärdateien ist, nicht für Nutzdateien.

gammelkeule schrieb:
Und wie finde ich die Gruppe des users teamspeak heraus?
Wie ebenfalls bereits gesagt heißt die Gruppe standardmäßig immer wie der User: teamspeak. Deswegen habe ich dir ja direkt den ganzen Befehl geschickt.

gammelkeule schrieb:
was hat das Ganze mit dem Datenbankzugriff zu tun?
Es ist ein Berechtigungsproblem und deine Berechtigungen in dem Ordner sind (gelinde gesagt) komplett für den Arsch.

gammelkeule schrieb:
Ich bin damals bei der Einrichtung übrigens strikt nach https://wiki.ubuntuusers.de/TeamSpeak-Server/ vorgegangen.
Anscheinend ist das tatsächlich der von Teamspeak vorgeschlagene Weg. Auch andere Tutorials zeigen die gleiche Herangehensweise. Ich halte das trotzdem für falsch. Generell werden dort einige Punkte gesagt, die ich so auf gar keinen Fall machen würde.
 
Also sind die offiziellen Anleitungen falsch?! Nicht böse gemeint, ich bin dankbar dass du mir helfen willst, aber ich kann mir nur schwer vorstellen dass es daran liegt wenn es vorher geklappt hat, alle offiziellen Anleitungen es so empfehlen und ich es anders machen soll nur weil du das für falsch hälst. Die Berechtigungen in dem Ordner sind doch so: Alles gehört dem Benutzer, der es benutzen soll (teamspeak). Was ist daran falsch? Ich habe mit id teamspeak nachgeschaut: Der Nutzer teamspeak hat keine Gruppe, so ist es auch in der Anleitung beschrieben. Wie gesagt: Ich habe mich strikt dran gehalten. Ich verstehe immer noch nicht, warum es plötzlich nicht mehr funktionieren soll, auffällig ist nur dass die ts3server.sqlitedb heute morgen angefasst wurde... (nicht von mir, es hat auch sonst niemand Zugriff auf die Kiste)

Dein Befehl gibt doch nur irgendeinem neuen Platz für den Teamspeak user die Rechte(?)
Ergänzung ()

Oder ist die Datenbank Datei vielleicht durch einen Festplattenfehler beschädigt worden? Smartwerte sehen jedoch gut aus.
 
Backup wäre jetzt gut gewesen. 😉
 
Wäre es, bringt mir jetzt aber auch nix. Ich werde heute Abend wohl mal in Ruhe den ganzen TS neu installieren müssen...
Ergänzung ()

user@NEC-PC:/usr/local/bin/teamspeak3-server_linux_amd64$ sh ts3server_minimal_runscript.sh


2020-01-31 11:07:32.625341|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.9.1 (2019-07-02 13:17:23)


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.625439|INFO |ServerLibPriv | |SystemInformation: Linux 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 Binary: 64bit


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626219|INFO |DatabaseQuery | |dbPlugin name: SQLite3 plugin, Version 3, (c)TeamSpeak Systems GmbH


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626287|INFO |DatabaseQuery | |dbPlugin version: 3.11.1


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626616|INFO |DatabaseQuery | |checking database integrity (may take a while)


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626903|ERROR |DatabaseQuery | |db_exec failed unable to open database file


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626953|ERROR |DatabaseQuery | |integrity_check failed unable to open database file


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed


2020-01-31 11:07:32.626996|CRITICAL|ServerLibPriv | |Server() DatabaseError unable to open database file


ERROR: openFile( file:logs/ts3server_2020-01-31__11_07_32.625272_0.log) failed

Jap, file ist wohl einfach nur korrupt. GG.
 
Ich habe den Server gestern Nachmittag einfach komplett neu aufgesetzt und aus meinem Erinnerungen rekonstruiert. Vorteil: gleich auch mal ein Versionsupgrade des Servers. ;) Diesmal habe ich den ganzen Ordner auch direkt gebackupt, für Falle. ;)
 
Zurück
Oben