Supported software: Paper
Supported versions: 1.8 / 1.12 / 1.13 / 1.15 / 1.16 / 1.17 / 1.18
LPX
WHY LPX?
PERMISSIONS - COMMANDS:
Supported versions: 1.8 / 1.12 / 1.13 / 1.15 / 1.16 / 1.17 / 1.18

LPX
Avoid NettyCrashers, prevents netty threads to be blocked by exploits without using any ViaVersion fork;
AntiCheat-Fix blocks a few packets which cause anti-cheats to make the server use a lot of CPU;
Dependency Free, doesn't require any dependency;
Advanced Packet Injection, packets are analyzed and blocked before the server could decode them in a different way compared to any other anti-exploit;
Highly configurable, easy, and detailed configuration anticheat-style;
GUI for recent alerts;
Packet logger with maximum files creation to avoid huge memory usage (toggleable);
1.8-1.18.2 Compatibility on paper and related forks;
Frequent updates when a new exploit is detected;
Printer/Schematica compatibility with API or semi-automatic system;
WHY LPX?
- UNIQUE FIX FOR NETTY CRASHERS, few rare clients, like GasClient, have NettyCrasher exploits, 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 crashes and doesn't listen for any packet anymore. LPX is the only anti-exploit having this check without the use of any strange ViaVersion fork or Spigot fork.
- Custom Injection and no dependency required, LPX uses a unique way to inject compared to other anti-exploits, this guarantes high performance without the use of Reflections to read packets.
- 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.
- 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, configured, and doesn't take too much memory because of automatic old file removal.
- 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.
Code:
license: "null"
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 on injection failures
silent-failures: false
# 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
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"
# 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
packet-logger:
enabled: false
# Players ignored
whitelist:
- Ytnoos
# List of packets to ignore
# To find out correct names, open spigot's jar and find class' names
# Path: net.minecraft.server
ignore:
- PacketPlayInFlying
- PacketPlayInKeepAlive
- PacketPlayInArmAnimation
- PacketPlayInTransaction
# Max files which can be created in a run (newer files will replace older once reached this limit)
max-files: 50
# Max packets to log on each file
max-ppfs: 3000
# Days before old folders can be automatically deleted
old-folders: 3
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 = 6144
# 1.12 = 16384
# 1.13 = 65536
automatic: true
# You can put this value to lower numbers (4096, 8192, 12228) to have much stricter protections
max: 65536
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
resolved: true
min-length: 96
max: 15
window:
a:
enabled: true
punish: true
max-vl: 5
min-vl: 3
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 2
multiply: 0.5
decay: 1
b:
enabled: true
punish: true
max-vl: 5
min-vl: 3
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
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: 128
d:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 2048
It is:
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
place:
a:
enabled: true
punish: true
max-vl: 30
min-vl: 15
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
buffer:
max: 5
multiply: 0.5
decay: 1
options:
max: 40
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 70
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: 1000
b:
enabled: true
punish: true
max-vl: 15
min-vl: 5
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets.'
options:
limits:
- "PacketPlayInArmAnimation,100"
- "PacketPlayInUseItem,60"
- "PacketPlayInBlockPlace,60"
- "PacketPlayInWindowClick,50"
- "PacketPlayInSetSlot,50"
- "PacketPlayInPosition,100"
- "PacketPlayInAutoRecipe,15"
- "PacketPlayInTabComplete,40"
c:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets.'
options:
max: 80
d:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets.'
options:
max: 13
It is:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets.'
options:
threshold: 4096
max: 8
reset: 1000
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: 10
min-vl: 3
buffer:
max: 3
multiply: 0.5
decay: 0.05
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
delay: 5000
hard: false
ignore-fly: true
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.'
It is:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
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
- ProtocolLib <= 4.4.0 (released 4 years ago)
- Rarely exception on spigot 1.8.8 when clicking skulls (Paper 1.8.8 fixed it)