Luminol-Core/docs/optimizations.md
2026-06-30 18:32:29 +08:00

7.1 KiB
Raw Blame History

优化模块配置

位置luminol_config/optimizations/*.toml。每个模块一段逐条说明。


accelerated_collision — AR 碰撞加速(默认开)

native 广相位替换原版昂贵的实体碰撞空间查询。

选项 默认 说明
enabled true 是否启用碰撞加速
backend FFM 后端AUTO/GPU/FFM/JAVA/VANILLA。FFM 最快,失败自动回退
max_collision 32 每个实体每 tick 最多处理的碰撞交互数(削峰)
grid_size 1 空间哈希网格的格子边长(格)
density_window 4 密度平滑窗口tick
density_threshold 16 局部实体密度达到此值才走加速,稀疏走原版(零行为偏差)
max_threads 1 FFM 后端最大工作线程0=所有 CPU

游戏内:/nekobackend set <后端> 热切换。


entity_limiter — 每区块实体上限 + 溢出清扫(默认关)

限制每区块同类实体数量,超出生成时拦截,并周期清扫溢出。生成闸门用 per-chunk/per-tick 计数缓存,实体爆发不会 O(N^2) 卡顿v1.0.6)。

选项 默认 说明
enabled false 是否启用
creatures 200 每区块生物上限
items 100 每区块掉落物上限
vehicles 50 每区块载具(船/矿车)上限
projectiles 50 每区块投射物上限
whitelist ARMOR_STAND,ITEM_FRAME,GLOW_ITEM_FRAME 豁免实体类型(不计数、不清除)
overflow_enabled true 是否启用周期溢出清扫
overflow_interval_seconds 30 清扫间隔(秒)
overflow_multiplier 1.5 清扫阈值 = 上限 × 此值(超出才清)
overflow_creatures true 清扫是否包含生物
overflow_items true 清扫是否包含掉落物
overflow_vehicles false 清扫是否包含载具
overflow_projectiles true 清扫是否包含投射物
spare_named true 跳过自定义命名(改名牌)的实体
overflow_max_per_sweep 2000 单次清扫最多移除数削峰0=无限

entity_cull — 视锥/距离实体剔除(默认关)

玩家视野锥外、且超出近距豁免半径的实体不发包给该客户端,省带宽和客户端压力。转身即恢复,近距离始终可见。

选项 默认 说明
enabled false 是否启用
half_fov_degrees 70 视野锥半角。70≈140 度锥,比客户端 FOV 宽,留转身余量
near_radius 16 此半径内的实体永远发送,防贴脸突现
cull_players false 是否也剔除其他玩家PvP 默认不剔)
cull_vehicles false 是否剔除船/矿车(默认不剔)
vertical_culling false 是否也按俯仰角(垂直)剔除(默认否)

entity_velocity_packet — ESU 生物 velocity 包降频(默认开)

走路的怪不再每 tick 发速度包。客户端靠位置包插值velocity 只为平滑,微小变化无感。投射物/玩家不受影响。

选项 默认 说明
enabled true 是否启用
min_delta_sqr 0.003 速度变化平方小于此值则跳过。0=只用间隔限制
min_interval_ticks 3 同一怪两个速度包的最小间隔 tick非冲击时。3≈最多 7 包/秒
impulse_delta_sqr 0.04 速度变化平方≥此值视为冲击(击退/爆炸/坠落),立即发

mob_ai_throttle — 远怪 AI 降频(默认关)

离玩家越远的怪,寻路/索敌跑得越稀。复用 EAR 非活跃时长信号玩家靠近立即恢复。专治惊变100天/刷怪海。移动控制仍每 tick不抽搐。

选项 默认 说明
enabled false 是否启用
inactive_ticks_tier1 20 无玩家附近超过此 tick 进入一级降频(约 1 秒)
tier1_interval 2 一级:每 2 tick 跑一次完整 AI
inactive_ticks_tier2 100 进入二级降频阈值(约 5 秒)
tier2_interval 4 二级:每 4 tick 一次
inactive_ticks_tier3 400 进入三级(最深)降频阈值(约 20 秒)
tier3_interval 8 三级:每 8 tick 一次。越大越省但反应越慢

mob_ai_reducer — 精简生物 AI 目标(默认开)

裁剪生物的 AI goal/target 选择器,保留必要行为。

选项 默认 说明
enabled true 是否启用
animals true 是否精简动物 AI
monsters false 是否精简怪物 AI默认否怪物要保持攻击性
villagers false 是否精简村民 AI默认否村民交易/补货依赖 AI
disable_collides false 是否禁用被精简实体的碰撞推挤
silent false 是否让被精简实体静音
keep_dedicated true 保留专用/关键 goal
ai_list_mode false 白名单模式(只保留 ai_goal_list 里的 goal
ai_goal_list RandomLookAroundGoal,FloatGoal 白名单模式下保留的 goal 类名
breed_enabled true 是否保留繁殖行为
breed_range 8.0 繁殖触发检测半径
tempt_enabled true 是否保留被食物吸引tempt行为
tempt_range 10.0 tempt 触发半径
tempt_trigger_both_hands true 双手持食物都能触发 tempt

afk_entity_tracking — 挂机实体跟踪降频(默认关)

全员挂机且实体较远时降低实体跟踪更新频率;有人活动立即恢复。

选项 默认 说明
enabled false 是否启用
afk_threshold_seconds 60 玩家无操作超过此秒数判定为挂机
always_track_radius 7.0 此半径内的实体始终全速跟踪
update_interval_ticks 5 降频后实体更新间隔tick

explosion_optimizer — 爆炸优化(默认关)

限制爆炸威力、防连锁爆炸、可选管理模式(大爆炸只模拟效果不真算)。

选项 默认 说明
enabled false 是否启用
yield_limit_enabled true 是否限制爆炸威力上限
yield_limit_default 4.0 默认威力上限
yield_limit_per_type END_CRYSTAL=6.0, WITHER_SKULL=1.0 按爆炸源类型单独设上限
anti_chain_enabled true 是否防连锁爆炸
anti_chain_radius 8.0 连锁检测半径
anti_chain_cooldown_ticks 10 连锁冷却时长tick
management_enabled false 管理模式:超阈值的大爆炸只模拟效果不真实破坏
management_threshold 6.0 进入管理模式的威力阈值
simulate_damage true 管理模式下是否仍对实体造成伤害
simulate_knockback true 管理模式下是否仍施加击退
simulate_sound true 管理模式下是否仍播放爆炸音效

skip_zero_delta_packets — ESU 零位移包裁剪(默认开)

跳过完全没变化的实体移动/旋转包(零信息冗余包)。

选项 默认 说明
skip_zero_move true 跳过零位移的相对移动包
skip_zero_rotation true 跳过旋转未变的旋转包
skip_zero_move_and_rotation true 跳过位移和旋转都未变的复合包