Hello
World!
World!
This plugin is dedicated to addressing 2 well-known KitBattle exploits: Iron Fist Exploit and Smuggling Exploit. While the fixes are pretty straightforward, the exploits themselves are rather intricate. A really big shoutout to the dedicated players at BattleAsya, who consistently go above and beyond in their quest to unearth peculiar and amusing bugs.
Note that this plugin is specifically made for use with a KitBattle Advanced (Premium) instance. All exploits mentioned on this page can be replicated on a Spigot 1.8.8 instance with only KitBattle Advanced installed.
Iron Fist (Damage Bug)
Undoubtedly the most long-lasting KitBattle exploit, Iron Fist (a.k.a Damage Bug), has gained notoriety for allowing sword damage from a previously selected kit to persist even after a player logs out and back in.
Spoiler: Replication Steps
To reproduce this bug, follow these steps:
However, without selecting a kit, one has only a powerful fist but no armour. This may seem insignificant at first until another twist to this bug comes into play, which changes to whole story.
After rejoining the server, instead of immediately exploiting your bare fist, perform the following actions:
There were instances where even the strength effect could be brought over, but this is more commonly seen on bungee networks. There also exists other slight variant versions of this exploit, but most just share similar mechanics in exploiting the defective damage register.
- Choose a kit and hold the sword in slot 1.
- Re-enter the server and join KitBattle.
- Utilize your bare fist (without holding any items) to strike another player and observe the inflicted damage.
However, without selecting a kit, one has only a powerful fist but no armour. This may seem insignificant at first until another twist to this bug comes into play, which changes to whole story.
After rejoining the server, instead of immediately exploiting your bare fist, perform the following actions:
- Relocate the kit selector item to a different hot bar slot.
To achieve this, press E, hover your cursor over a slot other than slot 1, and press 1. - The kit selector will have moved to the slot under your cursor.
- Select a kit but avoid holding or clicking the sword in slot 1, to prevent damage from resetting.
- Now, utilize your fist (enhanced by soup) to strike another player and witness the damage.
There were instances where even the strength effect could be brought over, but this is more commonly seen on bungee networks. There also exists other slight variant versions of this exploit, but most just share similar mechanics in exploiting the defective damage register.
Spoiler: Implication
Imagine a scenario where your previous kit included a Sharpness V diamond sword but a subpar armour suit. Upon relogging, you select a different kit with a fully enchanted set of diamond armour but a suboptimal sword. This discrepancy seems not so problematic at first, not until you begin to exploit your iron fist which has the devastating damage brought over from the Sharpness V sword. And that becomes the very moment when the kit balance on your server is disrupted.
Spoiler: Possible Solution
To effectively mitigate this problem, consider switching the kit selector to a sword item (from the default chest item).
Given the exploit relies on NOT clicking or holding the sword to inherit the previous damage, we enforce the use of a sword to select a kit to decisively eliminate the bug.
To implement this safeguard, navigate to KitBattle's config.yml and modify the kit selector item as illustrated below:
Other viable sword options include WOODEN_SWORD, STONE_SWORD, IRON_SWORD, and GOLD_SWORD.
Very unfortunately, this is still not sufficient to completely rule out this exploit. Please refer to the next section "Our Exclusive Solution" for a complete fix.
Given the exploit relies on NOT clicking or holding the sword to inherit the previous damage, we enforce the use of a sword to select a kit to decisively eliminate the bug.
To implement this safeguard, navigate to KitBattle's config.yml and modify the kit selector item as illustrated below:
Code (Text):
Hotbar-Items:
Kit-Selector:
item: 'DIAMOND_SWORD : name:&7Kit Selector (&aRight click!&7)'
Kit-Selector:
item: 'DIAMOND_SWORD : name:&7Kit Selector (&aRight click!&7)'
Very unfortunately, this is still not sufficient to completely rule out this exploit. Please refer to the next section "Our Exclusive Solution" for a complete fix.
Spoiler: Our Exclusive Solution
Apart from changing the kit selector, we do offer an alternative solution to mitigate this exploit.
Our patch effectively prevents any items in the inventory from being moved when the kit selector item is present. Consequently, players are compelled to exclusively click on the kit selector in slot 1 to select a kit, thereby eliminating the bug.
However, this is still not the end of the story.
Abusers who are very used to exploiting this bug can actually bypass the kit selector conveniently with the /kb selectkit command. Worst still, this command appears to be exploitable as it is not only made accessible to all players but there is no permission node available to negate its usage.
This is where this patch steps in to offer a quick fix!
Enabling the "block-kb-selectkit" option entirely disables this command and all its associated aliases. It is advised to always have this option enabled as this command is largely unnecessary, given that the kit selector can efficiently fulfil its role most of the time.
Our patch effectively prevents any items in the inventory from being moved when the kit selector item is present. Consequently, players are compelled to exclusively click on the kit selector in slot 1 to select a kit, thereby eliminating the bug.
However, this is still not the end of the story.
Abusers who are very used to exploiting this bug can actually bypass the kit selector conveniently with the /kb selectkit command. Worst still, this command appears to be exploitable as it is not only made accessible to all players but there is no permission node available to negate its usage.
This is where this patch steps in to offer a quick fix!
Enabling the "block-kb-selectkit" option entirely disables this command and all its associated aliases. It is advised to always have this option enabled as this command is largely unnecessary, given that the kit selector can efficiently fulfil its role most of the time.
Smuggling (Teleport Bug)
Smuggling (a.k.a. Teleport Bug) enables players to conveniently transport kit items between arenas upon teleportation, resulting in the possession of items or effects from multiple kits, thereby disrupting the game balance.
There are multiple occasions in which smuggling can come into play, within which FFA⇔Challenges Smuggling: Kit-Lock Bypass Variant and FFA⇔Spawn Smuggling: Potion Variant are among the most abused ones.
In a Kit-Lock Bypass scenario, players illegally transport kit items from a normal free-for-all arena, where all kits are accessible, into a kit-locked challenge arena (e.g., 1v1, 2v2, 3v3, etc.).
In a Return-To-Spawn Transport scenario, players take advantage of the /kb spawn delay to illegally transport an item back and forth in the main arena. This variant, however, has been addressed in recent versions but may still exist in older iterations of KitBattle.
Spoiler: Replication Steps: Challenges Kit-Lock Bypass
To replicate this bug, follow these steps:
- Join the challenge queue by utilizing the rod item.
- While waiting for a match, select a kit and place some of the kit items in your 4-slot crafting inventory.
- Use your cursor to hold the 5th item (if you have that many to transport).
- When a match begins, you get teleported to the challenge arena, carrying over the items on your cursor and within your crafting inventory.
- At this point, you just need to reorganize the items before the start-of-game countdown concludes.
Spoiler: Replication Steps: Return-To-Spawn Potion Transport
To replicate this bug, follow these steps:
Other Possible Solution
Just don't give your players permission to use /kb spawn.
- Select a kit.
- Use the command "/kb spawn".
- While waiting for the teleport countdown, use your cursor to hold an item that you wish to transport, preferably a potion.
- When the countdown ends, you get teleported to the spawn point, carrying over the item on your cursor.
- At this point, you just need to reorganize the items in your inventory.
Other Possible Solution
Just don't give your players permission to use /kb spawn.
Spoiler: Our Exclusive Solution
Our patch effectively resolves this issue by removing all items from your cursor and crafting inventory upon teleportation.
Once again, the fix is pretty straightforward but highly effective.
Once again, the fix is pretty straightforward but highly effective.
Other Possible Exploits that are not covered by this plugin
Bugs that you could not have imagined... but can be fixed easily without this plugin.
Spoiler: Arrow Lag Machine
Abusers persistently abuse the bow and create thousands of laggy arrows at spawn to crash the server. Very often, this is done skillfully as these arrows have to get stuck somewhere and not get cleaned up. Invisible armour stands, for example, are frequent targets especially when holograms exist on your server. Together with the arrow effects and trails that come with KitBattle, this can easily destroy your server TPS and crash players with suboptimal PCs.
Possible Solution
Consider using a scheduler to execute arrow removal periodically. If you have EssentialsX installed on your server, running "killall arrows {world}" every once in a while will completely eliminate this exploit. Setting "arrow-despawn-rate" to 300 or lower in spigot.yml also helps, but just not sufficient.
Possible Solution
Consider using a scheduler to execute arrow removal periodically. If you have EssentialsX installed on your server, running "killall arrows {world}" every once in a while will completely eliminate this exploit. Setting "arrow-despawn-rate" to 300 or lower in spigot.yml also helps, but just not sufficient.
Commands & Permissions
• /kbpatch reload - (kbpatch.reload) - Reload config.
• (kbpatch.bypass) - Bypass all the patch options.
kbpatch.* is by default granted to OPs.
It is advised to grant your admins the "kbpatch.bypass" permission.
Configuration
https://github.com/denniemok/kitbattle-patch/blob/master/src/config.yml
Runtime Requirements
• Java 8 or above
• Spigot 1.8 or above, or equivalent forks
• Permission plugin (Optional)
• KitBattle Advanced (Premium)
Disclaimer
Please be aware that this plugin is not officially affiliated with KitBattle Advanced. We are simply enthusiastic KitBattle fans committed to resolving some of the issues.
Don't forget to rate this resource! Have fun!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
⚡KitBattle Patch⚡ Fixes KitBattle Exploits is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 207 times (via Spigot). Download it and open it directly in the game.