MineTools我的世界 Java 版工具站

我的世界服务器启动参数生成器

选好内存和服务端类型,直接拿走一份可用的启动脚本。参数基于业界通用的 Aikar’s Flags,并按内存大小自动切换 G1GC 配置。

启动脚本 start.bat

      

使用方法

仅 JVM 参数


        
      

1. 服务端类型

2. 内存分配

6 GB
1G8G16G24G32G

参考:10 人以内纯生存 4GB;20~40 人 Paper 服 6~8GB;整合包模组服 8~12GB。不要把物理内存全部分配给服务端,至少留 1~2GB 给系统。

3. 脚本选项

关键参数说明

参数作用
-Xms / -Xmx堆内存的初始值与最大值。设成相同数值可以避免运行中反复扩容造成的卡顿。
-XX:+UseG1GC使用 G1 垃圾回收器,Minecraft 服务端在中等堆大小下的最佳选择。
-XX:MaxGCPauseMillis=200期望的单次 GC 最大停顿时间,200ms 是延迟与吞吐的平衡点。
-XX:+AlwaysPreTouch启动时一次性向系统申请全部内存,启动稍慢但运行更稳。
-XX:+DisableExplicitGC忽略插件里手写的 System.gc(),避免被劣质插件拖累。
--add-modules=jdk.incubator.vector开启 SIMD 向量计算模块,Paper 的部分运算会更快。

Java 版本对应表

Minecraft 版本最低 Java 版本
26.1 及以上Java 25
1.20.5 ~ 1.21.11Java 21
1.18 ~ 1.20.4Java 17
1.17.xJava 16
1.16.5 及以下Java 8

参数之外还能做什么

常见问题

Aikar’s Flags 到底做了什么?

它是一组针对 Minecraft 服务端调优过的 G1 垃圾回收参数,核心思路是让 GC 更频繁但每次更短,把「几秒钟一次的大卡顿」变成「感知不到的小停顿」。同时通过 -Xms = -Xmx 固定堆大小、AlwaysPreTouch 预分配内存,避免运行中反复申请内存造成的抖动。

内存是不是给得越多越好?

不是。堆越大,一次 GC 要扫描的对象越多,反而可能更卡;而且操作系统还需要内存来缓存区块文件。一般 20 人以内的生存服 6~8GB 足够,模组服 8~12GB,超过 16GB 收益已经很小。务必给系统留 1~2GB

26.2 需要什么版本的 Java?

26.1 起最低要求 Java 25;1.20.5 ~ 1.21.x 需要 Java 21;1.18 ~ 1.20.4 需要 Java 17。Java 版本过低会直接启动失败并提示 UnsupportedClassVersionError。--add-modules=jdk.incubator.vector 这项能让 Paper 的部分计算走 SIMD,Java 17+ 都可以开。

为什么我的服务器还是卡?

启动参数只能解决 GC 造成的卡顿。真正的大头通常是:实体过多(刷怪塔、掉落物)、区块加载过多(视距太大、传送频繁)、插件卡顿。建议装 Spark 用 /spark profiler 抓一份报告,再决定优化方向。把 view-distance 降到 6~8、simulation-distance 降到 4~6 往往立竿见影。