Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
This is the fork of LagAssist plugin. My goal here is to support for newer version of Spigot or Paper Minecraft. You can find the original Spigot page here.
LagAssist is a plugin created to help manually and automatically reduce lag. It includes many tools that can be used to locate lag sources and remove them. It also includes various benchmark features, that will help you plan your infrastructure ahead. LagAssist is also light-weight, consuming only 0.4% of ticks with 100 players online, while also retaining a lot of features.
12 IN 1 PLUGIN: LagAssist can be used to replace a wide array of gameplay & lag-related plugins while also reducing costs. LagAssist's features are often more light-weight without removing any functionality. These are the plugins whose features lagassist can replace:
- MergedMob
- React
- JetsSellChest
- FPSHelper
- FarmLimiter
- Redstone Clock Detector
- HLR (Crop hoppers)
- Best View Distance
- McCleaner
- CustomPayloadFixer
- FixCrashBook
- LagAssist's Unique Features
Test Servers:
LagAssist is used by some large networks. Gamster is one of them and has over 2000 players constantly. You can check lagassist by visiting their game modes (IP: play.gamster.org)
Permissions:
- lagassist.use - Use the LagAssist GUI & Commands
- lagassist.reload - Have the ability to reload the plugin.
- lagassist.chunkanalyser - Allow using the chunkanalyser feature of lagassist (Also needs lagassist.use)
- lagassist.hoppers.togglesell - Toggle sell hopper use
- lagassist.hoppers.customfilter - Chunk/Sell hopper Filter
LagMonitor:
The lag monitor analyses the server performance and runs measures according to the server tps. It is fully configurable, allowing clients to configure everything from the monitor's frequency, and what measures will get executed depending on the server tps. It shows different messages to the players and staff, helping staff know what measures have been executed, while not offering confidential information to the player (configurable).
ChunkAnalyser:
The chunkalayser helps find laggy chunks based on a predefined score table. You can set different score ratings for each normal & tile entity. Running the command will list the chunks with the highest score. You can click each chunk to teleport to it. This feature is highly advanced and will highly help you to find lag sources along with useful info to mitigate it.
The chunkanalyser also allows you to check the score for the current chunk. This feature is pretty usefull to check areas which might seem laggy, superpopulated, etc.
LagMap:
The lagmap is a simple way to visualize server performance. It helps to monitor lag spikes and find when the server starts lagging.
LagMeter:
The LagMeter is a minimal lag-visualizer that can help you monitor lag while doing other tasks. It will even show when the server is recovering from a lag spike by running tick calculations faster.
LagOverview:
LagOverview is a simple yet detailed look into system information. It can help to find out what may be causing lag spikes on the hardware-level; help monitor how much shared hosts oversell, and more.
A Lag-Overview is shown each time you use /tps.
RedstoneCuller:
The Redstone-Culler is one of the most advanced features of LagAssist. It is fully configurable, and you can set it to do anything from simply disabling Redstone-machines each time the Redstone is culled to checking how many times observers tick and removing the ones that pass a certain rate. It is very useful for preventing Redstone lag, as the "breaker" setting can be changed to defer creating large and inefficient farms while leaving simple, efficient farms intact. I highly recommend it for servers where redstone is widely available, such as: Creative, Survival, Factions, Skyblock, etc.
Benchmark:
The benchmark system offers important details about your machine, along with an approximation of how many players you will be able to keep. It gets the CPU data from Passmark's CpuBenchmark site by simulating a browser, and the memory information from your process and uses an advanced algorithm to find how many players you will be able to keep. It also shows you information about your download and upload speed from any FTP server you want. The default one is highly reliable and fast, so you can make sure that the benchmark will be right wherever you are in the world.
Note: The benchmark system relies on getting the CPU name from the system. Java doesn't offer any easy way to do it, so I had to create my own efficient and compact system to get the CPU name. The system is OS-Dependent. Currently, only Windows, Linux, and macOS are implemented. Client-Side Optimizer (NEW):
The client optimizer allows players to have higher FPS during some high-load activities like cannoning, stacking sand, etc. It uses packet interception in order to hide laggy features for players, and thus allows them to have higher FPS without altering the gameplay too much. I've seen large improvements with Client-side lag. Not only that, but players can even configure what they want enabled and what not using a very nice & easy GUI; using a custom command that can be configured by you.
Ping Benchmark:
The ping benchmark is a simple way to find information about the playes' connectivity to your server. It is simple now, yet it gives quite a lot of useful informations.
ChunkHoppers:
Catch all items from a chunk directly into a hopper. This is really useful if you're having lag with items, and can thus highly increase the performance. It won't affect player-dropped items and is a good way for factions servers to get rid of item lag. Unlike other plugins providing similar functionality, LagAssist uses a smart chunk caching system to improve the performance 20-fold, while retaining the same visual functionality. Not only does lagassist have an extremely efficient chunkhopper feature included, but it also allows players to create filters for their chunkhoppers! This can be used both for performance & gameplay purposes and is made with large networks in mind.
Players can access the filter by Shift + Right Click the hopper, and open the hopper by just normally using RightClick.
Introducing Sell Hoppers
Sell hoppers are a great monetizer and an amazing replacement to sell chest plugins available on the market. Unlike other implementations of auto-sell, lagassist's sell hopper implementation is exact, efficient, and straight-forward. It comes with amazing configurability potential and toggleable functionality:
- Shift + Left Click to enable/disable sell hopper (requires permission)
- Shift + Right Click to set the filter of items (used with sell hoppers) Not only that, but lagassist allows you to sell multipliers that can be given per player using permissions!
lagassist.sellhopper.<MULTIPLIER%>
Smart Entity Stacking:
Stack entities with performance in mind. The algorithm that LagAssist uses was made for huge entity throughput. This means that thousands of entities can be stacked almost instantly, without performance dips. LagAssist's stacker is fully compatible with 90% of already existent stackers, as it uses the entity name as a way to know the stack value of it.
Anti-Crash Packet Analyser:
Prevent hacked clients from crashing your server using illegal packets by enabling the anti-crasher module. It works by actively analyzing packets and dropping all connections that are found suspicious. The system is entirely configurable, so you can add your own detection modules without any Java experience. Just enable the debug system, understand what makes the packet crash the server and configure the system to detect it.
PhysicsDisabler:
Disable physics elements when the server is lagging. It can be configured to only disable some features, or even disable it on startup. This can also be used to remove unused gameplay features, in order to optimize the server.
ChunkLimiter:
Limit the number of entities and tile entities allowed in one chunk in order to rate-limit mob-spawning. It is highly effective on creative servers where players may spawn a lot of minecarts in order to lag the server. This feature is still in beta but has been tested pretty well.
Dynamic View Distance:
Dynamically calculate the optimal view distance for maximum player satisfaction and minimal server load. This system is very advanced and configurable and can be made to work with any minigame. The config is pretty self-explanatory so it shouldn't be hard to configure yourself.
MobCuller:
Culls the mobs if the tps is low. It can help with removing mobs from highly-populated areas. It is set not to remove mobs that are named, in order to a vanilla-like gameplay.
Spawner Improver:
Spawners can be a large source of lag for Minecraft servers. Thus, I've made it very simple to modify spawner attributes in order to optimize both gameplay and performance. Not only can you modify how spawners work, but also automatically remove some them based on chance in case players have extremely many spawners. This feature has had amazing results on gamster.org, where a miscalculation lead to players having exceedingly many spawners that lagged the server. The implementation of the spawner improved the TPS by 30% (from 16 TPS to 19 TPS).
World Blacklist:
Choose which worlds lagassist will not have an effect on. It is especially helpful if you have a hub world where Redstone should always work, even if the server is lagging.
LagAssist vs Other anti-lag plugins
Most anti-lag plugins count on the inability of the server owner to configure his server properly and correct for that. For example, some clear items every 5 minutes or so, which is not only useless, but that can even be achieved without any plugins. Spigot has a setting named item-despawn-rate that can be set to accomplish the same thing without annoyances such as items disappearing just as they are dropped if the player is unfortunate. Also, a large portion of them allows the owner to trigger a Garbage Collection. Java clears memory when it needs to, and triggering it when it doesn't need more RAM is not recommended. Some of them have even been reported to produce lag by themselves, even taking up to 6% per tick (while lagassist takes ~0.3% for most servers). LagAssist has a different approach. It is developed to work on top of a good spigot (& paper too, I really recommend it) server and to help large server owners achieve large player counts without lag. Not only does it fix lag, but also help prevent it. It has some great tools that can help while developing the server in order to understand the server's limits and how you can overcome that.