The fabric version currently does not fully represent what Knockback Sync should look like.
It is an improvement upon Vanilla KB but it is currentlly inferior to the bukkit version
Players who want the proper experience should test using a Bukkit/Spigot/Paper/Purpur/Pufferfish + Folia server instead until further notice.
Tired of inconsistent knockback ruining your PvP experience? Our plugin recalculates knockback as if it were done clientside, leveling the playing field and ensuring every player enjoys a fair fight, no matter their connection quality.
Minecraft doesn’t factor in network latency when determining a player's actions on the server. This causes the server to receive outdated information that doesn’t reflect the player's clientside position, leading to varying knockback effects based on connection quality.
This plugin intercepts and adjusts knockback calculations to match what would occur clientside, effectively mitigating the disadvantages caused by high latency. By synchronizing knockback handling, we ensure that players experience consistent and fair knockback, providing a balanced and competitive environment for all."
Frequently Asked Questions (FAQ)
Does this change put high ping players at a disadvantage?
It depends on the player. Some may notice a difference if they're used to relying on high ping to reduce knockback. For others, it could actually be an advantage.
How do I change the ping offset?
Open up config.yml
and edit the line that says ping_offset: 25
. Replace 25 with your desired ping offset.
Then just type
/knockbacksync reload
or restart your server.
What version should I download?
Alpha builds automatically built straight from the source as soon as changes are uploaded. They may not always be tested. We recommend these if you need a new feature (such as support for your platform or version) or want to help with development of the this mod/plugin and testing.
Beta: These builds are manually tested by developers. They are not guranteed to have no regressions and have not seen extensive use to verify that they work. We recommend these if you are not afraid of potentially having to deal with a breaking bug or two.
Release builds have been tested by the wider community on various servers. These builds are released periodically and are gauranteed to be stable. Any issues in release builds will be patched immediately. They are intended for large production servers that need absolute perfect stability and where the chance of a bug in this plugin is too high of a cost to bear. Users that value stability should use this.
What servers are using this plugin?
IP | Location | Region | Ping Offset | spike_threshold |
---|---|---|---|---|
pvparcade.club |
Ashburn, Virginia, United States | NA | 20 | 15 |
stray.gg |
San Francisco, California, United States | NA | 25 | 20 |
eu.stray.gg |
Limburg an der Lahn, Hesse, Germany | EU | 25 | 20 |
valed.gg |
Frankfurt, Hesse, Germany | EU | 25 | 20 |
eu.catpvp.xyz |
EU | 25 | 20 | |
as.catpvp.xyz |
AS | 25 | 20 | |
na.catpvp.xyz |
NA | 25 | 20 | |
hyperium.pl |
Wrocław, Dolnośląskie, Poland | EU | 25 | 20 |
Commands
/knockbacksync ping [target]
Description:
This command allows you to check the ping of a player, including jitter. If no target is specified, it will check your own ping.
Permissions:
knockbacksync.ping
(defaults to true for players)
Examples:
/knockbacksync ping
: Checks your own ping./knockbacksync ping Steve
: Checks the ping of a player named Steve.
Output:
- If a pong packet has been received: "Your last ping packet took [ping]ms. Jitter: [jitter]ms." or "[Player]'s last ping packet took [ping]ms. Jitter: [jitter]ms."
- If a pong packet has not been received: "Pong not received. Your estimated ping is [estimated ping]ms." or "Pong not received. [Player]'s estimated ping is [estimated ping]ms."
Notes:
- The estimated ping is based on the player's platform reported ping.
- Jitter represents the variation in ping over time.
/knockbacksync status [target]
Description:
This command allows you to check the KnockbackSync status of a player or the server. If no target is specified, it will show both the global status and your own status.
Permissions:
knockbacksync.status.self
(defaults to true for players): Allows checking your own status.knockbacksync.status.other
(defaults to op only): Allows checking the status of other players.
Examples:
/knockbacksync status
: Shows the global status and your own status./knockbacksync status Steve
: Shows the status of a player named Steve.
Output:
- Global status: "Global KnockbackSync status: [Enabled/Disabled]"
- Player status: "[Player]'s KnockbackSync status: [Enabled/Disabled]" (or "Disabled (Global toggle is off)" if the global toggle is off)
Notes:
- The player status will be "Disabled" if the global toggle is off, even if the player has individually enabled KnockbackSync.
- The messages displayed by this command are configurable in the
config.yml
file.
/knockbacksync toggle [target]
Description:
This command allows you to toggle KnockbackSync for yourself, another player, or globally.
Permissions:
knockbacksync.toggle.self
(defaults to true for players): Allows toggling KnockbackSync for yourself.knockbacksync.toggle.other
(defaults to op only): Allows toggling KnockbackSync for other players.knockbacksync.toggle.global
(defaults to op only): Allows toggling KnockbackSync globally for the server.
Examples:
/knockbacksync toggle
: Toggles KnockbackSync globally (if you have permission) or for yourself./knockbacksync toggle Steve
: Toggles KnockbackSync for a player named Steve.
Output:
- Global toggle: Sends a message indicating whether KnockbackSync has been enabled or disabled globally. The messages are configurable in the
config.yml
file. - Player toggle: Sends a message indicating whether KnockbackSync has been enabled or disabled for the specified player. The messages are configurable in the
config.yml
file. - Ineligible player: If a player is ineligible for KnockbackSync (e.g., due to permissions), a configurable message will be sent.
- KnockbackSync disabled: If KnockbackSync is disabled globally and you try to toggle it for a player, a message will be sent indicating that KnockbackSync is disabled.
Notes:
- If KnockbackSync is disabled globally, toggling it for a player will have no effect until KnockbackSync is enabled globally.
- Players can only toggle KnockbackSync for themselves if they have the
knockbacksync.toggle.self
permission. - Operators can toggle KnockbackSync for other players and globally.
/knockbacksync reload
Description:
This command reloads the KnockbackSync plugin's configuration file.
Permissions:
knockbacksync.reload
(defaults to op only)
Examples:
/knockbacksync reload
Output:
- Sends a message to the command sender indicating that the configuration has been reloaded. The message is configurable in the
config.yml
file.
Notes:
- This command is useful for applying changes made to the configuration file without restarting the server.
/knockbacksync toggleoffground
Description:
This command toggles the experimental off-ground knockback synchronization feature.
Permissions:
knockbacksync.toggleoffground
(defaults to op only)
Examples:
/knockbacksync toggleoffground
Output:
- Sends a message indicating whether the experimental off-ground knockback synchronization has been enabled or disabled. The messages are configurable in the
config.yml
file.
Notes:
- This command currently does not do anything as off-ground synchronization has yet to be implemented.
- This feature is experimental and may not work as expected.
License
GNU General Public License v3.0 or later
See LICENSE to see the full text.