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 Nov 16, 2012I installed this and didn't work the first 2 times so I found out it needed BKcommonlib so I got it also then........... http://pastebin.com/S4YHMWKM A bunch of severe problems that kill 2 of my players and almost everyone else...
-
View User Profile
-
Send Message
Posted Nov 16, 2012Official development test version of this plugin and others: https:dl.dropbox.com/u/3681706/DEV%20TEST%201.4.4%20VERSIONS%20OF%20PLUGINS.zip
Found a bug? Feel free to report, I'll update the download ASAP.
-
View User Profile
-
Send Message
Posted Nov 16, 2012The reference can not be cast error will get fixed in the next version, so if you get it: no need to report anymore. I fixed it locally, but I have to look into that 'closed stream' error first. I tracked it down to the saving component where it closes the stream and replaces the stream with a new instance. I suspect this has some synchronization issues, as it happens randomly, which matches that behaviour.
-
View User Profile
-
Send Message
Posted Nov 16, 2012If it helps anyone, the test-build below still works 100% perfect today (no errors at all) for me running 1.4.4 #2465 with most features enabled including chunk compression and 108 plugins.
FYI #2466 states "Don't thread single chunk compression. Fixes"
-
View User Profile
-
Send Message
Posted Nov 16, 2012NoLagg chunks make my TPS to like 4 from 20 @ Beta build
-
View User Profile
-
Send Message
Posted Nov 16, 2012xclucky all errors are same, yours and that of others
-
View User Profile
-
Send Message
Posted Nov 16, 2012Please read this ticket @BergerKiller for something that may help you with the 1.4.4 bug:
http://dev.bukkit.org/server-mods/nolagg/tickets/172-nolagg-generated-an-exception-mc1-4-4/#comments
-
View User Profile
-
Send Message
Posted Nov 15, 2012Can you please let everyone know when you successfully create a version for Minecraft 1.4.4
-
View User Profile
-
Send Message
Posted Nov 15, 201211:42:20 [WARNING] [NoLagg] Task #9 for NoLagg v1.89.1 generated an exception java.lang.ClassCastException: net.minecraft.server.RegionFile cannot be cast to java.lang.ref.Reference at com.bergerkiller.bukkit.nolagg.saving.RegionFileFlusher$1.run(RegionF ileFlusher.java:30) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:53) at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(C raftScheduler.java:345) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:530) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
-
View User Profile
-
Send Message
Posted Nov 15, 2012sorry but.. now server show a waring, using you last test version.
yes i use orebfusctor, any suggestion? regards
-
View User Profile
-
Send Message
Posted Nov 15, 2012@bergerkiller
Just got the new test build, still didn't get the new NoLagg, error which I posted earlier still persisted,
Now updated to the new NoLagg -
error disappeared, chunk loads are parsed faster to DynMap once again.I was wrong, it just took longer to come up, the chunks still appear to load faster though.
Plugins used; CreeperHeal, Decapitation, dynmap, NoLagg, WorldBorder
At the time, no-one was on the server, and dynmap was doing a fullrender (reading chunks quickly whilst doing so).
-
View User Profile
-
Send Message
Posted Nov 15, 2012sorry double post, i have 52 plugins including orebfuscator and 0 problems using test versions and CB 1.4.4-R0.1 2466.
regards
-
View User Profile
-
Send Message
Posted Nov 15, 2012@bergerkiller
No, we used to use AntiXRay, but scrapped that about a month ago.
This is our plugins list:
MultiInv, PlayerNotes, PlugMan, WorldEdit, Skript, TagAPI, InfiniteDispensers, Sync, Vault, PlotMe, Multiverse-Core, PermissionsEx, WorldGuard, dynmap, SignColours, OnlinePlayersSQL, PotionCommands, CoreProtect, SlimeChunkDetector, BKCommonLib, RedstoneClockDetector, VariableTriggers, GriefPrevention, Votifier, SimpleMail, QwickTree, CleanroomGenerator, WorldBorder, Multiverse-Portals, Multiverse-NetherPortals, BOSEconomy, JSONAPI, NoLagg, VanishNoPacket, Simple AFK
Oh, and after saying it wasn't happening anymore, it decided to happen again.
Seems it only does it every 30mins to an hour or so now.
-
View User Profile
-
Send Message
Posted Nov 15, 2012@ray73864 I looked into it real quickly, and it had to do with the session.lock file, not the UID. I am pretty sure this is caused by a plugin that loaded a chunk from another thread. Are you using Orebfuscator?
-
View User Profile
-
Send Message
Posted Nov 15, 2012@bergerkiller
I have checked the world folder for every world, and they all have the uid.dat file in them.
Mind you, the error also hasn't occured in over an hour now, so not sure what was causing it.
-
View User Profile
-
Send Message
Posted Nov 15, 2012Note: I will start updating/bugfixing BKCommonLib/NoLagg/SignLink/MyWorlds/TrainCarts against 1.4.4 tomorrow. I had to update TrainCarts on 1.4.2 first, and I couldn't mix that with the 1.4.4 changes properly. All I could do was make some hasty changes...
Also important: the 1.37 version of BKCommonLib found as download there is NOT compatible with 1.4.4. It is a 1.4.2 version that had some bugfixes related to item stacking. The next version, 1.38, will be compatible with 1.4.4. The one I included in the test version of NoLagg will still work with TrainCarts.
Test version of NoLagg [bump]: https:dl.dropbox.com/u/3681706/NoLagg%20test%20build.zip
-
View User Profile
-
Send Message
Posted Nov 15, 2012I have run the testbuild bergerkiller posted in comments on 1.4.4 latest dev all evening without any issues. I have 108 plugins running and a smooth 20 tps at viewdistance 12, nothing in the log. Only about 10-12 people on and I have pretty good hardware but anyway...
I do not seem to have that problem with chunks not unloading. After what Dustinduse wrote, I haven't dared do /nolagg examine, but other things seems fine.
-
View User Profile
-
Send Message
Posted Nov 15, 2012@ray73864 That error is related to a world that lost the UUID.dat file. Without it, it can't verify that the world is secured, and this happens. Did you edit the world externally, or deleted (part of) a world?
btw, why do you think all of these changes happened so rapidly? I was working on TrainCarts in the meantime, and I had to prevent this plugin from becoming unusable after the Xth CraftBukkit change. It has become more stable over time though, there are only some weird things going on with the region file cache. I think it is an internal Java problem that I am having, I may have to change something to use the RegionFileCache of MC instead.
@bruceeweed More of a CraftBukkit problem, but I noted it now. The same happened to me, but only when a plugin (TrainCarts in my case) cancels a chunk unload. The server then never bothers to unload the chunk again for some reason. I couldn't trace that down to NoLagg, until now at least.
-
View User Profile
-
Send Message
Posted Nov 15, 2012@ray73864
I been running it on the latest dev build. The only problem I've seen in 1.4.4 is chunks not unloading like they should. Now whether this is due to a plugin or just 1.4.4 is still to be determined as I've been looking into it.
-
View User Profile
-
Send Message
Posted Nov 15, 2012@bruceeweed
And if you look at the version stuff, 1.88.9 was designed for 1.4.2.
The fact of the matter is, NoLagg has been changing rapidly lately because of all the complaints people have been making, and because of that, i have been hesitant to update it.
We have been burnt before by plugins because we chose to update as each new version came out.
I also tend to go with bukkit dev builds, but only when i look at the changelog to see what they have been fixing.