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 May 10, 2013@NemesisMate If you are running on 1.5.2 - you need BKC 1.52.
@zeshan321 Hmf so it's still not fixed... Just for my own info: do you have the 'patches' component enabled, and specifically, the spawn message fixing part of the patches component? Because that is meant to fix the issue.
@LORDMORGOTH88 I honestly can't tell how NoLagg can influence THAT, it just uses the spawn message given by the server to spawn it. Are you using orebfuscator (or Orebfuscator in spigot) by accident? I'll look into it when I can.
Kinda hate how 1.89.9 was working excellently on my test server, and now when I finally make it official people come up with problems...would be more of use knowing them during development :/ Ohwell.
-
View User Profile
-
Send Message
Posted May 10, 2013I put nolagg on "plugins" folder but it isn't loaded :S (So it doesn't make the NoLagg folder). I have this message:
I'm using Bukkit 1.5.2-R0.1 and BKCommonLib v1.51
-
View User Profile
-
Send Message
Posted May 10, 2013Hi, i got a problem and i don't know if it's related to nolagg plugin, i can only suppose it because when i had problems with item frames it was nolagg fault... the problem now is that i see item frames like this: http://i.imgur.com/5Bdp82E.png they are a block forward the one where they should be... and even if i replace them, after i reconnect to the server the situation is again the same... can someone help me fix this please? Edit: i have 1.52 dev of bkcommonlib and 1.89.9 of nolagg
-
View User Profile
-
Send Message
Posted May 9, 2013Hello sir, Today i deiced to try nolagg again. When i added nolagg my members were not able to hit mobs/players properly.
Nolagg build: #52 dev build
spigot build: #849 dev build
-
View User Profile
-
Send Message
Posted May 8, 2013@bergerkiller
Alright, I'll look into the other plugins. It's gonna be a b*h and a half to find it... We run over 50 plugins... But, thanks for the help. I'll get started on that tomorrow. And OCD isn't all bad! :D It can be helpful in some cases like... Programming! Lol.
-
View User Profile
-
Send Message
Posted May 8, 2013@CommodoreAlpha Another issue is memory, kind of. It has to store a lot of data for every tick, which makes it impossible to measure for longer than, say, 2 hours. For that reason, continuous examining is impossible by default, unless it is some sort of 'measure now stop later and discard earliest timings' system, but meh. I think it's better to just make it examine for a few minutes to hours and look at the file later on.
-
View User Profile
-
Send Message
Posted May 7, 2013@bergerkiller
I know that the feature I mentioned would be inevitably laggy, but I thought of it as a feature more for debugging and testing a server, rather than running it on a live server. (The main difference between a test and live server is the player count, but that can be made up for by faking players via another plugin.)
And, unless one is tight on time, I find false positives to be better than false negatives, especially when testing for serious lag causers that are hard to catch. On a side note, this feature, if you decide to implement it, should be off by default.
-
View User Profile
-
Send Message
Posted May 7, 2013@Try_Harder That is NoLagg, the monitor component. Use /lag monitor.
@Chrispm84 Well since the Citizens NPCs show up as actual players, it would be no surprise to me if the server kept the view distance chunk area loaded around it too. It would deny unloading chunks with an NPC near, and NoLagg has nothing to do with that. Don't shoot the messenger :)
I recommend checking all plugins to see if any of THEM are disallowing chunk unloads, as I said, the only place in NL was the lighting component, which is disabled. I suspected chunk sending (because it loads chunks for players to send), but that is fixed now, too. So there is no more issue for me to fix.
I'll fix that OCD issue, I suffer from it too you know :)
On another note, new build is up. I added some changes to get rid of the 'entities not spawning' issue. Hopefully it did not cause the uninteractable entities issue to re-appear. In addition, I added an 'entity spawn position' patch fix in the patches component. This could very well have been the root cause for all the interacting problems, and then it would be CraftBukkit's fault. It fixes the spawn position of entities as they are spawned wrongly.
-
View User Profile
-
Send Message
Posted May 7, 2013@Chrispm84
Hey, what plugin is that, for the information? :P
-
View User Profile
-
Send Message
Posted May 7, 2013@bergerkiller
I've uploaded the latest dev build of NoLagg. NPCs from citizens no longer show up in the player count for /nolagg monitor. Chunks are still not being unloaded. I tested it again, as I did before. I didn't have the time to get to the point where it used all available ram, but once it gets to the maximum ram limit, the TPS drops dramatically.
Also, and this is just because I'm a little OCD... But, you should add a space between the TNT and Player counts. :)
-
View User Profile
-
Send Message
Posted May 7, 2013@CommodoreAlpha The main issue is that the timing provided by Java (System.nanoTime()) is considerably slow, and thus making it run all the time would definitely slow down the server in the long run. For periodic measurement it is useful, but not for continued measurement. The thread lock notifier can already take on big laggy issues, so I suppose allowing you to configure the 'wait time' to be different than 10 seconds, and make it 100 ms for example, could allow a feature like yours to be developed. But mind you: there will be a lot of false positives.
@Mike10221999 Pretty much done, latest NL works on both 1.5.1 and 1.5.2. See flashing banner.
-
View User Profile
-
Send Message
Posted May 7, 2013How close are you guys to updating this to 1.5.2?
-
View User Profile
-
Send Message
Posted May 6, 2013While I enjoy the fact that NoLagg can examine the server tick rate to find problematic plugins, this is only good when laggy plugins lag at predictable intervals. Sometimes a server may experience a random lag spike that is probably due to one or more plugins, but the lag occurs unpredictably, making it hard to track down.
I was wondering if this plugin can have a feature that would allow it to somehow pinpoint the likely source(s) of lag at the time it occurs (when the "Server Can't Keep Up!" message displays or something like that).
On a completely unrelated note, nice alert you have there.
-
View User Profile
-
Send Message
Posted May 6, 2013@lenis0012
yes it was, see log.. also I saw some changes, during dev bulds, of vec3d .. so, maybe this is the issue
-
View User Profile
-
Send Message
Posted May 5, 2013If anyone still has issues on latest build of NoLagg on 1.5.2 let us know. The latest build currently on the build server is compatible with both 1.5.1 and 1.5.2. For 1.5.2, you only have to update BKCommonLib.
Also, if you have any other issues with NoLagg, please let us know. We want to push out an official at some point...
-
View User Profile
-
Send Message
Posted May 5, 2013@dogbig
I couldn't find NoLagg classes in that error.
Are you sure it is caused by NoLagg?
-
View User Profile
-
Send Message
Posted May 5, 2013!! Latest dev build cause Vec3D issues!! But I need to use them as there were fixes of prev issues.. Please, double check handling of chunks...
Stack trace + info: http://pastebin.com/TW8b0QSc
-
View User Profile
-
Send Message
Posted May 5, 2013@CosmicVoyager
Are you sure that's not just per chunk?
-
View User Profile
-
Send Message
Posted May 4, 2013I do not understand this spawn limits example. According to it, there would only be one cow on the entire server?
spawnlimits: default: creeper: 1 cow: 1 itemwood: 64 fallingblock: 20 fallingsand: 10 tnt: 50 global: mob: 30 animal: 40 monster: 260 worlds: lowgrass: cow: 1 creeper: 2 wood: 10 slime: 2 world2: enderman: 10 itemstone: 6
-
View User Profile
-
Send Message
Posted May 3, 2013Development builds server is down :(