#!/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