为什么需要 .bat 文件?
.bat 是 Windows 的批处理文件,它能让你通过双击一个文件,自动执行一系列命令,

- 进入服务器文件目录。
- 启动 Minecraft 服务器。
- 自动分配服务器所需的内存。
- 在窗口关闭时自动重启服务器。
这比每次手动在命令提示符里输入命令要方便得多。
前提条件:安装 Java (JDK)
在运行任何脚本之前,请确保你的电脑已经安装了 Java,你可以从 Oracle 官网 或 Adoptium (Eclipse Temurin) 下载并安装 JDK 17 (Minecraft 1.17+ 的推荐版本)。
如何检查 Java 是否安装?
- 按
Win + R,输入cmd,打开命令提示符。 - 输入
java -version,然后按回车。 - 如果看到版本号(如
java version "17.0.2"),说明已安装,如果提示“不是内部或外部命令...”,说明未安装或环境变量未配置好。
最简单的启动脚本
这个脚本只做一件事:启动你的服务器。

步骤:
- 在你的服务器文件夹里(
D:\Minecraft_Server),新建一个文本文档。 - 将下面的代码复制进去。
- 将文件另存为
start.bat,注意保存类型要选“所有文件”,而不是.txt。
@echo offMinecraft Server echo Starting Minecraft Server... java -Xms1G -Xmx1G -jar paper.jar nogui pause
代码解释:
@echo off: 关闭命令回显,让窗口看起来更整洁,Minecraft Server`: 设置窗口标题,方便识别。echo Starting Minecraft Server...: 在启动前打印一行提示信息。java: 启动 Java 程序。-Xms1G: 设置 初始堆内存 为 1GB。G代表 GB。-Xmx1G: 设置 最大堆内存 为 1GB。这是最重要的参数! 根据你的服务器需求和电脑内存来调整。-Xmx4G4GB。-jar paper.jar: 指定要运行的.jar文件。请将paper.jar替换成你自己的服务器核心文件名,如spigot.jar,purpur.jar等。nogui: 以无图形界面模式启动,性能更好,也方便在批处理窗口中查看和控制。pause: 在程序结束后暂停,让你能看到最后的输出信息,防止窗口一闪而过。
带控制台和自动重启功能的脚本(强烈推荐)
这个脚本功能更强大,它允许你在同一个窗口里输入服务器控制台命令,并且在服务器意外关闭后会自动重启。
步骤:

- 在你的服务器文件夹里,新建一个文本文档。
- 将下面的代码复制进去。
- 将文件另存为
run.bat或start.bat。
@echo offMinecraft Server Console :start echo Server is starting... java -Xms1G -Xmx1G -jar paper.jar nogui echo. echo Server has closed. Restarting in 5 seconds... timeout /t 5 /nobreak >nul goto start
代码解释:
start: 这是一个,是goto命令跳转的目标点。goto start: 这是一个跳转命令,当上面的java命令执行完毕(即服务器关闭)后,它会跳回到start标签,形成一个无限循环,从而实现自动重启。timeout /t 5 /nobreak >nul: 服务器关闭后,等待 5 秒再重启。>nul是为了隐藏timeout命令自身的输出,保持窗口整洁。- 如何停止服务器?
- 在这个窗口中输入
stop命令,服务器会正常关闭,然后脚本会进入重启等待。 - 要彻底停止脚本(不再重启),请在窗口中按
Ctrl + C,系统会询问你是否终止批处理作业,输入Y并回车即可。
- 在这个窗口中输入
带服务器状态检查和更优重启的脚本
这个脚本更智能一些,它会检查服务器是否因为崩溃而关闭,并给出不同的提示。
步骤:
- 在你的服务器文件夹里,新建一个文本文档。
- 将下面的代码复制进去。
- 将文件另存为
run.bat。
@echo off
setlocal enabledelayedexpansion
Minecraft Server Console
:: --- 服务器配置 ---
set "SERVER_JAR=paper.jar"
set "INITIAL_MEM=1G"
set "MAX_MEM=4G"
:: -----------------
:start
echo [%time%] Server is starting...
echo.
java -Xms%INITIAL_MEM% -Xmx%MAX_MEM% -jar %SERVER_JAR% nogui
set "exit_code=%errorlevel%"
if %exit_code% equ 0 (
echo.
echo [%time%] Server was shut down normally. Restarting...
) else (
echo.
echo [%time%] Server crashed with exit code %exit_code%. Restarting...
)
echo.
echo Waiting 10 seconds before restarting...
timeout /t 10 /nobreak >nul
goto start
代码解释:
setlocal enabledelayedexpansion: 启用延迟变量扩展,这在循环和判断中很有用。set "SERVER_JAR=...": 将服务器核心文件名定义为一个变量,方便修改。set "INITIAL_MEM=..."和set "MAX_MEM=...": 同样,将内存定义为变量。set "exit_code=%errorlevel%":errorlevel是上一个命令的退出码。0代表正常退出(你输入了stop),非0代表异常崩溃(比如内存不足或插件错误)。if %exit_code% equ 0 (...) else (...): 这是一个判断语句,如果退出码是0,就打印“正常关闭”的提示;否则,打印“崩溃”的提示,让你知道服务器出问题了。
如何使用这些脚本?
- 放置文件:将你选择的
.bat文件和你的服务器核心文件(如paper.jar)放在同一个文件夹里。 - 首次启动:双击
.bat文件,它会首次下载服务器所需的文件(如libraries文件夹和eula.txt)。 - 同意服务条款:
- 首次启动失败后,文件夹里会生成一个
eula.txt文件。 - 用记事本打开它,将
eula=false改为eula=true。 - 保存后,再次双击
.bat文件,服务器就会正式启动了。
- 首次启动失败后,文件夹里会生成一个
- 管理服务器:
- 在
.bat窗口中,你可以输入所有标准的 Minecraft 服务器命令,如op <玩家名>,ban <玩家名>,save-all,stop等。 - 按
Ctrl + C可以强制停止整个批处理脚本。
- 在
常见问题与优化
-
内存不足怎么办?
- 确保
-Xmx的值不要超过你电脑物理内存的一半,你有 8GB 内存,-Xmx设置为 3G 或 4G 比较安全。 - 如果你使用集成显卡(CPU 自带的显卡),建议再减少 1G 的内存分配,因为系统也需要内存。
- 确保
-
如何更新服务器核心?
- 下载新的
.jar文件。 - 备份你的世界文件夹(
world)和plugins文件夹! - 用新的
.jar文件覆盖掉旧的.jar文件。 - 重新运行
.bat文件即可。
- 下载新的
-
如何添加启动参数(JVM Flags)?
- 在
java -jar ...这一行,-Xms和-XmxJVM 参数,你还可以添加其他参数来优化性能。 - 添加
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1可以启用 G1 垃圾回收器,对大服务器性能更好。 - 警告:不要随意添加不了解的参数,可能会导致服务器无法启动。
- 在
希望这份详细的指南能帮助你成功搭建和管理你的 Minecraft 服务器!
