LagFixer is the ultimate performance boosting Minecraft plugin designed to optimize your server and eliminate unnecessary lag. By fine-tuning various server aspects and streamlining redundant features, LagFixer ensures a smoother and more enjoyable gameplay experience for all players.
Requirements:
- Java 8 or later
- Server version 1.13 - 1.21.3
Supported versions:
- 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20-1.21.3
- Most modules run on a wider range of versions [1.16.5 - 1.21.3]
- Forge based spigot forks: Mohist, Arclight etc.
Folia support (HELP)
We have removed support for servers running on Folia-based forks. Support for Folia was highly problematic and significantly limited the capabilities of the LagFixer plugin, especially in terms of increasing the asynchronicity of its methods. Since the engine itself is designed to be asynchronous, LagFixer cannot operate without impacting gameplay by executing on other threads.
Supported plugins
Placeholders
- %lagfixer_tps% - Current ticks per second
- %lagfixer_mspt% - Current miliseconds per tick
- %lagfixer_cpuprocess% - Current process cpu usage
- %lagfixer_cpusystem% - Current system cpu usage
- %lagfixer_worldcleaner% - Countdown to world clean
Commands
- /lagfixer - main plugin command
- /abyss - the place where deleted items go
Config
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
#░██╗░░░░░░█████╗░░██████╗░░░███████╗██╗██╗░░██╗███████╗██████╗░░
#░██║░░░░░██╔══██╗██╔════╝░░░██╔════╝██║╚██╗██╔╝██╔════╝██╔══██╗░
#░██║░░░░░███████║██║░░██╗░░░█████╗░░██║░╚███╔╝░█████╗░░██████╔╝░
#░██║░░░░░██╔══██║██║░░╚██╗░░██╔══╝░░██║░██╔██╗░██╔══╝░░██╔══██╗░
#░███████╗██║░░██║╚██████╔╝░░██║░░░░░██║██╔╝╚██╗███████╗██║░░██║░
#░╚══════╝╚═╝░░╚═╝░╚═════╝░░░╚═╝░░░░░╚═╝╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝░
#░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
#some of the options below require a server restart or plugins reload
main:
prefix: "&8[&e&l⚡&8] "
prefix_hover: true #LagFixer version info hover
threads: 1 #LagFixer does not have multithreading yet
monitor_interval: 5 #update interval in seconds for tps, mspt, cpu and others
errors_reporter: true #automatic reporting errors caused by LagFixer and Spark profiler to our support
updater: true
warnings: true #warning for legacy methods without support
command:
permission: "lagfixer.command"
aliases:
- lf
- antilag
- lag
modules:
CustomAi: #restart is needed to load all changes
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
collides: true #bow arrow don't work when this option is false
silent: true #disables the transmission of audio packets, which can increase server speed for large farms
async: true
force_load: false #this option is responsible for overwriting entityai when the plugin is reloaded
click_event: true #send information when the player clicks on the creature (disabled by dev)
#which entities should have replaced mobai and pathfinder system
entities:
animals: true
monsters: true
villagers: true
tameable: false #pets, for example: wolf, horse, cat, llama, parror etc. (true - may cause some issues)
birds: false #flying entities, for example: bees, parrots
others: true
pathfinder:
#keep mobchip pathfinders wrapper, only for 1.17+ servers (not tested)
mobchip: false
#keep only dedicated pathfinders for mob, for example
typeA:
enabled: true
whitelist: #don't modify it if you aren't a developer
- AttackableTarget
- HurtByTarget
- Attack
- BowShoot
- Swell
- EatTile
- FishSchool
# - AvoidTarget
# - RestrictSun
# - FleeSun
#removing useless random moves that load the server
typeB:
enabled: false
blacklist: #don't modify it if you aren't a developer
- Random
- LookAt
- Panic
- AvoidTarget
- MoveTowards
# - Float
# - FollowParent
# - MoveThroughVillage
#clear all existing pathfinders (not recommended)
typeC:
enabled: false
animals:
tempt:
enabled: true
range: 5.0 #player search range
speed: 1.25 #speed of walking
cooldown: 30 #player search cooldown in ticks
villagers: true #villagers will follow players with emerald in hand
trigger_both_hands: true #false = only main hand
event: false #call EntityTargetEvent with Reason: Tempt
teleport: false #not recommended
breed:
enabled: true
range: 5.0 #partner search range
speed: 1.0 #speed of walking
event: false #call EntityTargetEvent with Reason: Custom
teleport: false #not recommended
panic:
enabled: true
rangeFromPlayer: 7 #required distance from the attacker to activate
speed: 1.95
cooldown: 15
CustomVehicles:
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
minecart:
enabled: true
remove_chest: false #removes minecarts generated by minecraft world, should help for servers where new chunks are generating
silent: true #disables the transmission of audio packets, which can increase server speed for large farms
max_speed: 8 #default maxspeed in minecraft is 8
physics: true #when value is "false" vehicle can fall out of the world if it is on a block other than rail, maybe this will be fixed in the future
culling: false
collides: false
boat:
enabled: true
silent: true #disables the transmission of audio packets, which can increase server speed for large farms
max_speed: 8 #default maxspeed in minecraft is 8
physics: true #when value is "false" vehicle can fall out of the world if it is on a block other than water, maybe this will be fixed in the future
culling: false
collides: false
LagMonitor:
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
needed_mspt: 75 #when the server has mspt above this value, the lagfixer will set the options listed below
durning_lags:
simulation_distance: 2 #this value can be only 2-32, set a lower value than that in the fork configuration
view_distance: 2 #this value can be only 2-32, set a lower value than that in the fork configuration
disable:
entity_spawn: true
tick_hopper: true
redstone: false
projectiles: false
leaves_decay: true
mobai: false
liquid_flow: true
random_tick_speed: true
view_distance: false
simulation_distance: true
ConsoleFilter:
enabled: false
values:
logs_limit: 10 #limit of logger saves in directory "/logs", -1 disables this feature
filter:
enabled: false
save_filtered: true
error_filtering: false
patterns:
- '^<(([A-Za-z0-9_]{3,16}))> (.{0,})' #filter all Chat messages
- '^/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\:([0-9]{1,5}) lost connection' #filter all "lost connetion" messages
- 'Reached end of stream for /([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$' #filter "Reached End of Stream for {ip}" messages
- '([A-Za-z0-9_]{3,16}) issued server command: /(.{0,})' #filter all "Player issued server command" messages. Useful for example for AuthMe in fact of hidding passwords.
- 'Read timed out' #filter "Read timed out" messages
- '^.*logged in with entity id ([0-9]{0,}) at.*$' #filter all login messages
- '([A-Za-z0-9_]{3,16}) lost connection: Disconnected' #filter player disconnect messages
- '^(§e)([A-Za-z0-9_]{3,16}) left the game.' #filter messages like "§ePLAYER left the game."
- 'Connection reset' #filter all "Connection reset" messages
- 'CONSOLE: Forcing save\.\..*' #filter console force saving messages
- 'CONSOLE: Save complete\..*' #filter console saving messages
AntiClock:
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
ticks_limit: 1100 #limit of ticks per chunk every second
break_redstone: false #should plugin break redstone
lever_cooldown: 700
EntityLimiter:
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
alerts: false
perchunk:
enabled: true
creatures: 15 #animals and monsters per chunk
items: 25 #dropped items by player per chunk
vehicles: 3 #minecarts and boats per chunk
tiles: 10 #disabled by developer
perworld:
enabled: true
monsters: 70
animals: 10
water_animals: 5
water_ambient: 20
water_underground_creature: 5 #only for servers 1.17+
axolotls: 5 #only for servers 1.18+
ambient: 15
WorldCleaner:
enabled: true
worlds:
- world
- world_the_end
- world_nether
values:
interval: 240 #in seconds, countdown to run WorldCleaner
alerts: true #you can find in lang.yml
#command /lagfixer clearitems
clearitems:
enabled: true
abyss: #abyss is the place where all deleted items go, and players can get them back by typing the /abyss command
enabled: false
alerts: true #you can find in lang.yml
permission: "lagfixer.abyss" #set this empty to disable permission
menu_size: 54
item_despawn: true #true = plugin will listen ItemDespawnEvent and adds to abyss inventory
close: 30 #clear abyss inventory and disable command
blacklist: #list of materials: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
- BEDROCK
- BEACON
#command /lagfixer killmobs
killmobs:
enabled: true
named: false #should remove named creatures
drop_items: false #false = remove mobs without drop, true = kill mobs and drop items
whitelist: #list of entities: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
- ZOMBIE
- SKELETON
- SLIME
- CREEPER
- SPIDER
- PHANTOM
- SQUID
# - ENDERMAN
# - SALMON
# - COD
# - COW
# - PIG
# - RABBIT
#Beta - only for plugin developer
CustomTracker:
enabled: false
worlds:
- world
- world_the_end
- world_nether
values:
needed_mspt: 35
check_interval: 40
untrack_interval: 400
disable_ticking: true
range: 10
#Beta - only for plugin developer
CreatureStacker:
enabled: false
values:
seach_range: 5 #the distance from which creatures are searched
interval: -1 #-1 disables this feature
similarity_check: true #checking the similarity between creatures, e.g. the color of wool
whitelist: [ ]
blacklist:
- VILLAGER
- ZOMBIE_VILLAGER
- PILLAGER
Modules:
⭐ CustomAi: (Impact on performance: VERY HIGH)
- Replaces creature movement to optimize and reduce behavior.
- Addresses inefficiencies caused by default animal behavior like unnecessary random movements or constant looking around.
- LagFixer intervenes by disabling unnecessary PathFinders or replacing them with more efficient ones.
- Crucial in scenarios with numerous animals as even minor movements can strain server resources.
⭐ ItemsCleaner (Impact on performance: MEDIUM)
- Cleans up old items on the ground to accelerate server performance.
- Accumulation of items over time contributes to server lag, especially in densely populated or active servers.
- Removes extraneous items promptly to relieve server burden.
- Players can retrieve items from the Abyss inventory using the /abyss command.
⭐ EntityLimiter (Impact on performance: HIGH)
- Restricts the number of entities per chunk.
- Essential for survival servers with expansive animal farms.
- Prevents excessive entity accumulation and associated performance issues.
- Maintains stable performance levels even in environments with high entity density.
⭐ LagMonitor (Impact on performance: HIGH)
- Monitors server load and adjusts settings during latency spikes.
- Addresses fluctuations in server performance to mitigate delays and lag.
- Dynamically adjusts settings, disables unnecessary features, and optimizes resources.
- Ensures smooth gameplay by minimizing the impact of performance fluctuations.
⭐ AntiRedstone (Impact on performance: LOW)
- Disables demanding Redstone clocks to prevent server overload.
- Certain Redstone configurations can lead to performance degradation and crashes.
- Activating AntiRedstone preserves server stability and ensures responsiveness.
- Facilitates uninterrupted gameplay even with complex Redstone contraptions.
⭐ ConsoleFilter (Impact on performance: VISUAL ONLY)
- Filters console messages based on predefined rules.
- Enhances clarity by selectively displaying essential messages.
- Reduces clutter and improves readability in multiplayer servers.
- Facilitates efficient server administration and enhances the user experience for both administrators and players.
⭐ CustomVehicles (Impact on performance: LOW)
- Optimizes all vehicles such as Boats and Minecarts.
- Removes minecarts with chests spawned in mineshafts.
- Particularly useful when minecarts are frequently used on the server.
- Enhances server performance by optimizing vehicle mechanics and removing unnecessary entities.