Version: 1.89.9 | CB 1.5.1 and CB 1.5.2
Not compatible with BukkitForge
Quote from lenis0012:
in case you are using Orebfuscator, make sure you have ProtocolLib Installed
If you get a warning message [Server] followed up with a stack trace in the log, this has to do with the main thread not having responded within 10 seconds. The warning is NOT an error and is no bug, and not a bug related to NoLagg. To disable this feature, disable 'threadlocknotifier' in the config.yml. This feature is mainly intended to notify you what plugin is causing the server to freeze, may it ever happen. It is used to debug plugins in general, as they may get stuck for whatever reason. If NoLagg DOES show up in there, it is a bug you should report.
NoLagg is made out of multiple completely separate components. When first installing NoLagg, open up config.yml and disable components you do not need. This is very important, as some components may conflict with other plugins you use, or may not function on the type of demand you have. Spawn limiter is improved a lot from 1.88.4 and onwards, though, and no longer uses a tick task to enforce limits. However, there are other plugins that can do it, and often dedicated plugins are better fitted to do the job.
Separating into jar files
NoLagg consists of multiple components you can individually enable and disable. Reasons for not publishing it as a separate jar file for every component can be read here. Please don't ask to separate the components, I will just link you to here.
Prevent lag caused by many items
Every time an item gets spawned, it is buffered per chunk. For example, you spawn 30 items using Q and the maximum allowed items per chunk is 20, then the 10 remaining items are not spawned. They are spawned as soon the item count in this chunk is < 20 again.
Form item stacks - fully automatically
Whenever two or more (configurable) items or experience orbs get near each other, they form a single stack of that item type. If someone drops 64 dirt blocks on the ground using Q, it will show a single item of 64 dirt instead.
Prevent lag caused by TNT
This plugin takes over tnt ignition caused by explosions. When exploding stacks of tnt, it does not rush all tnts into a single tick, but detonate them nicely in sync. This results in pretty awesome fireworks. :)
Prevent lag caused by lighting glitches
Whenever a new chunk is generated, it's lighting information is generated and all nearby players receive the updated chunk data. If the auto-method fails, you can use /nolagg fix to do it manually. This fixing fixes, for example, dark spots in and around caves lagging the client.
Set entity spawn limits
You can set a spawn limit on virtually every entity in the game. From mobs to items to TNT. Only thing being excluded is Players, since I can't simply kick someone 'like that'. :) Note: It removes already spawned entities too. So, if you want to keep your animals alive, don't set mob or animal limits, or it will possibly clear your farm animals. (or you can disable the spawn limiter all together)
Since asynchronous chunk saving is now implemented internally, it is no longer a problem to save entire worlds frequently. You can set auto-save intervals in the configuration. If used with an interval higher than 400 ticks (20 seconds) it will use a scheduled task instead of the internal saver to prevent chunks never getting saved. Another benefit is that player information is also auto-saved, preventing your players losing their inventory state.
It also adds a new interval: a world save WRITE interval. Writing is now buffered internally, but when the server crashes all this data would be gone. The saving component will ensure that world data is updated every other time. This can help prevent you losing a lot of progress in your world.
New chunk sending mechanics
Instead of loading chunks all around the player, the player direction is used to load the visible chunks first. This means that players can expect chunks in front of them to load quickly, while chunks on the sides take a bit longer to appear. When the player looks into another direction, the direction changes and thus the new visible chunks get loaded first. Only if all chunks ahead of the player are loaded, chunks around the player are sent. This all can be configured using a simple minimum and maximum sending rate. It also adds a dynamic view distance, combined with lazy chunk loading to reduce the amount of chunks loaded at once when players move. This can reduce tick lag a lot.
Examining the server tick rate
If you encounter very low tick rates and you want to find out what plugin is causing it, you can use the examine component to find it out. It comes with a graphic viewer, which makes bug tracking the easiest thing ever.
Prevent cross-thread access for events
As it seems, some plugins don't follow the rules and use Bukkit methods in another thread. This plugin will notify you whenever this happens so other plugins understand their mistake. If you encounter a lot of spam in the console, first check the stack trace for the plugin that caused the error. Report this error to the author or remove the plugin, if you have questions you are free to ask. Note: Bukkit add isSynchronous() to the event. A lot of plugins are, however, uninformed about this property. Until it is well-known, this feature will be in NoLagg.
Here is a video by BlueDevonMovies (lenis0012):
Table of contents
- 1 Not compatible with BukkitForge
- 2 Important
- 3 Description
- 3.1 FAQ
- 3.2 Separating into jar files
- 3.3 Prevent lag caused by many items
- 3.4 Form item stacks - fully automatically
- 3.5 Prevent lag caused by TNT
- 3.6 Prevent lag caused by lighting glitches
- 3.7 Set entity spawn limits
- 3.8 Global auto-saver
- 3.9 New chunk sending mechanics
- 3.10 Examining the server tick rate
- 3.11 Prevent cross-thread access for events
- 4 Video
- 5 Links
- 6 Development builds
- Date created
- Sep 19, 2011
- Last update
- May 12, 2013
- Development stage
- GNU General Public License version 3 (GPLv3)
- Curse link
- Recent files