Sueta

AntiExploit

1.1

Protect your spigot server from unpatched exploits.

·Plugin

Note: AntiExploit requires ProtocolLib 5.0 or higher

Protect your server from ban/dupe books, crash exploits and plugin leak exploits.

Configuration
#
#      AntiExploit
# Version - 1.1
#
# Get more premium, professional plugins at: https://www.spigotmc.org/resources/authors/craftforge.1686304/

# Whether we should keep file log of exploit attempts (in AntiExploit/logs folder)
log_exploit_attempts: true

# List of exploits to protect against
protections:

  book:

    # The priority at which ProtocolLib listens for book packets
    # requires restart to change, don't touch unless you know what you are doing
    listener_priority: "NORMAL"

    # List of commands run when a player fails a punishable book check
    # do not include a '/' at the beginning
    # placeholders: %name% - player name, %uuid% - player UUID
    punishment_commands:
      - 'minecraft:kick %name% Invalid Book!'

    # Checks for books that contain an abnormal amount
    # of characters, ~13.8kb seems like a reasonable
    # threshold, but players may be prevented from writing very long books
    # feel free to tweak a bit
    over_sized_book_check:
      enabled: true
      cancel_packet: true
      punish: false
      # the limit of the amount of bytes in the book
      limit: 13824

    # This checks for books that contain a huge
    # amount of data, if someone fails this check
    # they are probably trying to make ban/dupe books
    very_over_sized_book_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the limit of the amount of bytes in the book
      limit: 40000

    # This prevents books with more than 100 pages from being made
    # invalid books with many pages were the cause of the '.d' dupe back in 1.16
    # its impossible for a legit player to fail this check
    page_limit_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the limit of the amount of pages in the book
      limit: 100

    # This prevents books with an empty title being signed
    # its impossible for a legit player to fail this check
    empty_title_check:
      enabled: true
      cancel_packet: true
      punish: true

    # This prevents books with a too-long title being signed
    # its impossible for a legit player to fail this check
    title_limit_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the limit of the length of the book title
      limit: 15

    # This prevents chat color codes/invalid characters being put in book titles
    # its impossible for a legit player to fail this check
    title_invalid_character_check:
      enabled: true
      cancel_packet: true
      punish: true

    # This limits the amount of characters that can be on each book page
    # its impossible for a legit player to fail this check
    page_length_limit_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the limit of the length of a page
      limit: 800

    # This prevents non-UTF8 characters from being put inside a book
    # if any of your plugins are storing items in YAML,
    # UTF16 characters may cause the items not to save, creating potential dupes
    non_utf_8_check:
      enabled: true
      cancel_packet: true
      punish: true

    # This prevents a player from sending a book edit packet
    # if they do not have a book in their hand
    # this can false flag if the player has an extremely high ping
    in_hand_check:
      enabled: false
      cancel_packet: true
      punish: true

    # This prevents a player from signing a book too fast
    sign_limit_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the amount of the milliseconds between book signs
      limit: 500

    # This prevents a player from editing a book too fast
    edit_limit_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the amount of the milliseconds between book edits
      limit: 100


  tab_complete:

    # The priority at which ProtocolLib listens for tab complete packets
    # requires restart to change, don't touch unless you know what you are doing
    listener_priority: "NORMAL"

    # List of commands run when a player fails a punishable tab complete check
    # do not include a '/' at the beginning
    # placeholders: %name% - player name, %uuid% - player UUID
    punishment_commands:
      - 'minecraft:kick %name% Invalid Packet!'

    # Blocks tab complete packets that consist of just '/'
    # these invalid packets allow you to see the list of plugins on any server
    # even if they are blocking TabCompleteEvent and CommandSendEvent
    # set to disabled if you don't mind players seeing your plugins
    command_leak_check:
      enabled: true
      cancel_packet: true
      punish: true

    # Blocks tab complete packets that are longer 257 characters
    # these invalid packets cause Brigadier to lag
    # whilst converting UTF16 characters to lowercase
    # potentially causing the server to crash
    tab_crash_check:
      enabled: true
      cancel_packet: true
      punish: true
      # the max amount of characters allowed in a tab packet
      limit: 257

config_version_do_not_touch: 1
disable_b_stats: false
debug_mode: false
disable_update_checks: false

If you need help or have any bugs, don't leave a bad review! Join our Discord Server to get help.

Similar projects

Plugin →