Probleme mit dem jtsdns

Started by SkullDrago, August 10, 2016, 04:05:12 AM

Previous topic - Next topic

SkullDrago

Hallo stefan habe da ein Problem mit dem jtsdns. Wenn ich den starten will dann bekomme ich die Meldung:

TeamSpeak 3 JTSDNS server started
teamspeak@rs001058:~/jtsdns$ ./JTSDNS.jar: 1: ./JTSDNS.jar: Syntax error: ")" unexpected

Stefan1200

Wie hast du den JTSDNS gestartet?

SkullDrago

#2
Mit einem Startscript. Welches ich von dem für deinen Bot abgeleitet habe.

#!/bin/sh
# For Teamspeak 3 System TSDNS Server

BINARYPATH="$(dirname "${0}")"
cd "${BINARYPATH}"

if [ -e "JTSDNS.jar" ]; then
BINARYNAME="JTSDNS.jar"
else
echo "Could not locate binary file, aborting"
exit 5
fi

case "$1" in
start)
if [ -e jtsdnsserver.pid ]; then
if ( kill -0 $(cat jtsdnsserver.pid) 2> /dev/null ); then
echo "The JTSDNS server is already running, try restart or stop"
exit 1
else
echo "jtsdnsserver.pid found, but no server running. Possibly your previously started server crashed"
echo "Please view the logfile for details."
rm jtsdnsserver.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))
done
echo "!"
fi
echo "Starting the TeamSpeak 3 JTSDNS 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
echo "TeamSpeak 3 JTSDNS server started"
"./${BINARYNAME}" &
echo $! > jtsdnsserver.pid
else
echo "${BINARNAME} is not exectuable, cannot start TeamSpeak 3 JTSDNS server"
fi
else
echo "Could not find binary, aborting"
exit 5
fi
;;
stop)
if [ -e jtsdnsserver.pid ]; then
echo -n "Stopping the TeamSpeak 3 JTSDNS server"
if ( kill -TERM $(cat jtsdnsserver.pid) 2> /dev/null ); then
c=1
while [ "$c" -le 300 ]; do
if ( kill -0 $(cat jtsdnsserver.pid) 2> /dev/null ); then
echo -n "."
sleep 1
else
break
fi
c=$((++c))
done
fi
if ( kill -0 $(cat jtsdnsserver.pid) 2> /dev/null ); then
echo "JTSDNS Server is not shutting down cleanly - killing"
kill -KILL $(cat jtsdnsserver.pid)
else
echo "done"
fi
rm jtsdnsserver.pid
else
echo "No server running (jtsdnsserver.pid is missing)"
exit 7
fi
;;
restart)
$0 stop && $0 start || exit 1
;;
status)
if [ -e jtsdnsserver.pid ]; then
if ( kill -0 $(cat jtsdnsserver.pid) 2> /dev/null ); then
echo "JTSDNS Server is running"
else
echo "JTSDNS Server seems to have died"
fi
else
echo "No JTSDNS server running (jtsdnsserver.pid is missing)"
fi
;;
update)
if [ -e jtsdnsserver.pid ]; then
if ( kill -0 $(cat jtsdnsserver.pid) 2> /dev/null ); then
"./${BINARYNAME}" --update &
else
echo "JTSDNS Server seems to have died"
fi
else
echo "No JTSDNS server running (jtsdnsserver.pid is missing)"
fi
;;
*)
echo "Usage: ${0} {start|stop|restart|status|update}"
exit 2
esac
exit 0


Stefan1200

Okay, läuft es, wenn du es so startest, wie es in der Anleitung steht? Das ganze sieht mir eher nach einem Fehler in dem Skript aus, denn so eine Fehlermeldung wird von Java oder dem JTSDNS nicht ausgegeben.

SkullDrago

Ich habe es hinbekommen kurioserweise läuft es wenn ich das script anweise über den benutzer den jtsdns zu starten. Das script selbst muss dabei aber über root ausgeführt werden