LPX AntiPacketExploit
1710847355495.png


LPX
✅Avoid NettyCrashers, prevents netty threads to be blocked by exploits without using any fork;
✅Dependency Free, doesn't require any dependency;
✅Frequent updates when a new exploit is detected;
✅Highly configurable, easy, and detailed configuration anticheat-style;
✅GUI/Files for recent alerts;
✅Packet logger in console and automatic logging for heavy packets
✅1.8-1.20 Compatibility on paper and related forks;
✅Printer/Schematica compatibility with API or semi-automatic system;
✅AntiCheat-Fix blocks a few packets which cause anti-cheats to make the server use a lot of CPU;

WHY LPX?
UNIQUE FIX FOR NETTY CRASHERS, one type of exploit that doesn't affect the server's TPS but Netty's threads. A NettyCrasher makes Netty's threads busy when a packet gets decoded, so the server can't handle future packets for a bit not allowing new players to join and timeoutting a few online players.

Smooth Packet Limiter, Usually, anti-exploits don't encourage the use of packet limiters because it could cause issues with players having bad connections. LPX has an accurate way to count spam packets and has a fully working VL system to prevent false flags when players lag. If any false is detected, the config can be easily edited to fix false flags.

Printer/Schematica Compatibility, usually packet limiters plugins causes incompatibility issues with this mods, LPX has a very useful automatic system that detects when a player started using printer mode and that guarantees no false kicks. There is also the option to use the API.
aTVg4Ya.png


Advanced Packet Logger, if your server is attacked with a packet exploit you can log every packet sent from any player to understand what type of exploit did he use and we can fix it in a few days. Packet Logger can be disabled and configured.

Easy and detailed configuration
, you can edit almost everything while you detect false-flags, you can choose to enable/disable kicks for every check, enable/disable specific checks and change EVERY VALUE used in the code.

license: "null"
# Use this if you live in China
force-fallback: false
messages:
main-color: "&5"
second-color: "&d"
prefix: "%main-color%LPX >>"
kick: "&cYou are sending suspicious packets."
kick-alert: "%prefix% %second-color%%player% &7was kicked"
no-permission: "%prefix% &cInsufficient permissions &7(%permission%)"
invalid-arguments: "%prefix% &cInvalid arguments!"
injection-failure: "%prefix% &cInjection failure!"
update-found: "%prefix% &aAn update was found!"
null-address: "%prefix% &cYou are joining with an invalid address!"
alerts:
permission: "lpx.alerts"
format: "%prefix% %second-color%%player% &7failed %main-color%%check% %type% &7(%vl%/%max-vl%)"
hover:
- "%main-color%Description:"
- "%second-color%%description%"
- ""
- "%main-color%Infos: %infos%"
- ""
enabled: "%prefix% &aAlerts enabled"
disabled: "%prefix% &cAlerts disabled"
options:
# Enable this only if you have fake players who cause errors during the injection
# WARNING: Enabling this will allow players to join even during injection failures
silent-failures: false
# Whether LPX should kick players when an exception in their handlers occurs
kick-on-exception: true
# LPX will prevent any type of item exploit that slows Netty threads
# Available options:
# ALL (disable decoding for every item)
# BOOKS (disable only for books) (DEFAULT)
# NONE (vanilla behavior)
disable-item-decoding: BOOKS
# If this option is set to true, players won't be able to see the output of /lpx
hidden-command: false
# If activated, players with "lpx.bypass" permission will ignore checks
bypass-permission: false
# Add support for Geyser players (Bedrock Edition)
geyser: false
# Check if the plugin can be updated.
# Permission: "lpx.update"
check-updates: true
# Whether bStats should be loaded (https://bstats.org/plugin/bukkit/LPX/9156)
bstats: true
# Whether task that resets VL should be enabled
clear-task:
enabled: true
# Repeat delay in seconds
delay: 300
printer:
# Enable this if your server allows the use of printer/schematic mod, and you are not using our Printer's APIs
automatic: false
# Lower this value if players don't enter in printer mode correctly
place-threshold: 10
# Idle time after exiting printer mode
disable-delay: 3000
# Whether players with the permission should receive printer's alerts
alerts: true
# Permission to receive printer's alerts
permission: "lpx.alerts.printer"
join: "%prefix% %second-color%%player% &7joined printer mode (%mode%)"
leave: "%prefix% %second-color%%player% &7left printer mode"
mechanics:
# Sets a minimum time to reuse the nether portal. You can set it to -1 to disable.
# WARNING: If you are using Intave put this to -1 to disable
nether-portal-delay: 1000
# Prevents the oneshot bow. -1 to disable
max-arrow-velocity: 15
# Prevents sheep extinction. -1 to disable
shears-cooldown: 500
# Prevents players to interact with the inventory on block break
break-close-inventory: false
# Prevents a strange crash exploit using redstone with trapdoors, rails and comparator (BETA)
trapdoor-rail-redstone: true
# Prevents players to open containers too fast (time in milliseconds. -1 to disable)
interact-container-delay: 100
alerts:
# Whether alerts should be stored in a file
store: true
# Amount of days to keep the alerts
days: 14
# Server name, used for API integrations
server: unnamed
# Delay in milliseconds to wait before sending new alerts after a punishment
punish-delay: 1000
debug: false
# If set to true LPX will look for the config.yml in ../config/config.yml
external-config: false
packet-logger:
# If a packet requires more than this amount of time (in nanoseconds) to be processed, it will be logged
# Example: 5000000ns = 5ms, -1 to disable
heavy-packet-threshold: 5000000
enabled: false
# MODES: whitelist, blacklist
# Whitelist mode: only players in the list will be logged
# Blacklist mode: only players not in the list will be logged
player-mode: whitelist
players:
- Ytnoos
# MODES: whitelist, blacklist
# Whitelist mode: only packets in the list will be logged
# Blacklist mode: only packet not in the list will be logged
packet-mode: blacklist
# To find out correct names, https://github.com/retrooper/packet...ents/protocol/packettype/PacketType.java#L510
packets:
- PLAYER_FLYING
- PLAYER_POSITION
- PLAYER_POSITION_AND_ROTATION
- PLAYER_ROTATION
- KEEP_ALIVE
- ANIMATION
- WINDOW_CONFIRMATION
checks:
netty:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
# If this is set to automatic, then the max value below will assume one of these values based on your server version
# 1.8 = 8448
# 1.12 = 24576
# >=1.13 = 98304
automatic: true
# You can put this value to lower numbers (4096, 8192, 12228) to have much stricter protections
max: 98304
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
resolved: true
max: 15
max-characters: 255
resolved-multiplier: 3
resize: true
window:
a:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 3
multiply: 0.25
decay: 1
b:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 3
multiply: 0.25
decay: 1
c:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
d:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
creative:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 127
min: 0
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 1500
d:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 16384
e:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
blacklist:
- "run_command"
- "translation.test.invalid"
f:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 64
g:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
place:
a:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 5
multiply: 0.5
decay: 1
options:
max: 100
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 70
c:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 5
multiply: 0.5
decay: 1
options:
max: 50
flood:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. :<'
options:
max: 1100
b:
enabled: true
punish: true
max-vl: 6
min-vl: 2
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. >:'
options:
# The following strings are represented by 2 or 3 parameters:
# PacketName | Max packets | Interval(ms) | Periods | Warnings
# "ANIMATION,50,500,5,2" Means this check will flag when a player sends 50 ANIMATION packets in an interval of 500ms for 2 times in a period of (5*500ms)
limits:
- "ANIMATION,50,500,5,2"
- "USE_ITEM,60,1000,5,2"
- "PLAYER_BLOCK_PLACEMENT,14,100,6,3"
- "CLICK_WINDOW,20,200,10,4"
- "CREATIVE_INVENTORY_ACTION,20,200,10,4"
- "PLAYER_POSITION,40,100,5,3"
- "PLAYER_ROTATION,40,100,5,3"
- "PLAYER_POSITION_AND_ROTATION,40,100,5,3"
- "CRAFT_RECIPE_REQUEST,15,1000,2,1"
- "TAB_COMPLETE,40,1000,2,1"
- "INTERACT_ENTITY,20,600,5,2"
- "CHAT_COMMAND,5,500,5,2"
- "PLAYER_DIGGING,40,500,6,3"
- "UPDATE_SIGN,2,300,6,2"
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. :o'
options:
max: 10
reset-interval: 100
max-periods: 6
max-warnings: 3
big-threshold: 2048
d:
enabled: true
punish: true
max-vl: 4
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. o:'
options:
max: 10
big-threshold: 2048
max-big: 6
f:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. :$'
options:
max: 8
position:
a:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
b:
enabled: true
punish: true
max-vl: 6
min-vl: 1
buffer:
max: 2
multiply: 0.5
decay: 0.05
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
delay: 2000
hard: false
ignore-fly: true
c:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 15000
d:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 100000
payload:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
b:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
delay: 1000
max: 15
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
d:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
e:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
f:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
tab:
a:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
starts:
- "/to "
- "//to"
- "/calc "
- "//calc"
contains:
- "while"
- "targetoffset"
- "for("
- "^(."
- "*."
b:
enabled: true
punish: false
max-vl: 1
min-vl: -1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max-length: 256
characters:
- "["
- "]"
- "{"
- "}"
- "@"
- "="
- "nbt"
command:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
commands: #CREDITS TO: https://github.com/2lstudios-mc/ExploitFixer
# WorldEdit exploit
- "//calc"
- "//calculate"
- "//eval"
- "//evaluate"
- "//solve"
# HolographicDisplays exploit
- "/hd readtext"
- "/holo readtext"
- "/hologram readtext"
- "/holograms readtext"
- "/holographicdisplays readtext"
# PermissionsEx exploit
- "/pex promote"
- "/pex demote"
- "/promote"
- "/demote"
- "/execute"
# Multiverse exploit
- "/mv ^"
- "/mv help ^"
- "/mvhelp ^"
- "/$"

PERMISSIONS - COMMANDS:​
  • /lpx alerts - lpx.alerts - Receive alerts
  • lpx.alerts.printer - Receive printer alerts
  • /lpx reload - lpx.reload - Reload the configuration
  • /lpx gui- lpx.gui - Open the GUI
  • /lpx clear - lpx.clear - Clear old packet logs
  • /lpx kick <player> <message> - lpx.kick - Force close player connection
KNOWN INCOMPATIBILITIES:
  • ProtocolLib < 5.0.0
  • Images and Denizen on certain situations
  • Arclight
DISCLAIMER:

LPX aims to protect your server at a packet level, it won't touch anything related to vanilla mechanics so it doesn't protect from redstone lag machines, dupes or illegal creative items. It won't also protects you from DDoS, Bot and Proxy level exploits since it runs only on spigot instances!​

Author
Wifi
Downloads
0
Views
18
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from Wifi

Top