48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# 服务器目录
|
||
SERVER_DIR="/mcserver/luomuqv/fuwuduan"
|
||
# 服务器启动脚本
|
||
START_SCRIPT="run.sh"
|
||
# 检查间隔(秒)
|
||
CHECK_INTERVAL=10
|
||
# 最大重启次数(0表示无限制)
|
||
MAX_RESTARTS=0
|
||
# 重启计数
|
||
RESTART_COUNT=0
|
||
|
||
echo "Minecraft服务器自动重启脚本启动..."
|
||
echo "服务器目录: $SERVER_DIR"
|
||
echo "监控脚本: $START_SCRIPT"
|
||
|
||
cd "$SERVER_DIR" || exit 1
|
||
|
||
while true; do
|
||
echo "$(date): 启动Minecraft服务器..."
|
||
|
||
# 启动服务器
|
||
./"$START_SCRIPT"
|
||
|
||
# 记录服务器退出
|
||
echo "$(date): 服务器已停止,退出代码: $?"
|
||
|
||
# 检查是否达到最大重启次数
|
||
if [ $MAX_RESTARTS -ne 0 ]; then
|
||
RESTART_COUNT=$((RESTART_COUNT + 1))
|
||
echo "重启次数: $RESTART_COUNT/$MAX_RESTARTS"
|
||
|
||
if [ $RESTART_COUNT -ge $MAX_RESTARTS ]; then
|
||
echo "已达到最大重启次数,停止脚本"
|
||
break
|
||
fi
|
||
fi
|
||
|
||
# 等待一段时间后重启
|
||
echo "等待 $CHECK_INTERVAL 秒后重启..."
|
||
sleep $CHECK_INTERVAL
|
||
|
||
# 可选:清理可能残留的进程
|
||
pkill -f "java.*forge" 2>/dev/null
|
||
sleep 2
|
||
done
|