输入至少两个字符

KaTpa 跨服传送

文档版本: v1.0.0

KaProxy 让位于不同子服的玩家继续使用熟悉的 TPA 和 TPAHERE 流程。

使用条件#

  • KaProxy 的 Tpa 模块已启用。
  • 所有参与跨服传送的子服都安装兼容的 KaTpa。
  • 各子服的 KaTpa 代理功能已启用,例如 proxy.enabled: true
  • 所有玩家通过同一个 Velocity 或 BungeeCord 代理进入子服。

建议让各子服 KaTpa 使用同一个 MySQL 数据库,以便共享玩家设置、屏蔽名单和其他持久数据。

玩家使用流程#

TPA#

  1. 玩家 A 向另一子服的玩家 B 发送 TPA 请求。
  2. 玩家 B 接受请求。
  3. 玩家 A 在当前子服完成吟唱。
  4. 代理将玩家 A 切换到玩家 B 所在子服。
  5. 目标子服将玩家 A 传送到玩家 B 的位置。

TPAHERE#

  1. 玩家 A 邀请另一子服的玩家 B 前往自己身边。
  2. 玩家 B 接受请求并完成吟唱。
  3. 代理将玩家 B 切换到玩家 A 所在子服。
  4. 目标子服将玩家 B 传送到玩家 A 的位置。

实际命令、提示文字和吟唱规则由子服上的 KaTpa 配置决定。

目标玩家切服#

modules:
  tpa:
    follow-target-server: true

启用时,如果目标玩家在传送完成前切换到另一个子服,旅行者会尝试前往目标玩家的新子服。

关闭时,目标玩家离开原定子服会取消本次事务。适合希望传送目标在请求期间保持固定的网络。

超时与冷却#

KaProxy 会限制子服提交的请求时长和冷却,防止不同子服使用差异过大的设置。

  • 请求未被接受时,使用 request-timeout-min-secondsrequest-timeout-max-seconds
  • 请求接受后,整个吟唱、切服和到达过程受 transaction-timeout-seconds 限制。
  • 跨服请求冷却不会超过 cooldown-max-seconds

建议代理范围略大于或等于各子服 KaTpa 的对应设置。

请求被取消的常见情况#

  • 请求者或目标玩家离开代理。
  • 请求在有效期内未被处理。
  • 吟唱因移动、受伤或其他子服规则中断。
  • 目标子服暂时不可用。
  • 目标玩家切服,而 follow-target-server 已关闭。
  • 请求接受后未能在事务超时前完成。
  • 管理员重载配置并关闭了 Tpa 模块。

这些情况不会留下永久请求;玩家可以在问题解决后重新发送。