Files
fuwuduan/autorestart.sh

48 lines
1.1 KiB
Bash
Raw Normal View History

2026-01-19 12:28:32 +00:00
#!/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