KaTpa 跨服传送
KaProxy 让位于不同子服的玩家继续使用熟悉的 TPA 和 TPAHERE 流程。
使用条件#
- KaProxy 的 Tpa 模块已启用。
- 所有参与跨服传送的子服都安装兼容的 KaTpa。
- 各子服的 KaTpa 代理功能已启用,例如
proxy.enabled: true。 - 所有玩家通过同一个 Velocity 或 BungeeCord 代理进入子服。
建议让各子服 KaTpa 使用同一个 MySQL 数据库,以便共享玩家设置、屏蔽名单和其他持久数据。
玩家使用流程#
TPA#
- 玩家 A 向另一子服的玩家 B 发送 TPA 请求。
- 玩家 B 接受请求。
- 玩家 A 在当前子服完成吟唱。
- 代理将玩家 A 切换到玩家 B 所在子服。
- 目标子服将玩家 A 传送到玩家 B 的位置。
TPAHERE#
- 玩家 A 邀请另一子服的玩家 B 前往自己身边。
- 玩家 B 接受请求并完成吟唱。
- 代理将玩家 B 切换到玩家 A 所在子服。
- 目标子服将玩家 B 传送到玩家 A 的位置。
实际命令、提示文字和吟唱规则由子服上的 KaTpa 配置决定。
目标玩家切服#
modules:
tpa:
follow-target-server: true
启用时,如果目标玩家在传送完成前切换到另一个子服,旅行者会尝试前往目标玩家的新子服。
关闭时,目标玩家离开原定子服会取消本次事务。适合希望传送目标在请求期间保持固定的网络。
超时与冷却#
KaProxy 会限制子服提交的请求时长和冷却,防止不同子服使用差异过大的设置。
- 请求未被接受时,使用
request-timeout-min-seconds和request-timeout-max-seconds。 - 请求接受后,整个吟唱、切服和到达过程受
transaction-timeout-seconds限制。 - 跨服请求冷却不会超过
cooldown-max-seconds。
建议代理范围略大于或等于各子服 KaTpa 的对应设置。
请求被取消的常见情况#
- 请求者或目标玩家离开代理。
- 请求在有效期内未被处理。
- 吟唱因移动、受伤或其他子服规则中断。
- 目标子服暂时不可用。
- 目标玩家切服,而
follow-target-server已关闭。 - 请求接受后未能在事务超时前完成。
- 管理员重载配置并关闭了 Tpa 模块。
这些情况不会留下永久请求;玩家可以在问题解决后重新发送。