屏幕问题 - 运行 Minecraft 在一段时间内循环通过屏幕会话

Issues with Screen - Running Minecraft in a while loop through a screen session

今天早些时候,我更改了 minecraft 服务器的启动脚本。问题是,大约 3 小时后,打开的屏幕消失了,并且在使用 -ls 时拒绝出现。服务器仍然 运行 并且从我在下面看到的内容来看,屏幕进程应该仍然处于活动状态? ServerStart.shinit 期间调用。最初只包含 while 循环。

ServerStart.sh:

#/bin/bash    
#Check to see if a minecraft screen is already running
lineCount=`screen -r mc | grep "There is no screen to be resumed matching mc." | wc -l`

#Start the minecraft server in a detached screen named "c" if its not running
#Launch the command line interface for minecraft if it is arealdy running.
if [ $lineCount -eq 1 ]
  then
    echo linecount: $lineCount. Starting in a deteched screen named minecraft. Use screen -r minecraft to view.
    screen -dmS mc sh ServerLoop.sh
  else
    echo lineCount: $lineCount. Minecraft is already running. Use screen -r minecraft to view. Running now.
    screen -r mc
fi

ServerLoop.sh:

#/bin/bash
while true
do
java -server -Xms4096m -Xmx16384m -XX:PermSize=512m -d64 -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -jar FTB.jar nogui
echo Restarting-Give me 90 Seconds.
sleep 10
done

由于在 Notepad++ 中编写脚本,我似乎在通过 ftp 传输时随机添加了 ^M。不过,它们并没有添加到代码的每个修订版中,所以这不是一个一致的事情。然而,他们从 运行 停止了 start.sh,却没有给出任何真正的原因。

作为对其他人的参考,在过去 48 小时以上的每日多次重启中,以下内容在 2 个不同的服务器上一直运行良好。希望其他人会发现这对 Minecraft 或任何其他类似任务有用。

ServerStart.sh

#/bin/bash screen -dmS infitech sh ./start.sh screen -r infitech

start.sh

#/bin/bash while true do java -Xms8192m -Xmx10240m -XX:PermSize=512m -jar server-1.7.10-1403.jar nogui -Dfml.queryResult=confirm echo "Feel Free to CTRL+C to stop the server" sleep 10 done