服务器优化器

服务器优化器

优化器是一款轻量级、全自动的性能插件,能在负载下保持服务器响应速度,同时保障玩家体验。

实用

Hytaled Optimizer

一个轻量级、全自动的性能优化插件,可在负载下保持服务器流畅,同时保留玩家体验。它根据 TPS、内存和玩家活动信号实时调整视距、每玩家模拟范围、NPC 人工智能滴答速率和闲置玩家行为。系统能快速响应峰值,并仅在条件稳定时恢复质量。

主要特性

智能全局视距控制

在低 TPS 或高堆内存使用率时动态降低全局视距,仅在满足严格的恢复条件(时间延迟 + 玩家减少 + 稳定的 TPS/堆内存)后恢复。防止振荡和卡顿峰值。

每玩家模拟(HOT)半径

当 TPS 下降时自动降低每玩家模拟范围,以减少高热点区域的实体处理成本。

NPC 的人工智能 LOD

根据距离和可见性调整 NPC 滴答速率,并带有安全钳制以避免过度滴答。适用于拥有大量实体的服务器。通过启发式检测(资源来源)识别自定义实体,防止自定义生成的实体冻结/重置。

闲置玩家优化

降低非活跃玩家的视距/热点/最小加载半径,减少内存和 CPU 使用率,同时保持活跃玩家不受影响。

分析器与诊断

内置分析命令,支持 JSON/文本导出以供分析。可选的具有冷却时间的事件日志,防止刷屏。

自动生成与自动修复配置

缺失键会自动添加,无效配置会安全重置,默认值会强制执行,无需重启服务器。

基于堆内存的自动垃圾收集

在压力下自动触发垃圾收集,并设有安全的最小延迟。

命令

  • /optimizer status

    显示所有当前生效的设置和所有活跃的优化范围。

  • /optimizer reload

    重新加载配置并立即应用更改(无需重启)。

  • /optimizer gc

    强制运行一次垃圾收集周期(仅限 OP)。

  • /optimizer tps

    显示当前世界和所有其他世界的彩色编码 TPS 报告。

  • /optimizer profile [持续时间]

    启动一个分析窗口(20-60 秒)。将详细报告保存到 /mods/Hytaled_Optimizer/profiles/ 目录。

控制台拥有全部权限。玩家权限通过标准服务器权限节点处理。

安装

1)将 Optimizer.jar 放入 /mods 目录 2)启动服务器 3)配置文件将在 /mods/Hytaled_Optimizer/config.json 生成 4)编辑配置并运行 /optimizer reload(或重启服务器)

配置指南(默认值)

LoopIntervalSeconds

  • 优化器评估 TPS/堆内存并做出决策的频率
  • 默认值:3(推荐 1-3)

ViewRadius

  • 启用:true
  • 广播更改:true
  • 最小值/最大值:5 / 14
  • 减少系数:0.75
  • 调整冷却秒数:5
  • 恢复延迟秒数:900(15 分钟)
  • 恢复玩家减少百分比:0.20(20%)
  • TPS 低阈值:15.0
  • TPS 高阈值:25.0
  • 堆内存压力高阈值:0.90
  • 堆内存压力低阈值:0.80

Simulation(每玩家 HOT 半径)

  • 启用:true
  • 最小值/最大值:5 / 11
  • 减少步长:2
  • 恢复步长:1
  • TPS 低阈值:15.0
  • TPS 高阈值:20.0

PerPlayerDistance(热点控制)

  • 启用:true
  • 最小值/最大值:5 / 11
  • 最小加载偏移:1
  • 热点 TPS 低阈值:15.0
  • 热点减少量:2
  • 冷却秒数:5

AiLod

  • 启用:true
  • 应用于自定义 NPC:false
  • 更新间隔毫秒数:150
  • 使用可见性:true
  • 近距离:40.0
  • 中距离:80.0
  • 远距离:120.0
  • 中距离滴答秒数:0.2
  • 远距离滴答秒数:0.5
  • 极远距离滴答秒数:1.0
  • 最小滴答秒数:0.05

Logging

  • 启用事件日志:true
  • 事件日志冷却秒数:30

IdlePlayer

  • 启用:true
  • 闲置超时秒数:90
  • 检查间隔秒数:10
  • 减少视距:true(闲置视距:4)
  • 减少热点半径:true(闲置热点半径:3)
  • 减少最小加载半径:true(闲置最小加载半径:2)
  • 清除世界地图缓存:true

Profiler

  • 启用:true
  • 自动窗口持续时间秒数:60
  • 分析持续时间秒数:30
  • 导出 JSON:true

DespawnAccelerator

  • 启用:false
  • 运行间隔秒数:10
  • 非活跃秒数:30
  • 无玩家半径方块数:64.0
  • 减少剩余因子:0.5
  • 最少剩余秒数:10
  • 应用于抛射物:true
  • 应用于掉落物:true
  • 应用于方块实体:true

AutoGC

  • 启用:true
  • 堆内存使用触发阈值:0.90
  • 连续检查次数:3
  • 最小间隔秒数:900

注意事项

  • 恢复机制故意设置得较为严格,以防止振荡和卡顿峰值。
  • 所有阈值和时间设置均可配置。
  • 默认值为高人口服务器调整,旨在最大化服务器利用率,并仅在真正需要时进行优化。