Preamble
LagAssist was built as a comprehensive toolset to allow developers and server owners to solve lag issues caused by gameplay, glitches, etc. For almost 2 years, LagAssist has gathered more and more happy clients and large networks enjoying its feature set. The plugin is now used by over 2300 servers sustaining a total of over 10.000 people. That's excluding large networks that decide to hide from stats.
Aggresive Actions -> Analysis -> Prevention
Lagassist has been initially created to implement features that plugins like React shied away from due to them being able to do cause havoc when improperly configured. Such features are the Redstone culler (with its aggressive check), the spawner optimizer, the physics check, and more. These features provided a way to solve performance issues instantly to prevent more long-term damage, just like pulling a band-aid quickly helps more than slowly pulling it.
After a while, I've noticed the lack of tools to help analyze the reasons lag happens. Timings help but aren't that descriptive of the issues, and in-game profilers like
Spark (Great addition along with LagAssist) weren't a thing. The lag map along with the stats bar provided a great way to feel the way your server worked and find lag issues easier along with timings.
The chunkanalyser feature became a need-to-have feature for manual performance analysis and debugging lag, and the benchmark tool helped provide a quick approximation of how many players you could handle.
Lagassist then passed through the latest stage of development (still going now), focusing on preventing lag from happening in the first place. This meant the chunk limiter, chunk hoppers (and now sellhoppers!) became great ways to reduce lag on the most intensive factions servers. The limiter prevented too much from happening in a single chunk and forced players to run efficient machines, while the chunkhoppers provided them with a way and reason to switch anyway, replacing old plugins with a footprint 30x larger (then further optimized in an update to ~600x) than lagassist (tested on OxiusPvP w 300+ players, before & after, the same amount of chunkhoppers).
The latest form of prevention has arrived and consists of Sell Hoppers.
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%>
I've also changed permissions for modifying filters:
- lagassist.hoppers.togglesell
- lagassist.hoppers.customfilter
Enhanced Chunk Limiter
The chunk limiter was enhanced to now work on a soft - hard limit system. This allows preventing people from moving entities from one chunk to the other to bypass the limiter while not affecting normal behavior.
LagAssist will now no longer allow spawning over the soft limit, and automatically kill mobs going over the hard limit.
For example, if you have 16 armor stands in a chunk with a soft limit of 10 and a hard limit of 20, nothing will happen, but bring 50 other armor stands to the chunk and you'll not go over 20.
This is amazing for creative servers where people spam minecarts/armor stands to crash the server.