barton4
02.11.12, 10:51
Hi,
ich möchte mit Hilfe von xinetd einen Minecraft-Server nur dann starten, wenn anfragen auf den jeweiligen Port kommen. Sobald der Minecraft-Server gestarted ist, lauscht er an tcp 25565
Für die xinetd hab ich folgende config:
service minecraft
{
socket_type = stream
protocol = tcp
port = 25565
type = UNLISTED
wait = no
user = minecraft
server = /home/minecraft/minecraft/start.sh
}
in der start.sh steht folgendes:
#!/bin/bash
SCRIPT=`dirname $(readlink -f $0)`
cd $SCRIPT
if ! pgrep -U minecraft -f minecraft_server > /dev/null
then
echo "$(date) starting minecraft server" >> /tmp/minecraftserver.log
/usr/bin/nohup java -Xmx1024M -Xms1024M -jar minecraft_server.jar &
fi
Der minecraft server wird bei einer Anfrage von einem client tatsächlich gestartet. Jedoch erscheint beim Client schließlich "Communication Error". Es scheint so,als ob xinetd den Port nicht "frei" gibt für den server.
Hat jemand eine Idee?
Grüße
ich möchte mit Hilfe von xinetd einen Minecraft-Server nur dann starten, wenn anfragen auf den jeweiligen Port kommen. Sobald der Minecraft-Server gestarted ist, lauscht er an tcp 25565
Für die xinetd hab ich folgende config:
service minecraft
{
socket_type = stream
protocol = tcp
port = 25565
type = UNLISTED
wait = no
user = minecraft
server = /home/minecraft/minecraft/start.sh
}
in der start.sh steht folgendes:
#!/bin/bash
SCRIPT=`dirname $(readlink -f $0)`
cd $SCRIPT
if ! pgrep -U minecraft -f minecraft_server > /dev/null
then
echo "$(date) starting minecraft server" >> /tmp/minecraftserver.log
/usr/bin/nohup java -Xmx1024M -Xms1024M -jar minecraft_server.jar &
fi
Der minecraft server wird bei einer Anfrage von einem client tatsächlich gestartet. Jedoch erscheint beim Client schließlich "Communication Error". Es scheint so,als ob xinetd den Port nicht "frei" gibt für den server.
Hat jemand eine Idee?
Grüße