Was steht den in der Zeile 124 für eine if Abfrage?
Bash
#!/bin/bash
while test $# -gt 0; do
case "$1" in
"-IP")
IP="$2"
shift;;
"-PORT")
PORT="$2"
shift ;;
"-PLAYER")
PLAYER="$2"
shift ;;
"-RAM")
RAM="$2"
shift ;;
"-ADDON")
ADDON="$2"
shift ;;
"-LIMIT")
LIMIT="$2"
shift ;;
"-RTKUSER")
RTKUSER="$2"
shift ;;
"-PRIVATE")
PRIVATE="$2"
shift ;;
esac
shift
done
## kill den alten port =)
if [ ! -f minecraft_server.pid ]; then
echo ""
else
pid=`cat minecraft_server.pid`
kill -KILL $pid
rm -rf minecraft_server.pid
fi
let REMOTE=${PORT}+1
## serversettings
grep server-ip= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(server-ip=\).*$/\1${IP}/"
else # Nicht vorhanden!
echo "server-ip=${IP}" >> server.properties
fi
grep server-port= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(server-port=\).*$/\1${PORT}/"
else # Nicht vorhanden!
echo "server-port=${PORT}" >> server.properties
fi
grep max-players= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(max-players=\).*$/\1${PLAYER}/"
else # Nicht vorhanden!
echo "max-players=${PLAYER}" >> server.properties
fi
grep enable-query= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(enable-query=\).*$/\1true/"
else # Nicht vorhanden!
echo "enable-query=true" >> server.properties
fi
grep query.port= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(query.port=\).*$/\1${PORT}/"
else # Nicht vorhanden!
echo "query.port=${PORT}" >> server.properties
fi
mkdir toolkit
grep maximum-heap-size= ./toolkit/wrapper.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/wrapper.properties -e "s/^\(maximum-heap-size=\).*$/\1${RAM}M/"
else # Nicht vorhanden!
echo "maximum-heap-size=${RAM}M" >> ./toolkit/wrapper.properties
fi
grep initial-heap-size= ./toolkit/wrapper.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/wrapper.properties -e "s/^\(initial-heap-size=\).*$/\1${RAM}M/"
else # Nicht vorhanden!
echo "initial-heap-size=${RAM}M" >> ./toolkit/wrapper.properties
fi
grep remote-bind-address= ./toolkit/remote.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/remote.properties -e "s/^\(remote-bind-address=\).*$/\1${IP}/"
else # Nicht vorhanden!
echo "remote-bind-address=${IP}" >> ./toolkit/remote.properties
fi
grep remote-control-port= ./toolkit/remote.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/remote.properties -e "s/^\(remote-control-port=\).*$/\1${REMOTE}/"
else # Nicht vorhanden!
echo "remote-control-port=${REMOTE}" >> ./toolkit/remote.properties
fi
if [ $PRIVATE == "true" ]; then
echo Server startet im PRIVATEN modus. Bitte setzen sie Spieler auf die Whitelist um ihn benutzen zu koennen!
grep white-list= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(white-list=\).*$/\1true/"
else # Nicht vorhanden!
echo "white-list=true" >> server.properties
fi
else
echo Server Startet als Publicserver
fi
java -Xmx"$RAM"M -Xms"$RAM"M -jar minecraft_server.jar nogui $IP $PORT
fi
Invalid maximum heap size: -Xmx0M === Kein RAM gesetzt in MB z.B 1024 = 1 GB usw.
Genau das habe ich schon eingegeben. Es quasi alles 1:1
Ich habe einen Gameserver, sagen wir auf der version 1.8 > starten > läuft. Genau der selbe Server wird jetzt wieder gestoppt > minecraft_server.jar wird aktualisiert auf 1.12.1 > starten > Fehlermeldung ^siehe oben
Der Imageserver funktioniert jetzt. Das Problem war, dass ich die, nennen wir es "minecraftserver.tar" nur auf dem Webspace unter /var/www/html/images gespeichert habe und nicht unter /home/imageuserbeispiel. Hätte nicht gedacht dass er sich die Dateien von da aus lädt. Aber ok.
Foldendes Problem besteht weiterhin: Java ist installiert und aktuell.
Code
Server Startet als Publicserver
Invalid maximum heap size: -Xmx0M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
./start.sh: line 124: syntax error near unexpected token `fi'
./start.sh: line 124: `fi'
Bei den neuen Minecraft Versionen scheint es nicht zu funktionieren. Wenn ich jetzt ältere Versionen installiere 1.8 z.B. > funktioniert. 1.10.2 > funktioniert > 1.11.2 (aktuell) > funktioniert nicht
Ich habe halt nur so eine "Test Lizenz" die ich schon seit Ewigkeiten habe. Die war noch einem meiner Server zugewiesen. Deshalb konnte ich schon einen Teil fertig machen. Jetzt warte ich allerdings immer noch auf die Miet Lizenz, welche ich wie gesagt am Freitag gekauft habe.
Kann es sein dass User, welche die Test Lizenz haben, den Imageserver nicht ändern können?
Ich weiß, es ergibt vorne und hinten keinen Sinn. Aber so ist es eben. Minecraft, also das Image welches ich erstellt habe ist zwar aktuell, aber es wird auf dem Kundenkonto eine alte Version vom Tekbase Imageserver installiert. (Die Version 1.8)
Kann es daran liegen, dass ich meine Lizenz noch nicht erhalten habe, und deshalb keinen eigenen Imageserver einbeziehen kann? PS: habe am Freitag kurz nach Mittag mit PayPal bezahlt und immer noch keine Lizenz erhalten.
Punkt 1 kannst du ignorieren hätt nichts mit dem imageserver zu tuhen
Vermutlich liegt es an einem bereits bekannten Bug Pack deinen mal als Image Server 1 rein.
Punkt 2 Stimmt einmal Java aktualisieren
Java war und ist aktuell. Hatte für wenige Augenblicke ja funktioniert.
Server Startet als Publicserver Invalid maximum heap size: -Xmx0M Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. ./start.sh: line 124: syntax error near unexpected token `fi' ./start.sh: line 124: `fi'
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
Das Problem liegt darin, dass der Imageserverpfad und Imageserverpfad 2, einfach ignoriert wird und immer noch der Standart Imageserver benuzt wird.
Habe unter Setting Module > Einstellungen > Imageserverpfad und Imageserverpfad 2 die URL zu meinem Imageserver angegeben, Einstellungen gespeichert und es werden trotzdem die Dateien von dem alten Imageserver runtergeladen. ftp://62.141.39.127/. Warum?
2. Wenn ich versuche den Gameserver zu starten wird eine Fehlermeldung ausgegeben.
Code
Server Startet als Publicserver
Invalid maximum heap size: -Xmx0M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
./start.sh: line 124: syntax error near unexpected token `fi'
./start.sh: line 124: `fi'
start.sh:
Bash
#!/bin/bash
while test $# -gt 0; do
case "$1" in
"-IP")
IP="$2"
shift;;
"-PORT")
PORT="$2"
shift ;;
"-PLAYER")
PLAYER="$2"
shift ;;
"-RAM")
RAM="$2"
shift ;;
"-ADDON")
ADDON="$2"
shift ;;
"-LIMIT")
LIMIT="$2"
shift ;;
"-RTKUSER")
RTKUSER="$2"
shift ;;
"-PRIVATE")
PRIVATE="$2"
shift ;;
esac
shift
done
## kill den alten port =)
if [ ! -f minecraft_server.pid ]; then
echo ""
else
pid=`cat minecraft_server.pid`
kill -KILL $pid
rm -rf minecraft_server.pid
fi
let REMOTE=${PORT}+1
## serversettings
grep server-ip= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(server-ip=\).*$/\1${IP}/"
else # Nicht vorhanden!
echo "server-ip=${IP}" >> server.properties
fi
grep server-port= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(server-port=\).*$/\1${PORT}/"
else # Nicht vorhanden!
echo "server-port=${PORT}" >> server.properties
fi
grep max-players= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(max-players=\).*$/\1${PLAYER}/"
else # Nicht vorhanden!
echo "max-players=${PLAYER}" >> server.properties
fi
grep enable-query= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(enable-query=\).*$/\1true/"
else # Nicht vorhanden!
echo "enable-query=true" >> server.properties
fi
grep query.port= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(query.port=\).*$/\1${PORT}/"
else # Nicht vorhanden!
echo "query.port=${PORT}" >> server.properties
fi
mkdir toolkit
grep maximum-heap-size= ./toolkit/wrapper.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/wrapper.properties -e "s/^\(maximum-heap-size=\).*$/\1${RAM}M/"
else # Nicht vorhanden!
echo "maximum-heap-size=${RAM}M" >> ./toolkit/wrapper.properties
fi
grep initial-heap-size= ./toolkit/wrapper.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/wrapper.properties -e "s/^\(initial-heap-size=\).*$/\1${RAM}M/"
else # Nicht vorhanden!
echo "initial-heap-size=${RAM}M" >> ./toolkit/wrapper.properties
fi
grep remote-bind-address= ./toolkit/remote.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/remote.properties -e "s/^\(remote-bind-address=\).*$/\1${IP}/"
else # Nicht vorhanden!
echo "remote-bind-address=${IP}" >> ./toolkit/remote.properties
fi
grep remote-control-port= ./toolkit/remote.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i ./toolkit/remote.properties -e "s/^\(remote-control-port=\).*$/\1${REMOTE}/"
else # Nicht vorhanden!
echo "remote-control-port=${REMOTE}" >> ./toolkit/remote.properties
fi
if [ $PRIVATE == "true" ]; then
echo Server startet im PRIVATEN modus. Bitte setzen sie Spieler auf die Whitelist um ihn benutzen zu koennen!
grep white-list= server.properties &>/dev/null
if [[ $? -eq 0 ]]; then # Vorhanden!
sed -i server.properties -e "s/^\(white-list=\).*$/\1true/"
else # Nicht vorhanden!
echo "white-list=true" >> server.properties
fi
else
echo Server Startet als Publicserver
fi
java -Xmx"$RAM"M -Xms"$RAM"M -jar minecraft_server.jar nogui $IP $PORT
fi
Alles anzeigen
Was ist daran falsch? Habe es vorher geschafft den Gameserver zu installieren und zu starten. Erst als ich versucht habe nen eigenen Imageserver aufzusetzen sind diese Fehler aufgetreten.