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 Apr 19, 2012@guyag Tasks are tasks that the server executes every now and then. For example, NoLaggItemBuffer has a task that runs every 20 ticks to check if all contained items are still alive and in the chunk. Tasks can be seen as events that fire at a fixed rate.
-
View User Profile
-
Send Message
Posted Apr 18, 2012With NoLaggExamine, what are the random tasks like "Task #53"? I presume those are listeners or something..? Enlightenment would be greatly appreciated!
-
View User Profile
-
Send Message
Posted Apr 17, 2012I just have WeatherRestrictions and SnoGro weather plugins. WR is a mature project, but the issue is gone if I remove it. Tux wrote it. SnoGro only fires if weather ocurs. It doesn't diet events. I'm trying to confirm which it is, or maybe its having both.
-
View User Profile
-
Send Message
Posted Apr 17, 2012@CommanderGizmo First of all, O_o. Your weather/thunder change event is heavily bugged. It must be called over 300K times in that small timespan...no wonder it shows up so huge. Even if processing it takes 2 ms it would spend 600000 ms processing it. (600 seconds)
Obviously something is trying to change the weather. It could be the server, though I doubt. Is there any other weather locking plugin active that could possibly interfere? My guess is that another plugin tries to change the weather state every tick...though it is much even then.
-
View User Profile
-
Send Message
Posted Apr 17, 2012@allix8 Unrelated to NoLagg, just the chunk listener of NoLaggExamine getting logged.
-
View User Profile
-
Send Message
Posted Apr 17, 2012@bergerkiller
You can view the timings file here and the exam file here. I'd love to know what is going on as I really like the plugins involved.
-
View User Profile
-
Send Message
Posted Apr 17, 2012Same problem as allix8, server cant reload
-
View User Profile
-
Send Message
Posted Apr 17, 2012-
View User Profile
-
Send Message
Posted Apr 15, 2012@lanuk The bars display, for each tick, how much time was spent. (for those things that could be checked: events, tasks and chunk loading/generating) Each tick can process around 50 ms. If you see spikes above 20 ms you know something is wrong..unless it is just one time that it happens. By scrolling you can zoom in. The bottom-listed plugin is the plugin that spent the most time. 19/20 tps is just fine.
@CommanderGizmo The bukkit method is not accurate. It takes the 'average' over the entire run. If a plugin spend 2000 ms in one tick, you experience a lot of lag, but on average it would be listed low. That is why the examine plugin lists durations per tick.
You can send the file, I can easily tell what is going on just by looking at the events that are bugging.
-
View User Profile
-
Send Message
Posted Apr 14, 2012Just a heads up if it means anything: I ran NoLagExamine (as per my last post) to determine what was causing high CPU usage on my server. The data pointed to WeatherRestrictions. However, when running the built in Bukkit timings command, the plugin SnoGro was implicated instead. However, in each case the implicated plugin was showing long tick times on WeatherChangeEvent.
I'm guessing that some interaction between the two or WeatherRestrictions is calling/triggering SnoGro in some way that causes the usage to appear to be the former. Which do you believe to be more accurate? I can send you the files if you want to have a look.
-
View User Profile
-
Send Message
Posted Apr 14, 2012Thanks for the awesome plugin. I was really pleasantly surprised when I read up on the examiner. I used it, and got a bunch of bars, but have no idea what any mean. Is there somewhere I could read up on that?
Oh, and I currently have at average 19-20 ticks per second [98%] with only me online doing nothing in particular... could someone possibly tell me if that's good or bad?
-
View User Profile
-
Send Message
Posted Apr 14, 2012@TerraNetworkOrg Yes, though I've read somewhere that it doesn't properly support ShowcaseStandalone yet. Will try to fix that up tomorrow...
-
View User Profile
-
Send Message
Posted Apr 14, 2012Is it safe to use the latest version with 1.2.5 ?
-
View User Profile
-
Send Message
Posted Apr 14, 2012@NickLuther You need to use the newer BKCommonLib version (1.18)
@mast3rpyr0 Nope, not possible as rendering is client-side. I merely send the chunk data as a whole.
@dabomb665m Nope, the NoLagg.jar is a separate component just like all the others. Low ping players will always have some issues, but you can find a balance between chunks and chat/other message flow. By default it will stick to 0.25 chunks/tick as minimum, you can up it if it is too slow.
-
View User Profile
-
Send Message
Posted Apr 12, 2012Thank you, i love this plug! 1.2.4r0.1 109.168.106.110:25590
-
View User Profile
-
Send Message
Posted Apr 12, 2012Is this working with 1.2.5r1 yet? If so... do you need nolagg.jar to get nolagchunks.jar to work? I loaded nolagchunks on 1.2.5r and it was causing all sorts of problems for my "low ping" players
-
View User Profile
-
Send Message
Posted Apr 11, 2012Hi, I am having some strange issues with my server causing 50% CPU usage when no one is on for extended periods. I installed this plugin to help determine why and hopefully get rid of some lag issues.
The high CPU issue has occurred again, so I decided to run the log examine command. It says has started running, and typing the command again states 0.0% completed. It has been over twelve minutes. The lag command says I'm running 12-15 tps.
Any ideas as to why this command is not able to run, or what I might look to for the source?
Plugins installed (man I wish there was a command to list them):
BookWorm
CHAT_PROPER
DeathTpPlus
Maplicate
MinecartRevolution
MineralVein
ModifyWorld
[All NoLagg Modules]
PermissionsEx
QuickTree
SecretSwitch
StreamRemover
ThunderTower
TimeMaintain (Could this be it?)
VanishNoPacket
Vault
WaterproofRedstone
WirelessRedstone
XSigns
Any Help is greatly appreciated. I'd just remove plugins and test, but the issue seems to crop up randomly and it would take ages to test while features of the server were disabled.
Thanks!
[EDIT] It just finished the examine report. It appears that WeatherRestirctions is consuming a massive amount of time per tick. I guess that's the issue. Thanks for this awesome tool!!!
-
View User Profile
-
Send Message
Posted Apr 11, 2012@mast3rpyr0
I've often wondered this as well. Why on Earth would you render from the bottom up? That seems to be just about the MOST inefficient way to do it while creating lots of visual artefacts.
-
View User Profile
-
Send Message
Posted Apr 10, 2012Is there a way to only get the part of thw plugin that limits entities thats the only part I use but I think the other features are lagging the server. I only have the core nolagg installed.
-
View User Profile
-
Send Message
Posted Apr 10, 2012Would it be possible to make the NoLagg Chunks some how render the top of the chunk first instead of starting in the dungeons? That way you wont see huge holes in the land as you are running, and the dungeons and stuff under ground can just render behind the scenes.
Nvm i guess that would be more of a client issue..