Description of the LPX plugin:
LPX is a next-generation exlayer protection tool that will protect your server from attacks by clients such as MetaClient, Jessica, YSK, GasClient, Jigsaw and more. It is constantly updated and always on the move of all anti-exploit. It is used by more than 800 servers (now there will be more )LPX plugin features:
- Avoid NettyCrashers, prevents exploits from blocking netty threads without using a ViaVersion fork;
- AntiCheat-Fix blocks several packages that cause anti-cheats to make the server use a lot of CPU;
- Dependency Free, does not require any dependencies;
- Advanced Packet Injection, packets are analyzed and blocked before the server can decode them, which is different from any other anti-exploit;
- Highly configurable, simple and detailed anti-cheat;
- GUI for latest alerts;
- Packet recorder with maximum file creation to avoid huge memory usage (switchable);
- 1.8, 1.12.2, 1.13.2, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.1+ Compatible on paper and related forks;
- Frequent updates when a new exploit is discovered;
- Printer/circuit compatibility with API or semi-automatic system;
Why choose LPX?
- Unique to NETTY CRASHERS , some rare clients such as GasClient have NettyCrasher exploits, one type of exploit that affects not server TPS but Netty streams. NettyCrasher keeps the Netty threads busy when the packet is decoded, so the server crashes and doesn't listen for any more packets. LPX is the only anti-exploit that has this check without using any weird ViaVersion fork or Spigot fork.
- Custom injection and no need for dependencies , LPX uses a unique injection method compared to other anti-exploits, which guarantees high performance without using Reflections to read packets.
- Smooth Packet Limiter Anti-exploiters generally discourage the use of packet limiters as this can cause poor connection issues for players. LPX has an accurate way to count spam packets and a fully working VL system to prevent false flags from lagging players. If any false error is found, the config can be easily edited to fix the false flags.
- Printer/Schematica compatibility , usually packet limiter plugins cause incompatibility issues with this mod, LPX has a very useful automatic system that detects when the player has started using printer mode and that ensures no false kicks. It is also possible to use the API.
- Advanced Packet Logger , if your server is attacked by a packet exploit, you can log every packet sent by any player to understand what type of exploit they used, and we can fix it within a few days. Packet Logger can be disabled, configured and does not take up much memory thanks to the automatic deletion of old files.
- Simple and detailed configuration , you can edit just about anything as long as you detect false flags, you can choose to enable/disable kicks for each check, enable/disable specific checks, and change EVERY value used in the code.
LPX plugin config:
Code:
# Download it here: https://black-minecraft.com/resources/1130/
license: "Black-Minecraft.com"
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
# For some reasons packets could be still received even if the player is not online
# Enabel this if you are having crashes even if the player is kicked
discard-offline-packets: 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
# 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 disabel
nether-portal-delay: 1000
# Prevents the oneshot bow. -1 to disable
max-arrow-velocity: 15
# Prevents sheep extinction. -1 to disable
shears-cooldown: 500
# 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
max-characters: 255
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: 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
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: 30
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
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: 10
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. >:'
options:
# The following strings are represented by 2 or 3 parameters:
# PacketName | PPS | Interval(ms)
# "PacketPlayInArmAnimation,10,100" Means this check will flag when a player sends 10 PacketPlayInArmAnimation packets in an interval of 100ms
limits:
- "PacketPlayInArmAnimation,50,500"
- "PacketPlayInUseItem,60,1000"
- "PacketPlayInBlockPlace,14,100"
- "PacketPlayInWindowClick,55,100"
- "PacketPlayInSetSlot,50,1000"
- "PacketPlayInPosition,20,100"
- "PacketPlayInAutoRecipe,15,1000"
- "PacketPlayInTabComplete,40,1000"
- "PacketPlayInUseEntity,40,1000"
- "PacketPlayInClientCommand,5,500"
- "ServerboundChatCommandPacket,5,500"
- "PacketPlayInBlockDig,60,500"
c:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending too many packets. :o'
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. o:'
options:
max: 13
e:
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
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: false
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cYou are sending suspicious packets.'
options:
max: 2048
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.'
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("
- "^(."
- "*."
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 ^"
- "/$"
Rights and commands of the LPX plugin.
/lpx alerts - lpx.alerts - Get alertslpx.alerts.printer - Get printer alerts
/lpx reload - lpx.reload - Reload configuration
/lpx gui - lpx.gui - Open GUI
/lpx clear - lpx.clear - Purge old packet logs
/lpx kick <Player Nickname> <Message> - lpx.kick - Force close the player's connection
Known LPX plugin incompatibilities:
- ProtocolLib <= 4.4.0 (released 4 years ago)
- Rare exception on Spigot 1.8.8 when clicking on skulls (Paper 1.8.8 fixed this)