NoLagg

Version: 1.90.4 | CB 1.7.2
Quote from lenis0012:NoLagg has not been updated since 1.7.10, for more info, check BKCommonLib
Description
NoLagg is made out of multiple completely separate components which you can enable and disable freely. Together they offer:
- Send chunks more gracefully with lowered network stress and reduced processing spikes Read more...
- Remove entities, resend chunks in case of chunk holes and clean up server memory Read more...
- Examine server tick rate performance with deep view into per-tick processes of the server Read more...
- Stop a large amount of items from spawning and spawn at a later time to avoid frozen clients Read more...
- Stack items with a configurable per-world radius Read more...
- Fix lighting errors that cause clients to recalculate lighting (and thus lag) Read more...
- Keep track of server performance such as entities, tick rate, memory and more Read more...
- Fix various bugs the server has (Patches component)
- Schedule autosaves and force data to be written to disk to prevent data loss on server crash (Saving component)
- Limit the amount of entities allowed to spawn per world or globally Read more...
- Watch events closely to warn when plugins execute main-thread methods from another thread Read more...
- Show a detailed message explaining the cause for a server freeze (lock) [read more]
- New TNT execution algortithm that is not only more efficient, but also avoids server freezes Read more...
Important
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. If you get a warning message [Severe] 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.
FAQ
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.
Spigot server
Not all components are needed when you use the Spigot server. The ItemStacker, ItemBuffer, Spawn Limiter, Thread Checker and Thread Lock Notifier components are not needed, since Spigot has it's own implementations to deal with that. If you still wish to use one of these components, you can, but it's best to disable the Spigot alternative then.
The other components (such as TNT, Chunks, Lighting, Common, etc.) are not implemented in Spigot (yet?) and offer additional functionality.
PTweaks
Since people keep asking about this, I went ahead and compared the two plugins. I am not going to discuss which is better in functionality, I'm just going to state which features overlap and which do not. Both plugins offer a TNT-lag solving solution, feel free to choose which solution you like better. (the solutions are different) Both plugins also offer a way to change when and how chunks are saved, NoLagg adds to this that you can configure when the server writes data to disk. PTweaks offers a way of showing used memory, NoLagg Monitor too with a bit more information. Again, preference. Chunk Persistence is something PTweaks offers and NoLagg does not. Reason I excluded it from NoLagg is that the implementation used up more processing power than that it solved (I did have this for a while). If you want to give it a try, PTweaks is your answer. Monster Limiter is incorporated in NoLagg as well but then for all entities, and more options. ChunkEdits is a tricky one: NoLagg chunks does something similar, with the difference being that it also changes at what rate chunks are sent, which is the main feature NoLagg chunks offers. In addition, the ability to increase the amount of threads running to process chunk packets and the re-using of packet raw data offers some benefits PTweaks does not offer.
Then there are a lot of other features NoLagg has and PTweaks does not, such as examining server tick rate, item stacker, item buffer, fixing lighting, cleaning up server memory, resending chunks, removing entities on command and others (see description).
In short: Both plugins offer some overlapping features, and you need to pay close attention to the configuration of PTweaks and NoLagg and disable things that conflict. Having two TNT explosion altering plugins is going to have strange results, for example. Compare the functionality, decide, and enable in NoLagg what you do not want in PTweaks, and vice versa.
NoLagg showing up in error stack traces
The examine component inserts various hooks into the server to gather measurements. Specifically, you will find that the following lines show up now and then. These hook classes do absolutely nothing when not examining and can not be the cause for any issues, unless the stack trace ends there (first line after the exception shows this stack trace)
- org.timedbukkit.craftbukkit.*
- com.bergerkiller.bukkit.common.internal.ChunkProviderServerHook
Video
Here is a video by BlueDevonMovies (lenis0012):
Metrics
This plugin sends server count statistics to MCStats.org. You can (globally) opt out in the PluginMetrics/config.yml file.







-
View User Profile
-
Send Message
Posted Mar 8, 2012"If you host around 100 players and have over 10K chunks loaded on average, I recommend not to use the main NoLagg.jar, as it functions best on lesser-performance servers." so this plugin its not recommended for large servers?
-
View User Profile
-
Send Message
Posted Mar 8, 2012@Royalgamer06
tldr:
Talk to the herobrine plugin dev.
-
View User Profile
-
Send Message
Posted Mar 8, 2012does your laters update work with Orebfuscator? now? thanks for reply
-
View User Profile
-
Send Message
Posted Mar 8, 2012Please update for 1.2.3 craftbukkit 1.2.3-R0.2
-
View User Profile
-
Send Message
Posted Mar 8, 2012@bergerkiller Oh, thanks! I didn't know it is not your plugin, sorry for bothering you.
-
View User Profile
-
Send Message
Posted Mar 8, 2012Royalgamer06 It looks more like an error in herobrine itself, send them the stack trace and tell them they are accessing Bukkit from an async task. Timedwrapper does nothing, but is currently confusing the thread check in believing it is the initiator.
Valdiralita it is a bug in CraftBukkit. But, first of all, get rid of the chunk unload delay, as it makes it worse. The bug is that, for empty worlds, all loaded chunks are unloaded every tick. If the actual cancelling fails for 50 chunks, it will keep on unloading the chunks it can't unload, which causes all other chunks to be never unloaded.
http://forums.bukkit.org/threads/error-in-craftbukkit.63897
-
View User Profile
-
Send Message
Posted Mar 7, 2012one bug stack item with showcase
when player drop one item near by showcase half-step Block.
and player will pick up two items
-
View User Profile
-
Send Message
Posted Mar 7, 2012@Valdiralita
I have still this issue (v1.75)
NO player online
20k+ chunks loaded...
why?
chunk unload delay is at 10seconds
-
View User Profile
-
Send Message
Posted Mar 7, 2012@Jadedwolfs I am almost completely sure this bug is Spout - side only. I have seen no possible way NoLagg or NoLaggLighting change the actual block data from anywhere, so it simply has to be a Spout bug...
-
View User Profile
-
Send Message
Posted Mar 7, 2012@bergerkiller
The appropriate one (the latest dev) for the CB version (the latest dev).
I was only using the lighting and item buffer parts, well and the main nolagg jar.
More verbose version ids: CB 2037, Spoutplugin 920, Nolagg 1.74.
/
-
View User Profile
-
Send Message
Posted Mar 7, 2012@Darkhand81 I don't know, ask the author himself :)
Re-uploaded the file, it contained the wrong BKCommonLib.jar for some reason...
-
View User Profile
-
Send Message
Posted Mar 7, 2012@bergerkiller
What did the ghost-block issue with Orebfuscator turn out to be? Just curious. :)
-
View User Profile
-
Send Message
Posted Mar 7, 2012See 1.75, I removed the build qualification message stuff. BKCommonLib also got several fixes, it had trouble with Bukkit's new class loader. (it now generates a new class loader for every plugin, this conflicted with the nested classes in PluginBase)
The monitor feature is now in a separate plugin also.
-
View User Profile
-
Send Message
Posted Mar 7, 2012@imilkywayz Removed the 'error' (it's technically an info message!) in the next versions. Tired of people like you thinking it is a severe issue...do you see a SEVERE printed next to it? :/
I separated the plugins because, having all of the features in one plugin, caused it to slow down everything, which is not needed. Plus it is easier for me to keep the plugins updated, since one error no longer causes all components to fail.
@Jadedwolfs Did you manage to find out which component was causing it? AFAIK NoLaggTNT, itembuffer, examine and probably the main NoLagg are safe to use. Lighting only changes lighting values in chunks, but you never know. NoLaggChunks could possibly go wrong while generating the packet, but even then, it's impossible for it to cause permanent damage.
Also, what version of the Spout plugin did you use?
-
View User Profile
-
Send Message
Posted Mar 7, 2012@bergerkiller
So I did more research and it turns ut it's the interaction between spout and nolagg, well nolaggs api, etc. Removing one or the other(nolagg or spout) fixes the removing stone issue. Thus somehow some way nolagg and spout make a deadly combination that cause bad things to happen, but removing one fixes it. -.-; Sadly I opted to remove nolagg. For now. =/
-
View User Profile
-
Send Message
Posted Mar 6, 2012Yeah.
I have version 1.04
-
View User Profile
-
Send Message
Posted Mar 6, 201217:24:31 [INFO] Plugin 'NoLaggTNT' v1.04 is too old to run on CraftBukkit build 2034 17:24:31 [INFO] Update NoLaggTNT to a newer version or look for an older build of CraftBukkit 17:24:31 [INFO] The plugin will still function, but may be instable. 17:24:31 [INFO] NoLaggTNT version 1.04 enabled!
Umm??
-
View User Profile
-
Send Message
Posted Mar 6, 2012Branching off into several different plugins was the dumbest thing in my opinion.. I always get the nolaggchunks is not up to date error message when it is.
-
View User Profile
-
Send Message
Posted Mar 6, 2012bergerkiller: You know...if I could wave a magic wand, I would say that it's time for MOJANG to just buy you and integrate your code directly. I know others have also made this suggestion. You should be working for them. Anything else is just nutty. It would make your plugin 100x more effective, less risky, keep it from breaking across different builds, and would improve the game experience for everyone. You have clearly solved problems and improved functionality in ways that minecraft desperately needs and you have a better understanding of performance tuning trade-offs & implementation than its creators. It's a no-brainer! MOJANG! TAKE NOTICE! :)
-
View User Profile
-
Send Message
Posted Mar 6, 2012Ok I found the culprit:
The player manager.flush method is called every tick, and if the world is empty, it keeps on unloading chunks that don't need an unload at all. The problem is that the chunk provider 'c()' method unloads ALL currently loaded chunks. At some point the player manager flush method started to be called every tick, with this enormous spam as a result.