Panilla - Prevent hacked items! icon

Panilla - Prevent hacked items! -----

Prevent abusive NBT (hacked items) and packets which crash users




Fixes:
  • Fix missing check for Swift Sneak enchantment (#162)
  • Paper 1.20.6+ Fix client crash when handling written books
  • Paper 1.20.6+ Fix false positive with custom heads
----------, Aug 17, 2024

Fixes:
  • Fixed a crashing issue relating to enchantment checks
----------, Aug 15, 2024

Fixes:
  • Fix entity lookup issue on Paper 1.21/1.21.1
----------, Aug 13, 2024

Additions:
  • Paper 1.20.6 support
  • Paper 1.21, 1.21.1 support
Big thanks to @tangjin0418!

Notes about the update:

With the changes in 1.20.5, a lot of modification had to be made to make this plugin compatible with newer versions of the game. I have started a rewrite of the entire plugin to make it easier to keep updating to newer versions, but wanted to get this update out as soon as possible.

The reason why it is Paper-only (for now) is because of how Panilla interfaces with Minecraft's code directly. In the rewrite, this will change and it will be compatible with Spigot again.
----------, Aug 13, 2024

Fixes:
  • Makes CustomPotionEffects check less agressive
----------, Mar 5, 2024

Fixes:
  • Fixed checking set slot packets on all versions other than 1.20.3/4
----------, Mar 5, 2024

Fixes:
  • Checks CustomPotionEffects tag alias: custom_potion_effects
----------, Mar 3, 2024

Fixes:
  • Fixed crash exploits not always getting caught
  • Fixed various exploits relating to EntityTag
API Changes:
  • New class: FailedNbtList
  • Refactoring of NbtChecks
----------, Mar 3, 2024

Fixes
  • ArrayIndexOutOfBoundsException when checking certain books
----------, Feb 25, 2024

Additions:
  • 1.20.3/1.20.4 support
----------, Dec 13, 2023

Fixes:
  • Prevents StackOverflowException server crash while parsing a book page JSON
----------, Oct 1, 2023

Additions:
  • 1.20.2 support
Fixes:
  • Fix set slot air on 1.20.x
----------, Sep 23, 2023

Fixes:
  • Falsely removing items because of a JSON parsing issue
----------, Aug 13, 2023

Fixes:
  • Server crash exploit related to JSON parsing
----------, Jul 21, 2023

Fixes:
  • Fix nms mapping issue on 1.20, thanks @lRENyaaa!
If you're running 1.20.x, you should definitely update to Panilla 1.10.0.
----------, Jul 18, 2023

Fixes:
  • Fix crash in some circumstances when dispensing shulkerbox from dispenser
----------, Jul 2, 2023

Additions:
  • New check for custom beacon range on Paper servers
----------, Jul 1, 2023

Fixes:
  • Fixed an issue where items would disappear upon equip on 1.20
----------, Jun 12, 2023

Fixes:
  • Fix nms mapping issue on 1.20
----------, Jun 12, 2023

Fixes:
  • Fix nms mapping issue on 1.20
----------, Jun 12, 2023

Fixes:
  • Fix nms mapping issue on 1.20
----------, Jun 12, 2023

Additions:
  • 1.20 support
----------, Jun 10, 2023

Fixes:
  • Do not allow nested bundles
  • Address server crash relating to SkullProfile
  • Do not strip all NBT from ShulkerBox unless it contains a "CRITICAL" crash item
----------, May 29, 2023

Additions:
  • Support Folia (Paper fork)
----------, Apr 12, 2023

Fixes:
  • Prevent potential exception crash
----------, Mar 15, 2023

Additions:
  • 1.19.4 support
----------, Mar 15, 2023

Fixes:
  • ClassCastException client crash when using /give @p furnace{BlockEntityTag:{RecipesUsed:{"minecraft:bow":1}}} 1
  • Ensure OP players cannot bypass the "bundles server crash exploit"
----------, Jan 28, 2023

Fixes:
  • Do not allow minecraft:air items in Bundles - they can cause a server crash
----------, Jan 27, 2023

Fixes:
  • An issue where items with the CustomModelData tag would trigger a fail condition
----------, Dec 19, 2022

Fixes:
  • A bug introduced in a recent changed which falsely flagged "display" NBT tags
----------, Dec 18, 2022

Fixes:
  • Increase max limit for lore line length to prevent false positives
----------, Dec 14, 2022

Fixes:
  • Fixed check for super long lore lines
----------, Dec 12, 2022

Additions:
  • 1.19.3 support
----------, Dec 8, 2022

Fixes:
  • Unable to drop ShulkerBoxes from Dispensers/Droppers if they did not have a LootTable
----------, Nov 23, 2022

Fixes:
  • More properly addresses a compatibility issue with newer Paper 1.19.2 versions; thank you @pop4959!
----------, Oct 3, 2022

Fixes:
  • A compatibility issue with newer Paper 1.19.2 versions
----------, Oct 1, 2022

Fixes:
  • Fixed item check bypass by using Bundles
----------, Aug 14, 2022

Additions:
  • 1.19.1 support (1.19 users do not use this version)
Fixes:
  • Disallow "cursors" NBT on BlockEntityTag, used with Sculk Catalyst to grief
----------, Jul 30, 2022

Additions:
  • 1.19 support
  • Prevent potential server crash from ultra-long hover events in books
----------, Jun 7, 2022

Additions:
  • 1.18.2 support
  • New config option no-block-entity-tag: false. Set this to true to completely block BlockEntityTag NBT, generally not recommended.
----------, Mar 18, 2022

Additions:
  • 1.18 support
If you're not using 1.18, no need to update.
----------, Dec 8, 2021

Fixes:
  • Fix player kick issue on Paper 1.17.1 - Don't replace MC's default packet decompressor
----------, Sep 30, 2021

Fixes:
  • Fix player kick issue on 1.17.1
This version is NOT compatible with Minecraft 1.17
----------, Jul 9, 2021

Additions:
  • 1.17 support (Spigot)
Fixes:
  • Fix head textures on 1.16.x
  • Fix armor stand long name tags not getting checked
----------, Jun 16, 2021

Fixes:
  • Fixed exception on 1.8/1.12 when checking for loot tables on items when dispensed (loot tables don't exist in 1.8/1.12)
  • Ensure inventory operations are run on the server thread to prevent concurrency issues
  • Fixed occasional exception when players join/quit the server
  • Fixed NullPointerException when checking items in inventories
  • Prevent EntityTag.power by default
  • Validate UUIDs on player heads (can prevent server/client crashes)
  • Fix issue with feather falling enchantment whitelist
----------, Apr 10, 2021

Fixes:
  • Fixed exception thrown on 1.8 and 1.12 servers regarding LootTables (they don't exist in said MC versions)
----------, Feb 13, 2021

Fixes:
  • Fix a server and client crash exploit having to do with invalid Loot Tables on containers such as Shulker Boxes
----------, Feb 11, 2021

Additions:
  • New configurable max enchantment overrides. This allows you to still prevent unobtainable enchantments but can allow higher than would regularly be in vanilla. An example may be that you allow Sharpness 10 on swords for OP PvP.
(Regenerate your config.yml or append this section if you wish to use this feature)

Code (Text):
# Override Minecraft's max enchantment levels
# Useful if you want to manually set a max enchantment level for specific enchantments
# You must use either normal or strict mode for this to work
# Find a list of Minecraft enchantment names here: https://www.digminecraft.com/lists/enchantment_list_pc.php
max-enchantment-levels:
  override-minecraft-max-enchantment-levels: false
  overrides:
   sharpness: 15
   protection: 10
   feather_falling: 10
 
----------, Dec 26, 2020

Fixes:
  • Fixed a bug regarding NBTListTag. This is an important fix and can prevent crashes - both serverside and clientside.
----------, Nov 18, 2020

Additions:
  • 1.16.4 support
  • Additional client crash detection/prevention
----------, Nov 8, 2020

Fixes:
  • New Bukkit Listener check for invalid loot tables on tile entities. Fixes a potential client crash issue when interacting with a tile entity. (1.13+ are affected)
----------, Oct 10, 2020

Fixes:
  • Fixed a typo - apologies for my carelessness
----------, Aug 30, 2020

Fixes:
  • Check new 1.16 enchantment - Soul Speed
  • Wait 20 ticks after player join to inject netty channel to fix a potential race condition
----------, Aug 30, 2020

Fixes:
  • Fix CraftBukkit 1.16.2 support
----------, Aug 18, 2020

Additions:
  • CraftBukkit 1.16.2 support (Spigot, Paper, etc... as well)
Fixes:
  • Fix a server crash issue in Minecraft 1.8.8
----------, Aug 18, 2020

Fixes:
  • Fixed a potential NoSuchElementException when a player logs out
----------, Jul 17, 2020

Fixes:
  • Respect disabled-worlds configuration option for NBT on Entities
----------, Jul 12, 2020

Fixes:
  • Catch potential JSON parse exception
----------, Jul 2, 2020

Fixes:
  • Properly support JSON arrays and objects in display NBT tag
----------, Jul 2, 2020

Additions:
  • New configuration option for Bukkit: "ignore-non-player-inventories: false". When checking inventories, by default, Panilla will check any inventory packet (eg. one's regarding player inventories, chest inventories, etc...) Setting this option to true will make Panilla only check player inventories. This can help with ensuring custom GUI's created by plugins don't get flagged by Panilla. Latest config file: https://raw.githubusercontent.com/Ruinscraft/Panilla/master/bukkit/src/main/resources/config.yml
----------, Jul 1, 2020

Additions:
  • Check additional packet (PacketPlayOutWindowItems) for abusive NBT. This will help with checking oversized packets being sent to the client.
----------, Jun 30, 2020

Additions:
  • CraftBukkit 1.16.1 (Spigot, Paper, etc... as well)
Fixes:
  • Improve "crash book" detection. Panilla now looks at the number of unique characters per page in combination with the number of pages.
  • Ensure long item names (which can cause client lag) get handled with lenient strictness.
----------, Jun 25, 2020

Fixes:
  • Fix false positive with Shipwreck maps
  • Fix potential server crash exploit with excessive amount of NBT tags within nested items
Improvements:
  • Remove NBT from ItemEntity\s instead of removing the entity
  • Log when NBT from ItemEntity\s get flagged
  • Adjust Bukkit configuration comments
----------, May 15, 2020

Fixes:
  • Ensures a 1.15 crash exploit is deemed as a CRITICAL fix (meaning even OP's/bypass users will have the crash NBT stripped)
----------, Apr 9, 2020

Fixes:
----------, Apr 9, 2020

Fixes:
  • PlayerQuitEvent exception java.util.NoSuchElementException: panilla_inspector
  • Ensure sender has permission to use /panilla debug (permission node: panilla.command.debug)
----------, Mar 23, 2020

Fixes:
  • Fixed check for too many NBT tags (can cause client crashes)
----------, Mar 10, 2020

Fixes:
  • Fix NMS mapping on 1.15 (NoSuchMethodError: net.minecraft.server.v1_15_R1.MinecraftServer.az())
  • Fix Shulker Box Items NBT always being removed when using strict mode
----------, Feb 1, 2020

Fixes:
  • Exception "java.util.NoSuchElementException: panilla_handler"
  • Packet decompressor crash fix
----------, Jan 28, 2020

Fixes:
  • Fixed error when compression is disabled in server.properties
Other:
  • Imposed slightly tighter restrictions on BlockEntityTag NBT byte size (this shouldn't result in any noticeable changes)
----------, Dec 13, 2019

Additions:
  • CraftBukkit 1.15 support (Spigot, Paper, etc... as well)
  • Glowstone 1.12 support (just a proof of concept)
  • NBT checks for AreaEffectCloud spawn eggs
Fixes:
  • Should have fixed an issue with oversized containers crashing clients
Improvements:
  • Panilla now completely replaces Minecraft's packet decompressor to better handle oversized packets
Other:
  • For now I have removed the included translations (mainly because I changed the messages themselves and I don't speak multiple languages). There are only a few messages in Panilla which never even get shown to the average user. Please let me know if you'd like to see translations included once again.
This was a fairly large update code wise. Please let me know if there are any issues :)
----------, Dec 12, 2019

Fixes:
  • Fixed BlockEntityTag check (would cause banners and other items with BlockEntityTag to report false positive).
----------, Oct 22, 2019

Additions:
  • Item entity checking (dropped items, dispensed items, etc)
  • JukeBox record checking (it is possible to place a crash item inside of a JukeBox)
Fixes:
  • Fix for some enchantment checks when the 'Enchantments' NBT was used on an item
  • Ensure "crash" exploits get prevented even if the user has the Panilla bypass permission
Improvements:
  • Lots of code reform, now using 'FailedNbt' class
----------, Oct 21, 2019

Fixes:
  • Improved skull checking for HD/"Minecraft Education" skulls. There was a way to previously avoid the Panilla check. Use this feature by setting your strictness to average or strict as well as setting prevent-minecraft-education-skulls: true in your config.yml.
----------, Oct 5, 2019

Additions:
----------, Aug 4, 2019

Additions:
  • Add check for non textures.minecraft.net heads (prevents HD heads). You can enable this check by setting your strictness to average or strict as well as setting prevent-minecraft-education-skulls: true in your config.yml.
  • Add check for FAWE brush NBT. To prevent FAWE brush NBT, set prevent-fawe-brush-nbt: true in your config.yml.
  • CraftBukkit 1.14.4 support
----------, Jul 20, 2019

Additions:
  • Debug command for bug reports (not required for bug reports but may be requested)
Fixes:
  • Reduce the amount of permission checks
----------, Jun 13, 2019

Additions:
  • Catch all Netty exceptions thrown to players (prevent more player crashes)
  • Optimization / performance improvements
Fixes:
  • #16 / #21 packet_handler Netty channel not found
  • Possibly more small issues resolved due to code cleanup
----------, Jun 9, 2019

Fixes:
  • Players get kicked when using non-permitted nbt items on 1.13+ (#18)
----------, Jun 3, 2019

Fixes:
  • NPE regarding enchantments (#17)
  • Possibly fix #16
Please use this and NOT 1.3.1

There was a mistake in 1.3.1 which causes issues with enchantments.
----------, Jun 2, 2019

Additions:
  • CraftBukkit (Spigot/Paper) 1.8.8 support
  • Large code refactor/cleanup
  • Russian and Spanish translations (es_MX.yml and ru_RU.yml)
  • Partial SpongeAPI/Forge 1.12 support (I doubt anyone on SpigotMC will care)
Panilla 1.3 is largely a code refactor and the addition of CraftBukkit 1.8.8 and SpongeAPI/Forge 1.12 support. If Panilla 1.2.3 is working great for you, no need to update.
----------, May 15, 2019

Additions:

Fixes:
  • Fixed CraftBukkit 1.12 (1.12.0) support.
  • Adjusted the book titles check (fixes false positives when using the `average` strictness).

Other:
  • Removed unnecessary sign length check.
----------, May 7, 2019

Additions:

  • Added checks bypass for players with OP or permission panilla.bypass
Fixes:

  • Adjusted BlockEntityTag checking
BlockEntityTag explanation:

strictness: lenient will allow any item to contain the tag. Panilla will check items within the tag, eg: checking the items within a hopper/chest/ShulkerBox/etc that has BlockEntityTag.

strictness: average same functionality as lenient

strictness: strict will only allow ShulkerBox items to contain the tag (the way it is in survival-mode), as well as checking the items within the ShulkerBox.
----------, May 1, 2019

Fixes:
  • Dropped packets regarding over sized item names (eg Heads plugins, etc were triggering a dropped packet)
  • Fixed warning about api-version in 1.13+
----------, Apr 29, 2019

Additions:
  • CraftBukkit 1.14 support (still works with 1.12.2 and 1.13.2 as well)
  • Configurable "max-non-minecraft-nbt-keys" (you shouldn't need to change it)
Fixes:
  • Minor fixes / improvements
----------, Apr 26, 2019

Fixes:
  • EntityTag NBT checks
----------, Mar 29, 2019

Resource Information
Author:
----------
Total Downloads: 597
First Release: Mar 29, 2019
Last Update: Aug 17, 2024
Category: ---------------
All-Time Rating:
31 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings