KnockbackSync

告别延迟引起的击退问题,为所有玩家提供公平稳定的 PvP 战斗,无论他们的延迟如何!

资源图片
# 织物版本目前尚未完全呈现Knockback Sync应有的样子。 # 它是对原版KB的一种改进,但目前不如Bukkit版本。 # 如果希望获得正确的体验,玩家应在进一步通知之前使用Bukkit/Spigot/Paper/Purpur/Pufferfish服务器进行测试。 # 加入Discord获取支持 [![在Modrinth上获取](https://img.shields.io/badge/Get%20it%20on-Modrinth-green?style=for-the-badge&logo=modrinth)](https://modrinth.com/plugin/knockbacksync) 厌倦了不一致的击退效果破坏你的PVP体验吗? 我们的插件会重新计算击退效果,就好像它是客户端完成的,平衡了竞争环境,确保每个玩家都能享受公平的战斗,无论他们的连接质量如何。 Minecraft在确定玩家在服务器上的行动时,不会考虑网络延迟。 这会导致服务器接收到过时信息,这些信息不能反映玩家的客户端位置,从而导致基于连接质量的不同击退效果。 本插件拦截并调整击退计算以匹配客户端上会发生的情况,从而有效缓解了高延迟造成的缺点。 通过同步击退处理,我们确保玩家体验到一致和公平的击退,为所有人提供平衡和具有竞争力的环境。" ## 常见问题解答 (FAQ) ### 这个改动会不会让高延迟玩家处于不利地位? **这取决于玩家。** 有些人可能会注意到差异,如果他们习惯于依赖高延迟来减少击退效果。 对于其他人,这实际上可能是一种优势。 ### 我该如何更改ping偏移量? 打开 `config.yml` 并编辑标有 `ping_offset: 25` 的行。 将25替换为你想要的ping偏移量。 然后键入 ``` /knockbacksync reload ``` 或重启你的服务器。 ### 我应该下载哪个版本? **Alpha** 构建直接从源代码构建,并在更改上传后自动进行。 它们可能并非总是经过测试。 如果你需要一个新特性(例如对你的平台或版本的支持)或希望帮助开发此模组/插件并进行测试,则建议使用这些构建。 **Beta**: 这些构建由开发人员手动测试。 它们不能保证没有回退,并且尚未经过广泛使用以验证其是否正常工作。 如果你不害怕处理一两个破坏性错误,则建议使用这些构建。 **Release** 构建已由更广泛的社区在各种服务器上测试。 这些构建会定期发布,并且可以保证稳定性。 在发布构建中发现的任何问题都将立即修复。 它们适用于需要绝对完美稳定性的大型生产服务器,并且在插件出现错误造成的成本太高的情况下。 那些重视稳定性的用户应该使用此版本。 ## 哪些服务器正在使用此插件? | IP | 位置 | 地区 | Ping偏移量 | spike_threshold | |------------------|------------------------------------------|--------|-------------|-----------------| | `pvparcade.club` | 弗吉尼亚州阿什本,美国 | NA | 20 | 15 | | `stray.gg` | 加利福尼亚州旧金山,美国 | NA | 25 | 20 | | `eu.stray.gg` | 黑森州林堡附近达恩,德国 | EU | 25 | 20 | | `valed.gg` | 黑森州法兰克福,德国 | EU | 25 | 20 | | `eu.catpvp.xyz` | | EU | 25 | 20 | | `as.catpvp.xyz` | | AS | 25 | 20 | | `na.catpvp.xyz` | | NA | 25 | 20 | | `hyperium.pl` | 波兰弗罗茨瓦夫,下西里西亚州 | EU | 25 | 20 | ## 命令 --- ### /knockbacksync ping [目标] **描述:** 此命令允许您检查玩家的ping,包括抖动。 如果未指定目标,则会检查您的ping。 **权限:** * `knockbacksync.ping` (默认情况下对玩家为真) **示例:** * `/knockbacksync ping`: 检查你的ping。 * `/knockbacksync ping Steve`: 检查名为Steve的玩家的ping。 **输出:** * 如果已收到pong数据包: "你的上次ping数据包需要 [ping] 毫秒。 抖动:[jitter] 毫秒。" 或 "[玩家]'s最后ping数据包需要 [ping] 毫秒。 抖动:[jitter] 毫秒。" * 如果未收到pong数据包: "未收到pong数据包。 你的估计ping为 [estimated ping] 毫秒。" 或 "未收到pong数据包。[玩家] 的估计ping为 [estimated ping] 毫秒。" **注释:** * 估计的ping基于玩家报告的平台ping。 * 抖动表示ping随时间的变化量。 --- ### /knockbacksync status [目标] **描述:** 此命令允许您检查玩家或服务器的KnockbackSync状态。 如果未指定目标,则会显示全球状态和您的状态。 **权限:** * `knockbacksync.status.self` (默认情况下对玩家为真): 允许检查你的状态。 * `knockbacksync.status.other` (默认情况下仅对op为真): 允许检查其他玩家的状态。 **示例:** * `/knockbacksync status`: 显示全球状态和你的状态。 * `/knockbacksync status Steve`: 显示名为Steve的玩家的状态。 **输出:** * **全球状态:** "全球KnockbackSync状态:[启用/禁用]" * **玩家状态:** "[玩家]'sKnockbackSync状态:[启用/禁用]" (或者“禁用 (全球切换关闭)”如果全球切换关闭) **注释:** * 如果全球切换关闭,玩家的状态将显示为“禁用”,即使玩家已单独启用了KnockbackSync。 * 该命令显示的提示信息可以在 `config.yml` 文件中配置。 --- ### /knockbacksync toggle [目标] **描述:** 此命令允许你为自己、其他玩家或全局切换KnockbackSync。 **权限:** * `knockbacksync.toggle.self` (默认情况下对玩家为真): 允许为自己切换KnockbackSync。 * `knockbacksync.toggle.other` (默认情况下仅对op为真): 允许为其他玩家切换KnockbackSync。 * `knockbacksync.toggle.global` (默认情况下仅对op为真): 允许全局为服务器切换KnockbackSync。 **示例:** * `/knockbacksync toggle`: 全局切换KnockbackSync(如果拥有权限)或为自己切换。 * `/knockbacksync toggle Steve`: 为名为Steve的玩家切换KnockbackSync。 **输出:** * **全局切换:** 发送一条消息,指示KnockbackSync是否已全局启用或禁用。 这些消息可以在 `config.yml` 文件中配置。 * **玩家切换:** 发送一条消息,指示为指定的玩家是否已启用或禁用KnockbackSync。 这些消息可以在 `config.yml` 文件中配置。 * **无资格玩家:** 如果玩家不符合KnockbackSync的要求(例如,由于权限),将发送一条可配置的消息。 * **KnockbackSync禁用:** 如果全局禁用KnockbackSync并且你试图为玩家切换它,则会发送一条消息,表明KnockbackSync已禁用。 **注释:** * 如果全局禁用KnockbackSync,则尝试为玩家切换它将无效,直到KnockbackSync全局启用。 * 玩家只能在拥有 `knockbacksync.toggle.self` 权限的情况下为自己切换KnockbackSync。 * 操作员可以为其他玩家和全局切换KnockbackSync。 --- ### /knockbacksync reload **描述:** 此命令重新加载KnockbackSync插件的配置文件。 **权限:** * `knockbacksync.reload` (默认情况下仅对op为真) **示例:** * `/knockbacksync reload` **输出:** * 发送一条消息给命令发送者,表明配置已重新加载。 该消息可以在 `config.yml` 文件中配置。 **注释:** * 此命令对于在不重启服务器的情况下应用对配置文件所做的更改非常有用。 --- ### /knockbacksync toggleoffground **描述:** 此命令切换实验性的离地击退同步功能。 **权限:** * `knockbacksync.toggleoffground` (默认情况下仅对op为真) **示例:** * `/knockbacksync toggleoffground` **输出:** * 发送一条消息,指示实验性的离地击退同步是否已启用或禁用。 这些消息可以在 `config.yml` 文件中配置。 **注释:** * **此命令目前不做任何事情,因为离地同步尚未实现。** * 此功能是实验性的,可能无法按预期工作。 ## 许可 GNU通用公共许可证v3.0或更高版本 请参阅[LICENSE](LICENSE)以查看全文。