Resource icon

SpigotMC Plugin LagAssist 1.9.1

You must be signed in and/or upgrade to VIP to download this resource
Tested Minecraft Versions:
1.81.91.101.111.121.13
Languages Supported:
English
Contributors:
_ShadowXD









(!) Notice:
The 2.0 versions of LagAssist are now considered fully stable, and it is heavily recommended to upgrade. LagAssist had very few bug reports from version 2.3.0, and most of them were minor. Still, if you have any bugs, make sure to contact me on discord for me to fix them.

Description:
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.
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)

YouTube Tutorials:

Spoiler: How to Configure LagAssist

Commands:


GUI:




Permissions:
  • lagassist.use - Use the LagAssist GUI & Commands
  • lagassist.reload - Have the ability to reload the plugin.
  • lagassist.chunkanalyser - Allow the use to the chunkanalyser feature of lagassist (Also needs lagassist.use)
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 informations 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 lagspike 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 is implemented (if you run on another kind of system, PM me and i'll add it with your help).



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.



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. 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.


Configuration
The config is very simple to understand and extremely vast. You can configure allmost everything, allowing for value fine-tuning. This way, you can make this plugin to detect issues that aren't present in vanilla servers.
Spoiler: Default Config


Why Buy LagAssist:
  • LagFree - LagAssist is made to work along with your own spigot/paper optimizations. On test runs on Gamster.org (with 100 players), lagassist consumed 0.4% of the tick.
  • Deluxe Support - I offer support as soon as I can, and I love to get feedback and to implement requested features.
  • Smart Measures - LagAssist is a plugin, and plugins have a lot of possibilities. LagAssist's numerous LagMeasures allow you to maintain your server fresh, to remove lag-machines automatically and find what causes lag.
  • Prevention - LagAssist's RedstoneCuller system prevents lag, not just fixes it. It will make sure your server will not become overcluttered by laggy and inefficient Redstone farms.

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.
Spoiler: LagAssist Vs React


FAQ
Spoiler: Why don't you add item-despawn after X minutes & Chunk Clearing. ClearLag Has These!


Terms Of Service
  1. Decompiling and modifying this plugin for personal use is allowed, but you are not allowed to distribute any code you find in my plugin.
  2. You are not allowed to redistribute this plugin in any shape or form.
  3. Due to the digital nature of this product, I don't offer refunds in case the plugin works as it was designed to. I am reserving the right to choose who I refund, and who I don't.

Love LagAssist?
Help spread the word! Use this signature on spigot to support our continued development of this plugin.
Code (Text):




Technical Support:
Do you have any issue or feedback? Make sure to notify me on discord, and I'll happily help you. You can join it by clicking the image or here.
Author
DesolateSins
Downloads
13
Views
315
First release
Last update
Rating
0.00 star(s) 0 ratings

Share this resource