跳转到内容

通用优化参数

注意在 Windows 上使用大页,必须要以管理员启动

当然,在动手前,让我们先试一试是不是系统已经支持了这项功能,在控制台执行此命令

Terminal window
java -Xlog:gc+init -XX:+UseLargePages -Xmx1g -version

如果出现了以下字样,那么说明不完全兼容:

UseLargePages disabled, no large pages configured and available on the system.

那么就说明当前系统并不支持大页,不过不要急,可以试一下这一行命令:

Terminal window
java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version

如果看到 Large Page Support: Enabled (Transparent) ,表示你的系统支持透明大页

但是如果你依然不支持或者想要追求极致性能,可以查看 内核优化

如果支持 LargePages,加上此参数

-XX:+UseLargePages -XX:LargePageSizeInBytes=2m

如果支持 TransparentHugePages,加上此参数

-XX:+UseTransparentHugePages

如果你使用的是 Pufferfish 的分支 (Purpur,Leaf,Leaves,Gale),你可以添加此参数

--add-modules=jdk.incubator.vector

默认的 SpigotLibraryLoader 下载源或插件使用 PaperLibraryLoader 添加的 Maven 中心仓库下载源在国内访问很慢,

如果你使用的是 Leaf,你可以添加参数使用国内下载源:

-DLeaf.library-download-repo=https://maven.aliyun.com/repository/public

如果你使用的是 Paper 1.21.6 (及其分支) 之后的版本,可以使用以下系统属性配置 Maven 中心仓库镜像:

-Dorg.bukkit.plugin.java.LibraryLoader.centralURL=https://maven.aliyun.com/repository/central

或者设置环境变量(优先级更高):

Terminal window
# Linux/macOS
export PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central
# Windows (PowerShell)
$env:PAPER_DEFAULT_CENTRAL_REPOSITORY="https://maven.aliyun.com/repository/central"
# Windows (CMD)
set PAPER_DEFAULT_CENTRAL_REPOSITORY=https://maven.aliyun.com/repository/central

如果不是上述核心,你可以使用 Spigot Library Booster

  • 阿里云 Maven 中心仓库: https://maven.aliyun.com/repository/central
  • 阿里云公共仓库: https://maven.aliyun.com/repository/public
  • 华为云 Maven 中心仓库: https://repo.huaweicloud.com/repository/maven/
  • 腾讯云 Maven 中心仓库: https://mirrors.cloud.tencent.com/nexus/repository/maven-public/

防止 乱码

-Dfile.encoding=UTF-8

如果仍然乱码,可以添加运行:

Terminal window
chcp 65001 # for Windows

(仅适合 Leaf 或者 Gale)

-Dgale.log.warning.root=false -Dgale.log.warning.offline.mode=false

(仅适合 Linux 和 macOS 系统,在 Windows 上无效) (原版 Minecraft 仅在个人信息公钥签名中使用到 SecureRandom)

-Djava.security.egd=file:/dev/urandom

(仅适合 Java17 及以上)

-Xlog:async

异步输出 Java 统一日志系统 (Unified Logging) 打印的 JVM 调试信息

仅在使用 -Xlog:gc 等 flag 开启 JVM 调试信息打印的时候发挥作用

(仅适合 Paper 和 Paper Fork)

-Dpaper.playerconnection.keepalive=60

如果你的网络不好,可以适当延长 keepalive 时间,打开alternate-keepalive

禁用文件夹遍历和符号链接验证

Section titled “禁用文件夹遍历和符号链接验证”

(仅适合 Paper 和 Paper Fork)

-Dpaper.disableWorldSymlinkValidation=true

在加载世界时禁用文件夹遍历和符号链接验证。显著提高大型世界的加载速度