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 13, 2012@bergerkiller
I have an amazing CPU, RAM is my issue, how can i safe alot of ram via tweaking, my 16 gigs goes to waste like that.
-
View User Profile
-
Send Message
Posted Oct 13, 2012@bergerkiller
Found an issue, my /nolagg clear XXX doesnt actully clear anything at all, therefore now my drop issue is back again. 0 Enties cleared it says, even tested it by dropping some of the listed items. always "0"
http://pastebin.com/sjspmUGL
-
View User Profile
-
Send Message
Posted Oct 13, 2012@TheMimey That is normal. Java, by default, will utilize all your RAM and only garbage collect/clear up once it needs new memory. This is to safe CPU. A lot of RAM usage is not a problem, unless your OS gets in trouble then, of course. You can use /lag gc to garbage collect memory, but it's certainly not a bug or problem you should be focussing on.
@ni_r3ng3r_ni Yeah that should work. Or remove the item limit all together.
-
View User Profile
-
Send Message
Posted Oct 13, 2012@ni_r3ng3r_ni
Im getting same issues
-
View User Profile
-
Send Message
Posted Oct 13, 2012Nolagg is now working perfectly. Exept my 16 gigs of ram drains to 13-7% free within 1-3 hours, something is wrong. Ive checked all my plugins, updated them, and looked around for days. My ram isnt being used for storing chunks iether, its on the normal amount, since i have not modified that. But the only thing i can think of now, is Nolagg using up all my ram?
-
View User Profile
-
Send Message
Posted Oct 12, 2012@bergerkiller
I have about 80 players active playing and when I turned spawn limiter off, it DID fix it But im sure it will cause lag if I turn it off, so should I maybe set the item on 50000 so it doesnt limit it?
-
View User Profile
-
Send Message
Posted Oct 12, 2012@ni_r3ng3r_ni How many players are on the server? (or, how active is it?) It could be it happens after x amount of items dropped, as I doubt it is related to a certain time.
After looking at the config. I did notice you had this:
# The default spawn limits per world, overridden by world limits default: mob: 1100 cow: 350 item: 2000So at 2000 items on a world it would stop spawning new items. What if you remove this bit, does it fix it?
And for safety measures, I will remove the item limit default from the config. I think this is why this keeps happening to everyone...
-
View User Profile
-
Send Message
Posted Oct 12, 2012So it looks as though nolagg has nothing to do with my server crashes thank you.
-
View User Profile
-
Send Message
Posted Oct 12, 2012I will check out the code in a little more detail thank you and i am using the latest version. I'll get back to you on this.
-
View User Profile
-
Send Message
Posted Oct 12, 2012@bergerkiller
http://pastebin.com/gSptQjaZ
Didn't turn the spawnlimiter off yet, Ill do that now. But the thing is, You can't drop items after like 1-2 hours after did the /nolagg reload command
-
View User Profile
-
Send Message
Posted Oct 12, 2012@ni_r3ng3r_ni Do you use the spawn limiter? Because honestly, that is the only thing I could expect to cause this right now. Can you pastebin the config.yml? I can then compare it with the config of others to pick out the cause.
Just in case, though: This issue does go away when disabling NoLagg? Want to be sure I am not trying to fix someone else's bugs.
-
View User Profile
-
Send Message
Posted Oct 12, 2012Im getting the block dropping issue as noted in a few tickets. When will this be fixed? Im losing lots of players each day because of this! (I have max items per chunk and itemstacker disabled, it still does it)
-
View User Profile
-
Send Message
Posted Oct 12, 2012@TheMimey Someone PMéd me about something similar, but that was not caused by NoLagg. At least I hope so. Are you using any other plugins that remove entities?
@fatalerror0x00 If NoLagg causes this, then it is shown in the stack trace of the reported lock and will most likely also show NoLagg as a cause. If this is the case, check what component (*.nolagg.compname.) is in the stack trace. If this is 'saving', then you may have to change the saving interval/rate. It could be saving too much. If you are not using the latest 1.88.7, please update, as 1.88.6 had a bug in the saving bit causing exactly this.
-
View User Profile
-
Send Message
Posted Oct 11, 2012I have a question about threadlocknotifier. So should a plugin ever take more then 10 seconds for a thread the nolagg will notify me of the plugins that caused this and then will notify me of where it got stuck at (So it shows me the entire thread and then it gives me details of where it got stuck at) and then if that is what this plugin does should this freeze my server up or only notify me?
Lately I have been getting threads taking too long and I believe that was ever since I reverted to the default nolagg configuration. And I believe about that time I started having thread issues. So all i'm trying to figure out is if i need to disable this or if theres a bug that it's locking up the server totally but not neccessarily crashing it but yet crashing it or rendering it impossible to login to. I appreciate any feedback and questions about my information provided for more details :) Thank you
-
View User Profile
-
Send Message
Posted Oct 11, 2012Im still getting chunk loading issues when chunk sending features are enabled.
Using Cb Plus Plus
-
View User Profile
-
Send Message
Posted Oct 11, 2012[WARNING] [Server] The main thread is still stuck, current loop line is: 03:15:11 PM CONSOLE: [WARNING] [Server] at java.util.ArrayList.removeAll(ArrayList.java:605)
-
View User Profile
-
Send Message
Posted Oct 11, 2012Latest nolagg issues:
Threads: http://pastebin.com/pWackNGx
-
View User Profile
-
Send Message
Posted Oct 11, 2012@bergerkiller
no i do not have any plugin which is spawning 3.5k mobs.
-
View User Profile
-
Send Message
Posted Oct 10, 2012Very nice plugin! Awesome job bergerkiller. I have one question, I turned off the item buffer and have on the Form auto-stacks on. They don't seem to combine all the time and is very reproducible. In creative I can stack 64 grass blocks. Hit Q 64 times and I end up with 3 or 4 stacks every time. Please note I am aiming at same block when hitting Q and not turning around in circles like a sprinkler ;)
itemstacker: enabled: true radius: default: 2.0 threshold: 2 interval: 20 ignoredItemTypes: - DIAMOND_PICKAXE - WOODEN_HOE
Thanks again, I really appreciate your work on this plugin.
-
View User Profile
-
Send Message
Posted Oct 10, 2012@TheMimey Mob limiter worked just fine, but you didn't answer my previous question so I repeat: do you have any plugins on your server that spawn mobs? Because it won't limit custom-spawned entities, such as mobs spawned by mob arena.
Chunk loading appeared to be fine in 1.88.7, but I did have to fix two things. So if you are using the beta version from before, update. If you are not, then I need a when and how it happened to reproduce it...and fix it.
@lucasdidur
I see no need to make a separate jar file.