-
Notifications
You must be signed in to change notification settings - Fork 1
5 6 RTP
中文版本 | English version
这个模块会在配置半径内查找随机目标点,并尝试进行安全传送。
它常用于探索型、生存型或活动型服务器,用来打散玩家位置,或者提供一种不依赖固定点位的移动方式。
当服务器希望玩家离开主城后自行探索地图,或者希望提供一种相对受控的随机移动方式时,rtp 会很合适。
/rtp主要相关的配置有 rtp.enabled、rtp.maxRadius、rtp.minRadius、teleporting.delay 和 teleporting.cooldown。
rtp.maxRadius 和 rtp.minRadius 共同决定随机范围,两者的最小值都是 1。如果系统始终找不到可用的目标点,命令就会失败。长距离随机探索由独立的 5.8 Wild 模块 提供。
随机传送并不是”随便找个点就过去”,而是会先尝试在给定半径里找到可站立、可落地的位置。因此地形越复杂、限制越多,失败概率通常也会更高。真正执行传送时,这个模块同样会遵守全局 delay 和 cooldown 配置。RTP 使用独立的随机落点安全检查,不受 teleporting.defaultSafetyCheck 或目标传送预加载开关影响。
rtp.maxRadius 的硬上限是 128。这个上限是有意偏保守的:RTP 需要在随机范围内读取候选落点附近的方块信息并判断安全性,半径过大时更容易把检查推到玩家周围实际未准备好的区域,增加隐性区块加载和主线程压力。同时,如果触发了并行 RTP 路径,在阻塞主线程的状态下触发区块加载可能导致死锁。因此,如果你的服务器模拟距离小于或等于 5,需要手动同步下调 RTP 最大半径以避免此问题。
如果你希望 RTP 更分散,优先考虑服务器的实际加载距离、玩家所在区域和地形条件,而不是盲目提高半径。当前上限的目标是让随机传送保持在比较可控的范围内。
如果玩家经常反馈 /rtp 失败,优先检查 rtp.maxRadius 和 rtp.minRadius 是否设置得过小,或者当前世界环境是否让可用落点太少。对于极端地形或高限制区域,这个命令本来就更难找到合适的位置。