You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24上Minecraft 1.21服务器崩溃自动重启Bash脚本实现

Ubuntu 24 下 Minecraft 1.21 服务器崩溃自动重启方案

一、编写自动重启脚本

通过循环包裹服务器启动命令,实现崩溃后自动重启的逻辑:

  1. 创建脚本文件(比如mc-auto-restart.sh),写入以下内容:
#!/bin/bash
# Minecraft 1.21 服务器自动重启脚本

# 配置项,请根据实际环境修改
SERVER_DIR="/home/your-user/minecraft-server"  # 服务器根目录
JAVA_BIN="/usr/bin/java"  # Java可执行文件路径
JVM_OPTS="-Xmx8G -Xms4G"  # JVM参数,内存大小按需调整
SERVER_JAR="server.jar"  # 服务器jar包名称

# 切换到服务器目录,失败则退出
cd "$SERVER_DIR" || { echo "无法进入服务器目录,退出"; exit 1; }

# 循环启动服务器
while true; do
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 启动 Minecraft 服务器..."
    $JAVA_BIN $JVM_OPTS -jar "$SERVER_JAR" nogui
    # 服务器退出后执行重启逻辑
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] 服务器已停止,5秒后重启..."
    sleep 5
done
  1. 给脚本添加执行权限:
chmod +x mc-auto-restart.sh

二、让脚本后台持久运行

方法1:使用nohup(无需额外安装工具)

执行命令让脚本脱离终端后台运行,同时将日志输出到文件:

nohup ./mc-auto-restart.sh > server-log.txt 2>&1 &
  • 日志会写入server-log.txt,可随时查看服务器运行状态
  • 关闭终端后脚本依然保持运行

方法2:使用screen(支持随时重新连接控制台)

  1. 安装screen:
sudo apt update && sudo apt install screen -y
  1. 创建新的screen会话:
screen -S mc-server
  1. 在会话内运行脚本:
./mc-auto-restart.sh
  1. 按Ctrl+A+D组合键脱离会话,后续可通过screen -r mc-server重新连接控制台

三、可选:设置开机自启(systemd服务)

配置systemd服务实现开机自动启动,并持续监控服务状态:

  1. 创建服务文件/etc/systemd/system/mc-server.service:
[Unit]
Description=Minecraft 1.21 自动重启服务
After=network.target

[Service]
User=your-user  # 替换为运行服务器的用户名
WorkingDirectory=/home/your-user/minecraft-server  # 替换为服务器目录
ExecStart=/home/your-user/minecraft-server/mc-auto-restart.sh  # 替换为脚本绝对路径
Restart=always  # 服务异常退出时自动重启
RestartSec=5  # 重启间隔时间

[Install]
WantedBy=multi-user.target
  1. 重新加载systemd配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable mc-server
sudo systemctl start mc-server
  • 查看服务状态:sudo systemctl status mc-server
  • 停止服务:sudo systemctl stop mc-server

内容的提问来源于stack exchange,提问作者amir sobhan ahmadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:18:16