L
LastChaosTyp
Guest
Moin PCGHler,
ich habe mal wieder ein Problem und zwar mit meinem TS3-Server :/
Erstmal die Daten:
vServer:
- 1GB RAM
- Ubuntu 15.04 64bit
- 225 GB HDD(Partition)
- TS3-Server der Version 3.0.11.4 (neuste Version)
Was ist das Problem?
Ich wollte heute auf meinen Server joinen und stelle fest, dass der Server sofort beim Joinen abstürzt. (Komischerweise stürzt dann auch mein Windows-TS3-Client ab)
Also habe ich in die Logs geschaut und festgestellt, dass alle neueren Logs LEER sind. Das kann ja nichts gutes bedeuten. => Server mit meinem Standardskript als Benutzer "ts3" gestartet: "./ts3server_startscript.sh start"
Startskript:
Der Server startet und gibt Folgendes in der Konsole zurück:
Also schaue ich ins Logfile, welches leer ist
Sobald ich dann joine, freezt mein TS3 und in der Serverkonsole erscheint:
Ich habe dann einfach mal in älteren nicht leeren Logfiles gesucht und am 1.1.16 diesen Log gefunden, an dem anscheinend alles begonnen hat:
Dort taucht zum ersten mal der anscheinend vielen bekannten Fehler "|CRITICAL|DatabaseQuery | | Assertion "error == ERROR_ok" failed at server/serverlib/database/db_database.cpp:113; " auf.
Nach ein bisschen Googeln fand ich dann ein paar Lösungen heraus:
1.) Festplatte voll => Wurde überprüft, ist nicht so
2.) Dateieigentümer der Datenbank "ts3server.sqlite" ist falsch => Wurde mit chown überprüft und geändert, keine Besserung
3.) Nicht genügend Rechte an der Datei => Wurde mit "chmod 644 /home/ts3/ts3server.sqlite" überprüft/geändert, keine Besserung
4.) Festplatte ist defekt => Anfrage an Hoster wurde gestellt, ist aber noch nicht beantwortet
Danach habe ich mal probiert das Startscript als root auszuführen und siehe da, der TS funktioniert wieder einwandfrei!
Sobald ich aber wieder als "ts3"-Benutzer starten will, stürzt der Server wieder ab. Es scheint also ein Rechtefehler zu sein, den ich mir aber absolut nicht erklären kann , denn der Server lief vorher einwandfrei und es wurde von meiner Seite aus absolut nichts am System oder den Einstellungen geändert!
Also eben mal die Rechte überprüft, die wie folgt aussehen:
Hat noch jemand ne Idee, was ein möglicher Fehler sein kann? Ich bin über jeden Vorschlag froh, da ich bis zum Absturz keine Backups hatte :*
Vielen Dank
Henri
ich habe mal wieder ein Problem und zwar mit meinem TS3-Server :/
Erstmal die Daten:
vServer:
- 1GB RAM
- Ubuntu 15.04 64bit
- 225 GB HDD(Partition)
- TS3-Server der Version 3.0.11.4 (neuste Version)
Was ist das Problem?
Ich wollte heute auf meinen Server joinen und stelle fest, dass der Server sofort beim Joinen abstürzt. (Komischerweise stürzt dann auch mein Windows-TS3-Client ab)
Also habe ich in die Logs geschaut und festgestellt, dass alle neueren Logs LEER sind. Das kann ja nichts gutes bedeuten. => Server mit meinem Standardskript als Benutzer "ts3" gestartet: "./ts3server_startscript.sh start"
Startskript:
Code:
#!/bin/sh
# Copyright (c) 2010 TeamSpeak Systems GmbH
# All rights reserved
COMMANDLINE_PARAMETERS="${2}" #add any command line parameters you want to pass here
D1=$(readlink -f "$0")
BINARYPATH="$(dirname "${D1}")"
cd "${BINARYPATH}"
LIBRARYPATH="$(pwd)"
if [ -e ts3server_linux_x86 ]; then
if [ -z "`uname | grep Linux`" -o ! -z "`uname -m | grep 64`" ]; then
echo "Do you have the right TS3 Server package for your system? You have: `uname` `uname -m`, not Linux i386."
fi
BINARYNAME="ts3server_linux_x86"
elif [ -e ts3server_linux_amd64 ]; then
if [ -z "`uname | grep Linux`" -o -z "`uname -m | grep 64`" ]; then
echo "Do you have the right TS3 Server package for your system? You have: `uname` `uname -m`, not Linux x86_64."
fi
BINARYNAME="ts3server_linux_amd64"
elif [ -e ts3server_freebsd_x86 ]; then
if [ -z "`uname | grep FreeBSD`" -o ! -z "`uname -m | grep 64`" ]; then
echo "Do you have the right TS3 Server package for your system? You have: `uname` `uname -m`, not FreeBSD i386."
fi
BINARYNAME="ts3server_freebsd_x86"
elif [ -e ts3server_freebsd_amd64 ]; then
if [ -z "`uname | grep FreeBSD`" -o -z "`uname -m | grep 64`" ]; then
echo "Do you have the right TS3 Server package for your system? You have: `uname` `uname -m`, not FreeBSD amd64."
fi
BINARYNAME="ts3server_freebsd_amd64"
else
echo "Could not locate binary file, aborting"
exit 5
fi
case "$1" in
start)
if [ -e ts3server.pid ]; then
if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
echo "The server is already running, try restart or stop"
exit 1
else
echo "ts3server.pid found, but no server running. Possibly your previously started server crashed"
echo "Please view the logfile for details."
rm ts3server.pid
fi
fi
if [ "${UID}" = "0" ]; then
echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
c=1
while [ "$c" -le 10 ]; do
echo -n "!"
sleep 1
c=$(($c+1))
done
echo "!"
fi
echo "Starting the TeamSpeak 3 server"
if [ -e "$BINARYNAME" ]; then
if [ ! -x "$BINARYNAME" ]; then
echo "${BINARYNAME} is not executable, trying to set it"
chmod u+x "${BINARYNAME}"
fi
if [ -x "$BINARYNAME" ]; then
export LD_LIBRARY_PATH="${LIBRARYPATH}:${LD_LIBRARY_PATH}"
"./${BINARYNAME}" ${COMMANDLINE_PARAMETERS} > /dev/null &
PID=$!
ps -p ${PID} > /dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "TeamSpeak 3 server could not start"
else
echo $PID > ts3server.pid
echo "TeamSpeak 3 server started, for details please view the log file"
fi
else
echo "${BINARNAME} is not exectuable, cannot start TeamSpeak 3 server"
fi
else
echo "Could not find binary, aborting"
exit 5
fi
;;
stop)
if [ -e ts3server.pid ]; then
echo -n "Stopping the TeamSpeak 3 server"
if ( kill -TERM $(cat ts3server.pid) 2> /dev/null ); then
c=1
while [ "$c" -le 300 ]; do
if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
echo -n "."
sleep 1
else
break
fi
c=$(($c+1))
done
fi
if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
echo "Server is not shutting down cleanly - killing"
kill -KILL $(cat ts3server.pid)
else
echo "done"
fi
rm ts3server.pid
else
echo "No server running (ts3server.pid is missing)"
exit 7
fi
;;
restart)
$0 stop && $0 start ${COMMANDLINE_PARAMETERS} || exit 1
;;
status)
if [ -e ts3server.pid ]; then
if ( kill -0 $(cat ts3server.pid) 2> /dev/null ); then
echo "Server is running"
else
echo "Server seems to have died"
fi
else
echo "No server running (ts3server.pid is missing)"
fi
;;
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 2
esac
exit 0
Der Server startet und gibt Folgendes in der Konsole zurück:
Code:
ts3@TS3byLastChaosTyp:~$ ./ts3server_startscript.sh start
Starting the TeamSpeak 3 server
sh: echo: I/O error
TeamSpeak 3 server started, for details please view the log file
Also schaue ich ins Logfile, welches leer ist
Sobald ich dann joine, freezt mein TS3 und in der Serverkonsole erscheint:
Code:
17:56:56.765483|CRITICAL|DatabaseQuery | | Assertion "error == ERROR_ok" failed at server/serverlib/database/db_database.cpp:113;
Ich habe dann einfach mal in älteren nicht leeren Logfiles gesucht und am 1.1.16 diesen Log gefunden, an dem anscheinend alles begonnen hat:
Code:
2016-01-01 21:02:05.802118|INFO |ServerLibPriv | | TeamSpeak 3 Server 3.0.11.4 (2015-08-18 13:30:34)
2016-01-01 21:02:05.829021|INFO |ServerLibPriv | | SystemInformation: Linux 2.6.32-042stab094.8 #1 SMP Tue Dec 16 20:36:56 MSK 2014 x86_64 Binary: 64bit
2016-01-01 21:02:05.829083|INFO |ServerLibPriv | | Using hardware aes
2016-01-01 21:02:05.843973|INFO |DatabaseQuery | | dbPlugin name: SQLite3 plugin, Version 2, (c)TeamSpeak Systems GmbH
2016-01-01 21:02:05.844058|INFO |DatabaseQuery | | dbPlugin version: 3.6.21
2016-01-01 21:02:05.844495|INFO |DatabaseQuery | | checking database integrity (may take a while)
2016-01-01 21:02:05.962215|WARNING |Accounting | | Unable to find valid license key, falling back to limited functionality
2016-01-01 21:02:07.925797|INFO | | | Puzzle precompute time: 1873
2016-01-01 21:02:07.934631|INFO |FileManager | | listening on 0.0.0.0:30033
2016-01-01 21:02:08.017254|INFO |CIDRManager | | updated query_ip_whitelist ips: 127.0.0.1,
2016-01-01 21:02:08.017839|INFO |Query | | listening on 0.0.0.0:10011
2016-01-08 11:51:23.609464|ERROR |DatabaseQuery | | db_exec failed disk I/O error
2016-01-08 11:51:23.637055|ERROR |DatabaseQuery | | db_exec() update clients set client_lastconnected=1452253883, client_totalconnec error: disk I/O error
2016-01-08 11:51:23.637142|CRITICAL|DatabaseQuery | | Assertion "error == ERROR_ok" failed at server/serverlib/database/db_database.cpp:113;
Dort taucht zum ersten mal der anscheinend vielen bekannten Fehler "|CRITICAL|DatabaseQuery | | Assertion "error == ERROR_ok" failed at server/serverlib/database/db_database.cpp:113; " auf.
Nach ein bisschen Googeln fand ich dann ein paar Lösungen heraus:
1.) Festplatte voll => Wurde überprüft, ist nicht so
2.) Dateieigentümer der Datenbank "ts3server.sqlite" ist falsch => Wurde mit chown überprüft und geändert, keine Besserung
3.) Nicht genügend Rechte an der Datei => Wurde mit "chmod 644 /home/ts3/ts3server.sqlite" überprüft/geändert, keine Besserung
4.) Festplatte ist defekt => Anfrage an Hoster wurde gestellt, ist aber noch nicht beantwortet
Danach habe ich mal probiert das Startscript als root auszuführen und siehe da, der TS funktioniert wieder einwandfrei!
Sobald ich aber wieder als "ts3"-Benutzer starten will, stürzt der Server wieder ab. Es scheint also ein Rechtefehler zu sein, den ich mir aber absolut nicht erklären kann , denn der Server lief vorher einwandfrei und es wurde von meiner Seite aus absolut nichts am System oder den Einstellungen geändert!
Also eben mal die Rechte überprüft, die wie folgt aussehen:
Code:
ts3@TS3byLastChaosTyp:~$ ls -l
total 8876
-rwxr-xr-x 1 ts3 ts3 45659 Aug 18 10:33 CHANGELOG
-rwxr-xr-x 1 ts3 ts3 36710 Aug 18 10:33 LICENSE
drwxr-xr-x 2 ts3 ts3 4096 Aug 18 10:33 doc
drwxr-xr-x 4 ts3 ts3 4096 Oct 21 16:23 files
-rwxr-xr-x 1 ts3 ts3 946224 Aug 18 10:33 libts3db_mariadb.so
-rwxr-xr-x 1 ts3 ts3 1638552 Aug 18 10:33 libts3db_sqlite3.so
drwxr-xr-x 2 ts3 ts3 4096 Jan 8 13:23 logs
-rwxr-xr-x 1 ts3 ts3 1 Oct 21 16:13 query_ip_blacklist.txt
-rwxr-xr-x 1 ts3 ts3 10 Oct 21 16:13 query_ip_whitelist.txt
drwxr-xr-x 2 ts3 ts3 4096 Aug 18 10:33 redist
drwxr-xr-x 2 ts3 ts3 4096 Aug 18 10:33 serverquerydocs
drwxr-xr-x 5 ts3 ts3 4096 Aug 18 10:33 sql
-rw-rw-r-- 1 ts3 ts3 0 Jan 8 13:23 ts3server.pid
-rwxr-xr-x 1 ts3 ts3 256000 Jan 8 12:46 ts3server.sqlitedb
-rwxr-xr-x 1 ts3 ts3 6106040 Aug 18 10:33 ts3server_linux_amd64
-rwxr-xr-x 1 ts3 ts3 1192 Aug 18 10:33 ts3server_minimal_runscript.sh
-rwxr-xr-x 1 ts3 ts3 3897 Aug 18 10:33 ts3server_startscript.sh
drwxr-xr-x 2 ts3 ts3 4096 Aug 18 10:33 tsdns
Hat noch jemand ne Idee, was ein möglicher Fehler sein kann? Ich bin über jeden Vorschlag froh, da ich bis zum Absturz keine Backups hatte :*
Vielen Dank
Henri