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 Oct 27, 2012@MasterGabeMOD Error is completely unrelated to NoLagg, it's a chunk error of some sort. NoLagg is in the stack trace because it is NoLagg that loaded the chunk.
-
View User Profile
-
Send Message
Posted Oct 27, 2012Got a error http://pastie.org/5122826
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
unknown sub-command, I think I have it disabled. I restarted server before doing nether and again after. Been up for 10 minutes now with players now, RAM seems stable. When it was fixing the main world it reached 100% on mymcadmin, the box showed 1gb free, and /lag stats showed different stats always, never 100% on /lag stats.
Oh, and the nether works great now, no client freezes anymore.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 What you had was actually not a bug, just the memory that has to be garbage collected. Does it go away after performing /lag gc?
Anyhow, I added a safety check nevertheless to prevent single fixing runs of more than 500 chunks at a time. This prevents 10K chunks being processed at once, which would result in outofmemory errors.
https:dl.dropbox.com/u/3681706/NoLagg%20v1.88.9%20TEST%204.zip
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
That ram usage didn't go up instantly, it went up from 5% to 100% in like 2 hours of fixing the 400k lighting on the main map, with that error in console popping up all the time lol.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 Ai ai, that is bad. Another thing for me to fix...hang on :/
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
It has 112k left, Ill download the new one and test it with nether when this finishes
EDIT: lol this is the first time I see our server use so much RAM, up to 96% usage so far 11.6gb of 12gb. It's been slowly increasing
EDIT 2: New version didn't pop up that error, but I did remove all plugins except worldgaurd, bkcommonlib, multiverse and nolagg
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 https:dl.dropbox.com/u/3681706/NoLagg%20v1.88.9%20TEST%203.zip
Still slightly puzzled how you and many others can get that error. The lighting component doesn't try to close streams of regions referenced on the server, so it's a bit weird. Could very well be some sort of CraftBukkit bug though.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
ok lol, still 180k lighting to fix in main world, probably another half hour or so. I'll wait for another fix for nether then :P
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 Wait, don't do anything yet. It needs some fixes before it can properly fix the entire nether!
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
Saving component where? mcmyadmin saves the world every 15 minutes. If you mean nolagg here that part of config: saving:
So no, its not enabled
EDIT: before I fix the nether I'm gonna take off all the plugins except worldgaurd and nolagg
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 Do you have the saving component enabled? And if so, what write interval did you put in there? I suspect that it has to do with this, as it also happened to people that didn't fix chunk lighting errors.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
Running this in the main world right now, was going to do nether after this finishes...265,481 lighting errors to go, lol That error is happening every 5 seconds or so, sometimes it wont pop up for a minute
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 Hmm nothing too weird in there, I was thinking of world border, but all that does is prevent players from moving, not chunk loads. Anyhow I did have to fix a few things for nether and the_end worlds; it didn't use the DIM-1 or DIM1 folder that CraftBukkit uses. Didn't properly load all regions as a result.
Quickly taking a look at the entire 'region file closed' problem to see what could cause it. I do close a region file at some point, but only for region files I temporarily create and load to obtain the chunks that it contains.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
Latest version of craftbukkit, 1.3.2 R2.0. I has 315,879 lighting errors to fix...it is going down. We got tons of plugins...I suppose I'll list them off: -edited out-
That took a while to type out lol
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 Looking into this problem. I don't personally get this error, so I do want to know what CraftBukkit version you use and what other plugins are running. I have a mild suspicion, of course.
You can use /lag monitor or /lag stat and keep track of the '[X lighting]' counter. It will decrease over time, and when it reaches 0, it finished all chunks. No need to regen the config file, any updates are done by the plugin automatically - always.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
Getting lots of this in console after starting the /lag fixworld: http://pastebin.com/Y1yeR52r Also do I have to regen the config file? And does it say when its done fixing the world? I whitelisted server to keep players off while this runs
-
View User Profile
-
Send Message
Posted Oct 26, 2012@twisted067 I will do and put up a dropbox link for you. Will only take a few seconds.
EDIT
Here ya go:
https:dl.dropbox.com/u/3681706/NoLagg%20v1.88.9%20TEST%202.zip
Never realised it, but the nether IS laggy. Didn't know it had this many lighting bugs, because indeed, after fixing it in the world I could fly around again without having constant client freezes every 2 seconds.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@bergerkiller
Excellent! I can't wait. Did you test and see if it worked in the nether and the end? We have tons of lighting bugs there, its so bad in the nether everyone lags, except where I did fix errors.
-
View User Profile
-
Send Message
Posted Oct 26, 2012@EvilJackCarver Good suggestion :)