Inactive [FIX/ADMN] NoLagg v1.88.1 - Prevent common lag causes on your server [2338]

Discussion in 'Inactive/Unsupported Plugins' started by bergerkiller, Sep 17, 2011.

  1. Offline


    I had already made this plugin before after having a major lag issue. (lots of torches being filled, turned into items, lag for 20 minutes) It also works for 1060.

    Some feature ideas are taken over from PerformanceTweaks by @LexManos so some credit goes to him. Code, however, written from scratch by me. :)


    If you get a warning message [NoLagg TLN] followed up with a stack trace in the log, this has to do with the main thread not having responded within 10 seconds. When a plugin takes more than this time to enable, it will show that. 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.

    NoLagg's features in a nutshell


    Prevent lag caused by many items

    Every time an item gets spawned, it is buffered per chunk. For example, you spawn 30 items using Q and the maximum allowed items per chunk is 20, then the 10 remaining items are not spawned. They are spawned as soon the item count in this chunk is < 20 again.


    Form item stacks - fully automatically

    Whenever two or more (configurable) items or experience orbs get near each other, they form a single stack of that item type. If someone drops 64 dirt blocks on the ground using Q, it will show a single item of 64 dirt instead.


    Prevent lag caused by TNT

    This plugin takes over tnt ignition caused by explosions. When exploding stacks of tnt, it does not rush all tnts into a single tick, but detonate them nicely in sync. This results in pretty awesome fireworks. :)


    Prevent lag caused by lighting glitches

    Whenever a new chunk is generated, it's lighting information is generated and all nearby players receive the updated chunk data. If the auto-method fails, you can use /nolagg fix to do it manually. This fixing fixes, for example, dark spots in and around caves lagging the client.


    Set entity spawn limits

    You can set a spawn limit on virtually every entity in the game. From mobs to items to TNT. Only thing being excluded is Players, since I can't simply kick someone 'like that'. :)
    Note: It removes already spawned entities too. So, if you want to keep your animals alive, don't set mob or animal limits, or it will possibly clear your farm animals. (or you can disable the spawn limiter all together)

    I recommend finding an alternative plugin for this instead. Removing entities after they are spawned causes more lag than it prevents!

    Global auto-saver

    Since asynchronous chunk saving is now implemented internally, it is no longer a problem to save entire worlds frequently. You can set auto-save intervals in the configuration. If used with an interval higher than 400 ticks (20 seconds) it will use a scheduled task instead of the internal saver to prevent chunks never getting saved. Another benefit is that player information is also auto-saved, preventing your players losing their inventory state.

    New chunk sending mechanics

    Instead of loading chunks all around the player, the player direction is used to load the visible chunks first. This means that players can expect chunks in front of them to load quickly, while chunks on the sides take a bit longer to appear. When the player looks into another direction, the direction changes and thus the new visible chunks get loaded first. Only if all chunks ahead of the player are loaded, chunks around the player are sent. This all can be configured using a simple minimum and maximum sending rate.


    Examining the server tick rate

    If you encounter very low tick rates and you want to find out what plugin is causing it, you can use the examine component to find it out. It comes with a graphic viewer, which makes bug tracking the easiest thing ever.


    Prevent cross-thread access for events

    As it seems, some plugins don't follow the rules and use Bukkit methods in another thread. This plugin will notify you and cancel if possible whenever this happens so other plugins understand their mistake. If you encounter a lot of spam in the console, first check the stack trace for the plugin that caused the error. Report this error to the author or remove the plugin, if you have questions you are free to ask.

    Configuration (on BukkitDev)

    Commands and Permissions (on BukkitDev)

    Synchronized code accessed by another thread? (BukkitDev)


    Video by brandcool86


    - Help I experience missing chunks
    If you are using Spout, don't use Reloads. This is also the reason why Spout added a warning when a player tries to reload the server. Not using Spout, then it's a bug which you can report.

    - Can this plugin be used with PTweaks
    (this message was really old...) Yes, they are compatible, but if certain features overlap, make sure you disable these features in either plugin.

    - I get a warning about the async auto save and interval. Wat do?
    Change the autoSaveInterval value in the configuration to a value higher than 400, like 600. The warning is to prevent endless autosaves to occur, clogging up CPU.

    - I have experienced CPU usage
    CPU usage is not the same as lag. NoLagg uses multiple (2-3) extra threads to prevent tick and network lag. If a lot has to be done, it does this quicker, but this takes more CPU obviously.

    - I have lag when using NoLagg
    See also the FAQ above. Explain what type of lag you have: tick lag, client lag, network lag and/or 'block placement' lag. You can use /nolagg monitor to check the tick rate. If this is normal (>15), then you have network lag. Client lag is when the FPS drops. Block placement lag is lag when the tick rate is normal and other network messages, like chat, are instant.

    - WorldEdit causes lag...
    YES because it is unsafe to take over the main thread while another plugin is having hold over it. I can try fixing this, but it could ultimately lead to some serious concurrency exceptions. Don't expect this to be implemented very soon...

    - Do spawn limits interfere with mob-spawning plugins like MobArena?
    No, it does not. It only limits mobs spawned by 'nature': all custom creature spawns are ignored throughout the run of the plugin. Only after you reload will it lose track of these entities and will it remove custom-spawned mobs. If you use MobArena, be sure nothing is going on when you reload the server.

    - Does item stacking interfere with Showcase or BleedingMobs?
    It supports Showcase and ShowcaseStandalone entirely. (showcased items are completely ignored at all times) The same applies to the 'particles' created by the BleedingMobs plugin. Know of a plugin where it stacks items which should not be stacked? Post the plugin name so I can add support. You are an owner and want to add support? Only having a function in your plugin to check if an item is 'ignored' is enough.

    - Can this plugin be used with Chunk Manager
    If you want to use the Chunk Manager with Nolagg, disable the chunk sending of Nolagg first. If you don't do that, this plugin will do that by itself and send a warning in the log. Of course, compare the results first. :)

    - What are the best settings if I have a lot of RAM memory?
    This plugin does not deal with reduced RAM memory. If I could, I would, but you simply can't reduce the amount of memory Java uses. This data is locked and secured, so I can't simply throw away bits of data or write and read data from/to disk. Any plugin claiming to reduce RAM usage on a server, is probably 'garbage collecting'. This fakes having less RAM usage by removing unused data, but Java does this by itself as well once it hits a certain limit. All these plugins will do is make the Garbage Collector run in overdrive, which will only kill your tick rate and/or CPU speeds. A bad thing.

    - I get a lot of 'Synchronized code accessed from another thread' errors
    Find out what plugin is acting up by inspecting the stack trace. If the plugin that causes this is inactive, all you can do is wait for a refurnished version or someone to fix it for you, or use an alternative plugin. If it's still under development, notify the author of this, it IS an error caused by that plugin. If you can't find out the cause, PM me or post in this thread.

    Before you begin writing a lag issue

    This is very important, just posting a 'it causuz lagz und shitz' won't do, won't help and I won't be able to help you any further either. Question is if I even want to help you, if you post such a message without anything worth looking at. Things to include in your message:
    - Errors in the log if possible
    - What CB version you use and what NoLagg version you use
    - When this lag occurs. Tick rate drop in general?
    - The configuration you used when running this plugin
    - What type of lag if applicable. Options are: tick lag, client lag, network lag (see above)

    Important links

    NoLagg Download page and others at Dev Bukkit
    View the source code of NoLagg at GitHub

    Use an archive extracting program (WinRar, WinZip) to open the archive.

    - Add option to disable physics when the tick delay becomes too high


    Show your appreciation for my plugins by donating
  2. Offline


    restart the server with LogBlock.jar to make it create the config
    then change logExplosions to true in LogBlock/world.yml should be enough
    restart again
    write /lb toolblock to get a block to be used for checking who modified any block

    EDIT: in the meantime i already replied twice :)

    yes, LB works in 1.8.1
    it requires a mysql db
  3. Offline


    It has to have a mysql database to log too I'm afraid, it doesn't support anything else. It works fine with the 1.8.1 recommended build for me. Make sure you didn't download the version for 1192+.
  4. Offline

    bergerkiller LogBlock for me then... :)

    Don't have time to download MySql and/or set it up...ow well it might help. I'll upload a quick 1.27, I now register my explosion event delayed. Also added a softdepend for LogBlock.

    Also add spawn chunk unload prevention, and removed the 'prechunk' packet. I'll looka bit more into the native coding to see what I need to send. (in particular, under onChunkLoad)
  5. Offline


    What CB build did u use I am on the reco build, I did test this with Spout and on a clean server running just this and spout. same thing happened to me.


    That is with your default interval at 5.0, About to try out your latest version.
  6. Offline


    @ledhead900 That's the client not updating the world correctly, goes away when you go near. Unfortunately it is out of control for me...

    Also, when rain falls through the roof, place blocks and you'll see the rain disappearing where you placed the block. This leads me to believe something is missing in my chunk sending coding.
  7. Offline


    Ah ok, Im going to run myworlds repair on both the worlds and see if fixed any issue will also download fresh build of craftbukkit and re test see if I can fix the mob issue. Posted something on sign link thread seems u forgot to update that when updating the prev plugins of yours now it wont edit signs correctly.

    I guess the missing chunk is what u say to remove the spout addon for ?
  8. Offline


    @ledhead900 yup. Also, after some investigation: Other than sending chunk packets, a blockchangepacket is sent too. But why? That's up to me to discover...


    This is the log I get:
    19:40:34 [INFO] bergerkiller [/] logged in with entity id 0 at ([flatgrass] 369.09375, 65.96875, -97.0)
    19:40:35 [INFO] Map data: 21/-9
    19:40:35 [INFO] Map data: 21/-8
    19:40:35 [INFO] Map data: 21/-7
    19:40:35 [INFO] Map data: 21/-6
    19:40:35 [INFO] Map data: 21/-5
    19:40:35 [INFO] Map data: 22/-9
    19:40:35 [INFO] Map data: 22/-8
    19:40:35 [INFO] Map data: 22/-7
    19:40:35 [INFO] Map data: 22/-6
    19:40:35 [INFO] Map data: 22/-5
    19:40:35 [INFO] Map data: 23/-9
    19:40:35 [INFO] Map data: 23/-8
    19:40:35 [INFO] Map data: 23/-7
    19:40:35 [INFO] Map data: 23/-6
    19:40:35 [INFO] Map data: 23/-5
    19:40:35 [INFO] Map data: 24/-9
    19:40:35 [INFO] Map data: 24/-8
    19:40:35 [INFO] Map data: 24/-7
    19:40:35 [INFO] Map data: 24/-6
    19:40:35 [INFO] Map data: 24/-5
    19:40:35 [INFO] Map data: 25/-9
    19:40:35 [INFO] Map data: 25/-8
    19:40:35 [INFO] Map data: 25/-7
    19:40:35 [INFO] Map data: 25/-6
    19:40:35 [INFO] Map data: 25/-5
    19:40:36 [INFO] Packet preload: 21/-9 at time: 1317663635023
    19:40:36 [INFO] Packet preload: 21/-8 at time: 1317663635031
    19:40:36 [INFO] Packet preload: 21/-7 at time: 1317663635036
    19:40:36 [INFO] Packet preload: 21/-6 at time: 1317663635050
    19:40:36 [INFO] Packet preload: 21/-5 at time: 1317663635056
    19:40:36 [INFO] Packet preload: 22/-9 at time: 1317663635102
    19:40:36 [INFO] Packet preload: 22/-8 at time: 1317663635108
    19:40:36 [INFO] Packet preload: 22/-7 at time: 1317663635114
    19:40:36 [INFO] Packet preload: 22/-6 at time: 1317663635120
    19:40:36 [INFO] Packet preload: 22/-5 at time: 1317663635126
    19:40:36 [INFO] Packet preload: 23/-9 at time: 1317663635132
    19:40:36 [INFO] Packet preload: 23/-8 at time: 1317663635138
    19:40:36 [INFO] Packet preload: 23/-7 at time: 1317663635147
    19:40:36 [INFO] Packet preload: 23/-6 at time: 1317663635152
    19:40:36 [INFO] Packet preload: 23/-5 at time: 1317663635157
    19:40:36 [INFO] Packet preload: 24/-9 at time: 1317663635163
    19:40:36 [INFO] Packet preload: 24/-8 at time: 1317663635225
    19:40:36 [INFO] Packet preload: 24/-7 at time: 1317663635229
    19:40:36 [INFO] Packet preload: 24/-6 at time: 1317663635234
    19:40:36 [INFO] Packet preload: 24/-5 at time: 1317663635248
    19:40:36 [INFO] Packet preload: 25/-9 at time: 1317663635253
    19:40:36 [INFO] Packet preload: 25/-8 at time: 1317663635257
    19:40:36 [INFO] Packet preload: 25/-7 at time: 1317663635261
    19:40:36 [INFO] Packet preload: 25/-6 at time: 1317663635266
    19:40:36 [INFO] Packet preload: 25/-5 at time: 1317663635270
    19:40:36 [INFO] Map data: 23/-7
    19:40:36 [INFO] Map data: 24/-7
    19:40:36 [INFO] Map data: 24/-6
    19:40:36 [INFO] Map data: 23/-6
    19:40:36 [INFO] Packet preload: 26/-9 at time: 1317663635298
    19:40:36 [INFO] Packet preload: 26/-8 at time: 1317663635299
    19:40:36 [INFO] Packet preload: 26/-7 at time: 1317663635300
    19:40:36 [INFO] Packet preload: 26/-6 at time: 1317663635302
    19:40:36 [INFO] Packet preload: 26/-5 at time: 1317663635304
    19:40:36 [INFO] Packet preload: 26/-4 at time: 1317663635305
    19:40:36 [INFO] Packet preload: 25/-4 at time: 1317663635307
    19:40:36 [INFO] Packet preload: 24/-4 at time: 1317663635308
    19:40:36 [INFO] Packet preload: 23/-4 at time: 1317663635310
    19:40:36 [INFO] Packet preload: 22/-4 at time: 1317663635312
    19:40:36 [INFO] Packet preload: 21/-4 at time: 1317663635313
    19:40:36 [INFO] Packet preload: 20/-4 at time: 1317663635314
    19:40:36 [INFO] Packet preload: 20/-5 at time: 1317663635316
    19:40:36 [INFO] Packet preload: 20/-6 at time: 1317663635326
    19:40:36 [INFO] Packet preload: 20/-7 at time: 1317663635328
    19:40:36 [INFO] Packet preload: 20/-8 at time: 1317663635329
    19:40:36 [INFO] Packet preload: 20/-9 at time: 1317663635330
    19:40:36 [INFO] Packet preload: 20/-10 at time: 1317663635332
    19:40:36 [INFO] Packet preload: 21/-10 at time: 1317663635335
    19:40:36 [INFO] Packet preload: 22/-10 at time: 1317663635336
    19:40:36 [INFO] Packet preload: 23/-10 at time: 1317663635338
    19:40:36 [INFO] Packet preload: 24/-10 at time: 1317663635340
    19:40:36 [INFO] Packet preload: 25/-10 at time: 1317663635342
    19:40:36 [INFO] Packet preload: 26/-10 at time: 1317663635344
    19:40:36 [INFO] Packet preload: 27/-10 at time: 1317663635346
    19:40:36 [INFO] Packet preload: 27/-9 at time: 1317663635348
    19:40:36 [INFO] Packet preload: 27/-8 at time: 1317663635349
    19:40:36 [INFO] Packet preload: 27/-7 at time: 1317663635352
    19:40:36 [INFO] Packet preload: 27/-6 at time: 1317663635354
    19:40:36 [INFO] Packet preload: 27/-5 at time: 1317663635356
    19:40:36 [INFO] Packet preload: 27/-4 at time: 1317663635358
    19:40:36 [INFO] Packet preload: 27/-3 at time: 1317663635359
    19:40:36 [INFO] Packet preload: 26/-3 at time: 1317663635362
    19:40:36 [INFO] Packet preload: 25/-3 at time: 1317663635364
    19:40:36 [INFO] Packet preload: 24/-3 at time: 1317663635380
    19:40:36 [INFO] Packet preload: 23/-3 at time: 1317663635382
    19:40:36 [INFO] Packet preload: 22/-3 at time: 1317663635384
    19:40:36 [INFO] Packet preload: 21/-3 at time: 1317663635387
    19:40:36 [INFO] Packet preload: 20/-3 at time: 1317663635389
    19:40:36 [INFO] Packet preload: 19/-3 at time: 1317663635390
    19:40:36 [INFO] Packet preload: 19/-4 at time: 1317663635392
    19:40:36 [INFO] Packet preload: 19/-5 at time: 1317663635394
    19:40:36 [INFO] Packet preload: 19/-6 at time: 1317663635396
    19:40:36 [INFO] Packet preload: 19/-7 at time: 1317663635397
    19:40:36 [INFO] Packet preload: 19/-8 at time: 1317663635401
    19:40:36 [INFO] Packet preload: 19/-9 at time: 1317663635404
    19:40:36 [INFO] Packet preload: 19/-10 at time: 1317663635407
    19:40:36 [INFO] Packet preload: 19/-11 at time: 1317663635409
    19:40:36 [INFO] Packet preload: 20/-11 at time: 1317663635410
    19:40:36 [INFO] Packet preload: 21/-11 at time: 1317663635412
    19:40:36 [INFO] Packet preload: 22/-11 at time: 1317663635414
    19:40:36 [INFO] Packet preload: 23/-11 at time: 1317663635417
    19:40:36 [INFO] Packet preload: 24/-11 at time: 1317663635418
    19:40:36 [INFO] Packet preload: 25/-11 at time: 1317663635420
    19:40:36 [INFO] Packet preload: 26/-11 at time: 1317663635423
    19:40:36 [INFO] Packet preload: 27/-11 at time: 1317663635425
    19:40:36 [INFO] Packet preload: 28/-11 at time: 1317663635427
    19:40:36 [INFO] Packet preload: 28/-10 at time: 1317663635428
    19:40:36 [INFO] Packet preload: 28/-9 at time: 1317663635430
    19:40:36 [INFO] Packet preload: 28/-8 at time: 1317663635432
    19:40:36 [INFO] Packet preload: 28/-7 at time: 1317663635434
    19:40:36 [INFO] Packet preload: 28/-6 at time: 1317663635437
    19:40:36 [INFO] Packet preload: 28/-5 at time: 1317663635439
    19:40:36 [INFO] Packet preload: 28/-4 at time: 1317663635442
    19:40:36 [INFO] Packet preload: 28/-3 at time: 1317663635444
    19:40:36 [INFO] Packet preload: 28/-2 at time: 1317663635447
    19:40:36 [INFO] Packet preload: 27/-2 at time: 1317663635449
    19:40:36 [INFO] Packet preload: 26/-2 at time: 1317663635452
    19:40:36 [INFO] Packet preload: 25/-2 at time: 1317663635454
    19:40:36 [INFO] Packet preload: 24/-2 at time: 1317663635456
    19:40:36 [INFO] Packet preload: 23/-2 at time: 1317663635458
    19:40:36 [INFO] Packet preload: 22/-2 at time: 1317663635459
    19:40:36 [INFO] Packet preload: 21/-2 at time: 1317663635462
    19:40:36 [INFO] Packet preload: 20/-2 at time: 1317663635464
    19:40:36 [INFO] Packet preload: 19/-2 at time: 1317663635466
    19:40:36 [INFO] Packet preload: 18/-2 at time: 1317663635468
    19:40:36 [INFO] Packet preload: 18/-3 at time: 1317663635470
    19:40:36 [INFO] Packet preload: 18/-4 at time: 1317663635472
    19:40:36 [INFO] Packet preload: 18/-5 at time: 1317663635474
    19:40:36 [INFO] Packet preload: 18/-6 at time: 1317663635478
    19:40:36 [INFO] Packet preload: 18/-7 at time: 1317663635481
    19:40:36 [INFO] Packet preload: 18/-8 at time: 1317663635483
    19:40:36 [INFO] Packet preload: 18/-9 at time: 1317663635486
    19:40:36 [INFO] Packet preload: 18/-10 at time: 1317663635488
    19:40:36 [INFO] Packet preload: 18/-11 at time: 1317663635490
    19:40:36 [INFO] Packet preload: 18/-12 at time: 1317663635493
    19:40:36 [INFO] Packet preload: 19/-12 at time: 1317663635494
    19:40:36 [INFO] Packet preload: 20/-12 at time: 1317663635557
    19:40:36 [INFO] Packet preload: 21/-12 at time: 1317663635561
    19:40:36 [INFO] Packet preload: 22/-12 at time: 1317663635563
    19:40:36 [INFO] Packet preload: 23/-12 at time: 1317663635567
    19:40:36 [INFO] Packet preload: 24/-12 at time: 1317663635570
    19:40:36 [INFO] Packet preload: 25/-12 at time: 1317663635572
    19:40:36 [INFO] Packet preload: 26/-12 at time: 1317663635573
    19:40:36 [INFO] Packet preload: 27/-12 at time: 1317663635577
    19:40:36 [INFO] Packet preload: 28/-12 at time: 1317663635579
    19:40:36 [INFO] Packet preload: 29/-12 at time: 1317663635580
    19:40:36 [INFO] Packet preload: 29/-11 at time: 1317663635582
    19:40:36 [INFO] Packet preload: 29/-10 at time: 1317663635584
    19:40:36 [INFO] Packet preload: 29/-9 at time: 1317663635585
    19:40:36 [INFO] Packet preload: 29/-8 at time: 1317663635587
    19:40:36 [INFO] Packet preload: 29/-7 at time: 1317663635588
    19:40:36 [INFO] Packet preload: 29/-6 at time: 1317663635590
    19:40:36 [INFO] Packet preload: 29/-5 at time: 1317663635592
    19:40:36 [INFO] Packet preload: 29/-4 at time: 1317663635593
    19:40:36 [INFO] Packet preload: 29/-3 at time: 1317663635595
    19:40:36 [INFO] Packet preload: 29/-2 at time: 1317663635597
    19:40:36 [INFO] Packet preload: 29/-1 at time: 1317663635599
    19:40:36 [INFO] Packet preload: 28/-1 at time: 1317663635601
    19:40:36 [INFO] Packet preload: 27/-1 at time: 1317663635606
    19:40:36 [INFO] Packet preload: 26/-1 at time: 1317663635608
    19:40:36 [INFO] Packet preload: 25/-1 at time: 1317663635609
    19:40:36 [INFO] Packet preload: 24/-1 at time: 1317663635610
    19:40:36 [INFO] Packet preload: 23/-1 at time: 1317663635613
    19:40:36 [INFO] Packet preload: 22/-1 at time: 1317663635614
    19:40:36 [INFO] Packet preload: 21/-1 at time: 1317663635615
    19:40:36 [INFO] Packet preload: 20/-1 at time: 1317663635617
    19:40:36 [INFO] Packet preload: 19/-1 at time: 1317663635618
    19:40:36 [INFO] Packet preload: 18/-1 at time: 1317663635620
    19:40:36 [INFO] Packet preload: 17/-1 at time: 1317663635622
    19:40:36 [INFO] Packet preload: 17/-2 at time: 1317663635624
    19:40:36 [INFO] Packet preload: 17/-3 at time: 1317663635626
    19:40:36 [INFO] Packet preload: 17/-4 at time: 1317663635627
    19:40:36 [INFO] Packet preload: 17/-5 at time: 1317663635628
    19:40:36 [INFO] Packet preload: 17/-6 at time: 1317663635630
    19:40:36 [INFO] Packet preload: 17/-7 at time: 1317663635632
    19:40:36 [INFO] Packet preload: 17/-8 at time: 1317663635644
    19:40:36 [INFO] Packet preload: 17/-9 at time: 1317663635645
    19:40:36 [INFO] Packet preload: 17/-10 at time: 1317663635647
    19:40:36 [INFO] Packet preload: 17/-11 at time: 1317663635648
    19:40:36 [INFO] Packet preload: 17/-12 at time: 1317663635650
    19:40:36 [INFO] Packet preload: 17/-13 at time: 1317663635652
    19:40:36 [INFO] Packet preload: 18/-13 at time: 1317663635654
    19:40:36 [INFO] Packet preload: 19/-13 at time: 1317663635656
    19:40:36 [INFO] Packet preload: 20/-13 at time: 1317663635658
    19:40:36 [INFO] Packet preload: 21/-13 at time: 1317663635660
    19:40:36 [INFO] Packet preload: 22/-13 at time: 1317663635662
    19:40:36 [INFO] Packet preload: 23/-13 at time: 1317663635664
    19:40:36 [INFO] Packet preload: 24/-13 at time: 1317663635665
    19:40:36 [INFO] Packet preload: 25/-13 at time: 1317663635667
    19:40:36 [INFO] Packet preload: 26/-13 at time: 1317663635669
    19:40:36 [INFO] Packet preload: 27/-13 at time: 1317663635671
    19:40:36 [INFO] Packet preload: 28/-13 at time: 1317663635672
    19:40:36 [INFO] Packet preload: 29/-13 at time: 1317663635675
    19:40:36 [INFO] Packet preload: 30/-13 at time: 1317663635676
    19:40:36 [INFO] Packet preload: 30/-12 at time: 1317663635679
    19:40:36 [INFO] Packet preload: 30/-11 at time: 1317663635680
    19:40:36 [INFO] Packet preload: 30/-10 at time: 1317663635682
    19:40:36 [INFO] Packet preload: 30/-9 at time: 1317663635683
    19:40:36 [INFO] Packet preload: 30/-8 at time: 1317663635685
    19:40:36 [INFO] Packet preload: 30/-7 at time: 1317663635686
    19:40:36 [INFO] Packet preload: 30/-6 at time: 1317663635689
    19:40:36 [INFO] Packet preload: 30/-5 at time: 1317663635690
    19:40:36 [INFO] Packet preload: 30/-4 at time: 1317663635692
    19:40:36 [INFO] Packet preload: 30/-3 at time: 1317663635694
    19:40:36 [INFO] Packet preload: 30/-2 at time: 1317663635695
    19:40:36 [INFO] Packet preload: 30/-1 at time: 1317663635697
    19:40:36 [INFO] Packet preload: 30/0 at time: 1317663635699
    19:40:36 [INFO] Packet preload: 29/0 at time: 1317663635700
    19:40:36 [INFO] Packet preload: 28/0 at time: 1317663635702
    19:40:36 [INFO] Packet preload: 27/0 at time: 1317663635704
    19:40:36 [INFO] Packet preload: 26/0 at time: 1317663635705
    19:40:36 [INFO] Packet preload: 25/0 at time: 1317663635706
    19:40:36 [INFO] Packet preload: 24/0 at time: 1317663635708
    19:40:36 [INFO] Packet preload: 23/0 at time: 1317663635710
    19:40:36 [INFO] Packet preload: 22/0 at time: 1317663635712
    19:40:36 [INFO] Packet preload: 21/0 at time: 1317663635714
    19:40:36 [INFO] Packet preload: 20/0 at time: 1317663635716
    19:40:36 [INFO] Packet preload: 19/0 at time: 1317663635718
    19:40:36 [INFO] Packet preload: 18/0 at time: 1317663635720
    19:40:36 [INFO] Packet preload: 17/0 at time: 1317663635722
    19:40:36 [INFO] Packet preload: 16/0 at time: 1317663635724
    19:40:36 [INFO] Packet preload: 16/-1 at time: 1317663635725
    19:40:36 [INFO] Packet preload: 16/-2 at time: 1317663635729
    19:40:36 [INFO] Packet preload: 16/-3 at time: 1317663635730
    19:40:36 [INFO] Packet preload: 16/-4 at time: 1317663635732
    19:40:36 [INFO] Packet preload: 16/-5 at time: 1317663635734
    19:40:36 [INFO] Packet preload: 16/-6 at time: 1317663635735
    19:40:36 [INFO] Packet preload: 16/-7 at time: 1317663635736
    19:40:36 [INFO] Packet preload: 16/-8 at time: 1317663635738
    19:40:36 [INFO] Packet preload: 16/-9 at time: 1317663635740
    19:40:36 [INFO] Packet preload: 16/-10 at time: 1317663635742
    19:40:36 [INFO] Packet preload: 16/-11 at time: 1317663635743
    19:40:36 [INFO] Packet preload: 16/-12 at time: 1317663635745
    19:40:36 [INFO] Packet preload: 16/-13 at time: 1317663635747
    19:40:36 [INFO] Packet preload: 16/-14 at time: 1317663635749
    19:40:36 [INFO] Packet preload: 17/-14 at time: 1317663635750
    19:40:36 [INFO] Packet preload: 18/-14 at time: 1317663635752
    19:40:36 [INFO] Packet preload: 19/-14 at time: 1317663635753
    19:40:36 [INFO] Packet preload: 20/-14 at time: 1317663635754
    19:40:36 [INFO] Packet preload: 21/-14 at time: 1317663635756
    19:40:36 [INFO] Packet preload: 22/-14 at time: 1317663635758
    19:40:36 [INFO] Packet preload: 23/-14 at time: 1317663635760
    19:40:36 [INFO] Packet preload: 24/-14 at time: 1317663635762
    19:40:36 [INFO] Packet preload: 25/-14 at time: 1317663635763
    19:40:36 [INFO] Packet preload: 26/-14 at time: 1317663635764
    19:40:36 [INFO] Packet preload: 27/-14 at time: 1317663635767
    19:40:36 [INFO] Packet preload: 28/-14 at time: 1317663635768
    19:40:36 [INFO] Packet preload: 29/-14 at time: 1317663635770
    19:40:36 [INFO] Packet preload: 30/-14 at time: 1317663635772
    19:40:36 [INFO] Packet preload: 31/-14 at time: 1317663635773
    19:40:36 [INFO] Packet preload: 31/-13 at time: 1317663635775
    19:40:36 [INFO] Packet preload: 31/-12 at time: 1317663635778
    19:40:36 [INFO] Packet preload: 31/-11 at time: 1317663635779
    19:40:36 [INFO] Packet preload: 31/-10 at time: 1317663635780
    19:40:36 [INFO] Packet preload: 31/-9 at time: 1317663635782
    19:40:36 [INFO] Packet preload: 31/-8 at time: 1317663635784
    19:40:36 [INFO] Packet preload: 31/-7 at time: 1317663635785
    19:40:36 [INFO] Packet preload: 31/-6 at time: 1317663635787
    19:40:36 [INFO] Packet preload: 31/-5 at time: 1317663635788
    19:40:36 [INFO] Packet preload: 31/-4 at time: 1317663635792
    19:40:36 [INFO] Packet preload: 31/-3 at time: 1317663635793
    19:40:36 [INFO] Packet preload: 31/-2 at time: 1317663635795
    19:40:36 [INFO] Packet preload: 31/-1 at time: 1317663635797
    19:40:36 [INFO] Packet preload: 31/0 at time: 1317663635798
    19:40:36 [INFO] Packet preload: 31/1 at time: 1317663635800
    19:40:36 [INFO] Packet preload: 30/1 at time: 1317663635801
    19:40:36 [INFO] Packet preload: 29/1 at time: 1317663635802
    19:40:36 [INFO] Packet preload: 28/1 at time: 1317663635804
    19:40:36 [INFO] Packet preload: 27/1 at time: 1317663635805
    19:40:36 [INFO] Packet preload: 26/1 at time: 1317663635808
    19:40:36 [INFO] Packet preload: 25/1 at time: 1317663635810
    19:40:36 [INFO] Packet preload: 24/1 at time: 1317663635812
    19:40:36 [INFO] Packet preload: 23/1 at time: 1317663635813
    19:40:36 [INFO] Packet preload: 22/1 at time: 1317663635814
    19:40:36 [INFO] Packet preload: 21/1 at time: 1317663635817
    19:40:36 [INFO] Packet preload: 20/1 at time: 1317663635818
    19:40:36 [INFO] Packet preload: 19/1 at time: 1317663635820
    19:40:36 [INFO] Packet preload: 18/1 at time: 1317663635821
    19:40:36 [INFO] Packet preload: 17/1 at time: 1317663635824
    19:40:36 [INFO] Packet preload: 16/1 at time: 1317663635825
    19:40:36 [INFO] Packet preload: 15/1 at time: 1317663635827
    19:40:36 [INFO] Packet preload: 15/0 at time: 1317663635829
    19:40:36 [INFO] Packet preload: 15/-1 at time: 1317663635830
    19:40:36 [INFO] Packet preload: 15/-2 at time: 1317663635832
    19:40:36 [INFO] Packet preload: 15/-3 at time: 1317663635833
    19:40:36 [INFO] Packet preload: 15/-4 at time: 1317663635835
    19:40:37 [INFO] Packet preload: 15/-5 at time: 1317663635836
    19:40:37 [INFO] Packet preload: 15/-6 at time: 1317663635839
    19:40:37 [INFO] Packet preload: 15/-7 at time: 1317663635841
    19:40:37 [INFO] Packet preload: 15/-8 at time: 1317663635843
    19:40:37 [INFO] Packet preload: 15/-9 at time: 1317663635844
    19:40:37 [INFO] Packet preload: 15/-10 at time: 1317663635847
    19:40:37 [INFO] Packet preload: 15/-11 at time: 1317663635848
    19:40:37 [INFO] Packet preload: 15/-12 at time: 1317663635850
    19:40:37 [INFO] Packet preload: 15/-13 at time: 1317663635852
    19:40:37 [INFO] Packet preload: 15/-14 at time: 1317663635854
    19:40:37 [INFO] Packet preload: 15/-15 at time: 1317663635868
    19:40:37 [INFO] Packet preload: 16/-15 at time: 1317663635869
    19:40:37 [INFO] Packet preload: 17/-15 at time: 1317663635871
    19:40:37 [INFO] Packet preload: 18/-15 at time: 1317663635872
    19:40:37 [INFO] Packet preload: 19/-15 at time: 1317663635874
    19:40:37 [INFO] Packet preload: 20/-15 at time: 1317663635876
    19:40:37 [INFO] Packet preload: 21/-15 at time: 1317663635878
    19:40:37 [INFO] Packet preload: 22/-15 at time: 1317663635880
    19:40:37 [INFO] Packet preload: 23/-15 at time: 1317663635881
    19:40:37 [INFO] Packet preload: 24/-15 at time: 1317663635883
    19:40:37 [INFO] Packet preload: 25/-15 at time: 1317663635898
    19:40:37 [INFO] Packet preload: 26/-15 at time: 1317663635899
    19:40:37 [INFO] Packet preload: 27/-15 at time: 1317663635900
    19:40:37 [INFO] Packet preload: 28/-15 at time: 1317663635902
    19:40:37 [INFO] Packet preload: 29/-15 at time: 1317663635904
    19:40:37 [INFO] Packet preload: 30/-15 at time: 1317663635907
    19:40:37 [INFO] Packet preload: 31/-15 at time: 1317663635908
    19:40:37 [INFO] Packet preload: 32/-15 at time: 1317663636253
    19:40:37 [INFO] Packet preload: 32/-14 at time: 1317663636255
    19:40:37 [INFO] Packet preload: 32/-13 at time: 1317663636256
    19:40:37 [INFO] Packet preload: 32/-12 at time: 1317663636258
    19:40:37 [INFO] Packet preload: 32/-11 at time: 1317663636260
    19:40:37 [INFO] Packet preload: 32/-10 at time: 1317663636262
    19:40:37 [INFO] Packet preload: 32/-9 at time: 1317663636264
    19:40:37 [INFO] Packet preload: 32/-8 at time: 1317663636265
    19:40:37 [INFO] Packet preload: 32/-7 at time: 1317663636266
    19:40:37 [INFO] Packet preload: 32/-6 at time: 1317663636268
    19:40:37 [INFO] Packet preload: 32/-5 at time: 1317663636270
    19:40:37 [INFO] Packet preload: 32/-4 at time: 1317663636271
    19:40:37 [INFO] Packet preload: 32/-3 at time: 1317663636273
    19:40:37 [INFO] Packet preload: 32/-2 at time: 1317663636274
    19:40:37 [INFO] Packet preload: 32/-1 at time: 1317663636276
    19:40:37 [INFO] Packet preload: 32/0 at time: 1317663636396
    19:40:37 [INFO] Packet preload: 32/1 at time: 1317663636397
    19:40:37 [INFO] Packet preload: 32/2 at time: 1317663636399
    19:40:37 [INFO] Packet preload: 31/2 at time: 1317663636400
    19:40:37 [INFO] Packet preload: 30/2 at time: 1317663636402
    19:40:37 [INFO] Packet preload: 29/2 at time: 1317663636403
    19:40:37 [INFO] Packet preload: 28/2 at time: 1317663636405
    19:40:37 [INFO] Packet preload: 27/2 at time: 1317663636406
    19:40:37 [INFO] Packet preload: 26/2 at time: 1317663636408
    19:40:37 [INFO] Packet preload: 25/2 at time: 1317663636409
    19:40:37 [INFO] Packet preload: 24/2 at time: 1317663636410
    19:40:37 [INFO] Packet preload: 23/2 at time: 1317663636412
    19:40:37 [INFO] Packet preload: 22/2 at time: 1317663636414
    19:40:37 [INFO] Packet preload: 21/2 at time: 1317663636416
    19:40:37 [INFO] Packet preload: 20/2 at time: 1317663636417
    19:40:37 [INFO] Packet preload: 19/2 at time: 1317663636418
    19:40:37 [INFO] Packet preload: 18/2 at time: 1317663636420
    19:40:37 [INFO] Packet preload: 17/2 at time: 1317663636422
    19:40:37 [INFO] Packet preload: 16/2 at time: 1317663636424
    19:40:37 [INFO] Packet preload: 15/2 at time: 1317663636425
    19:40:37 [INFO] Packet preload: 14/2 at time: 1317663636426
    19:40:37 [INFO] Packet preload: 14/1 at time: 1317663636428
    19:40:37 [INFO] Packet preload: 14/0 at time: 1317663636429
    19:40:37 [INFO] Packet preload: 14/-1 at time: 1317663636432
    19:40:37 [INFO] Packet preload: 14/-2 at time: 1317663636433
    19:40:37 [INFO] Packet preload: 14/-3 at time: 1317663636434
    19:40:37 [INFO] Packet preload: 14/-4 at time: 1317663636436
    19:40:37 [INFO] Packet preload: 14/-5 at time: 1317663636438
    19:40:37 [INFO] Packet preload: 14/-6 at time: 1317663636439
    19:40:37 [INFO] Packet preload: 14/-7 at time: 1317663636441
    19:40:37 [INFO] Packet preload: 14/-8 at time: 1317663636442
    19:40:37 [INFO] Packet preload: 14/-9 at time: 1317663636444
    19:40:37 [INFO] Packet preload: 14/-10 at time: 1317663636446
    19:40:37 [INFO] Packet preload: 14/-11 at time: 1317663636448
    19:40:37 [INFO] Packet preload: 14/-12 at time: 1317663636449
    19:40:37 [INFO] Packet preload: 14/-13 at time: 1317663636450
    19:40:37 [INFO] Packet preload: 14/-14 at time: 1317663636452
    19:40:37 [INFO] Packet preload: 14/-15 at time: 1317663636454
    19:40:37 [INFO] Packet preload: 14/-16 at time: 1317663636456
    19:40:37 [INFO] Packet preload: 15/-16 at time: 1317663636457
    19:40:37 [INFO] Packet preload: 16/-16 at time: 1317663636459
    19:40:37 [INFO] Packet preload: 17/-16 at time: 1317663636460
    19:40:37 [INFO] Packet preload: 18/-16 at time: 1317663636462
    19:40:37 [INFO] Packet preload: 19/-16 at time: 1317663636464
    19:40:37 [INFO] Packet preload: 20/-16 at time: 1317663636465
    19:40:37 [INFO] Packet preload: 21/-16 at time: 1317663636467
    19:40:37 [INFO] Packet preload: 22/-16 at time: 1317663636468
    19:40:37 [INFO] Packet preload: 23/-16 at time: 1317663636470
    19:40:37 [INFO] Packet preload: 24/-16 at time: 1317663636471
    19:40:37 [INFO] Packet preload: 25/-16 at time: 1317663636473
    19:40:37 [INFO] Packet preload: 26/-16 at time: 1317663636474
    19:40:37 [INFO] Packet preload: 27/-16 at time: 1317663636476
    19:40:37 [INFO] Packet preload: 28/-16 at time: 1317663636478
    19:40:37 [INFO] Packet preload: 29/-16 at time: 1317663636479
    19:40:37 [INFO] Packet preload: 30/-16 at time: 1317663636481
    19:40:37 [INFO] Packet preload: 31/-16 at time: 1317663636482
    19:40:37 [INFO] Packet preload: 32/-16 at time: 1317663636484
    19:40:37 [INFO] Packet preload: 33/-16 at time: 1317663636485
    19:40:37 [INFO] Packet preload: 33/-15 at time: 1317663636487
    19:40:37 [INFO] Packet preload: 33/-14 at time: 1317663636488
    19:40:37 [INFO] Packet preload: 33/-13 at time: 1317663636490
    19:40:37 [INFO] Packet preload: 33/-12 at time: 1317663636492
    19:40:37 [INFO] Packet preload: 33/-11 at time: 1317663636494
    19:40:37 [INFO] Packet preload: 33/-10 at time: 1317663636495
    19:40:37 [INFO] Packet preload: 33/-9 at time: 1317663636497
    19:40:37 [INFO] Packet preload: 33/-8 at time: 1317663636498
    19:40:37 [INFO] Packet preload: 33/-7 at time: 1317663636500
    19:40:37 [INFO] Packet preload: 33/-6 at time: 1317663636502
    19:40:37 [INFO] Packet preload: 33/-5 at time: 1317663636503
    19:40:37 [INFO] Packet preload: 33/-4 at time: 1317663636505
    19:40:37 [INFO] Packet preload: 33/-3 at time: 1317663636506
    19:40:37 [INFO] Packet preload: 33/-2 at time: 1317663636507
    19:40:37 [INFO] Packet preload: 33/-1 at time: 1317663636510
    19:40:37 [INFO] Packet preload: 33/0 at time: 1317663636511
    19:40:37 [INFO] Packet preload: 33/1 at time: 1317663636513
    19:40:37 [INFO] Packet preload: 33/2 at time: 1317663636514
    19:40:37 [INFO] Packet preload: 33/3 at time: 1317663636516
    19:40:37 [INFO] Packet preload: 32/3 at time: 1317663636517
    19:40:37 [INFO] Packet preload: 31/3 at time: 1317663636519
    19:40:37 [INFO] Packet preload: 30/3 at time: 1317663636520
    19:40:37 [INFO] Packet preload: 29/3 at time: 1317663636543
    19:40:37 [INFO] Packet preload: 28/3 at time: 1317663636545
    19:40:37 [INFO] Packet preload: 27/3 at time: 1317663636546
    19:40:37 [INFO] Packet preload: 26/3 at time: 1317663636547
    19:40:37 [INFO] Packet preload: 25/3 at time: 1317663636549
    19:40:37 [INFO] Packet preload: 24/3 at time: 1317663636550
    19:40:37 [INFO] Packet preload: 23/3 at time: 1317663636552
    19:40:37 [INFO] Packet preload: 22/3 at time: 1317663636553
    19:40:37 [INFO] Packet preload: 21/3 at time: 1317663636555
    19:40:37 [INFO] Packet preload: 20/3 at time: 1317663636556
    19:40:37 [INFO] Packet preload: 19/3 at time: 1317663636558
    19:40:37 [INFO] Packet preload: 18/3 at time: 1317663636560
    19:40:37 [INFO] Packet preload: 17/3 at time: 1317663636561
    19:40:37 [INFO] Packet preload: 16/3 at time: 1317663636563
    19:40:37 [INFO] Packet preload: 15/3 at time: 1317663636564
    19:40:37 [INFO] Packet preload: 14/3 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/3 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/2 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/1 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/0 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-1 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-2 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-3 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-4 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-5 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-6 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-7 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-8 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-9 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-10 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-11 at time: 1317663636566
    19:40:37 [INFO] Packet preload: 13/-12 at time: 1317663636567
    19:40:37 [INFO] Packet preload: 13/-13 at time: 1317663636569
    19:40:37 [INFO] Packet preload: 13/-14 at time: 1317663636571
    19:40:37 [INFO] Packet preload: 13/-15 at time: 1317663636573
    19:40:37 [INFO] Packet preload: 13/-16 at time: 1317663636574
    19:40:37 [INFO] Packet preload: 13/-17 at time: 1317663636576
    19:40:37 [INFO] Packet preload: 14/-17 at time: 1317663636577
    19:40:37 [INFO] Packet preload: 15/-17 at time: 1317663636578
    19:40:37 [INFO] Packet preload: 16/-17 at time: 1317663636580
    19:40:37 [INFO] Packet preload: 17/-17 at time: 1317663636582
    19:40:37 [INFO] Packet preload: 18/-17 at time: 1317663636583
    19:40:37 [INFO] Packet preload: 19/-17 at time: 1317663636585
    19:40:37 [INFO] Packet preload: 20/-17 at time: 1317663636586
    19:40:37 [INFO] Packet preload: 21/-17 at time: 1317663636588
    19:40:37 [INFO] Packet preload: 22/-17 at time: 1317663636589
    19:40:37 [INFO] Packet preload: 23/-17 at time: 1317663636590
    19:40:37 [INFO] Packet preload: 24/-17 at time: 1317663636593
    19:40:37 [INFO] Packet preload: 25/-17 at time: 1317663636594
    19:40:37 [INFO] Packet preload: 26/-17 at time: 1317663636596
    19:40:37 [INFO] Packet preload: 27/-17 at time: 1317663636597
    19:40:37 [INFO] Packet preload: 28/-17 at time: 1317663636598
    19:40:37 [INFO] Packet preload: 29/-17 at time: 1317663636600
    19:40:37 [INFO] Packet preload: 30/-17 at time: 1317663636602
    19:40:37 [INFO] Packet preload: 31/-17 at time: 1317663636604
    19:40:37 [INFO] Packet preload: 32/-17 at time: 1317663636606
    19:40:37 [INFO] Packet preload: 33/-17 at time: 1317663636608
    19:40:37 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?
    19:40:37 [INFO] New max size: 484
    19:40:37 [INFO] New max size: 784
    19:40:38 [INFO] Packet preload: 368/-112 at time: 1317663637679
    19:40:38 [INFO] Map data: 22/-6
    19:40:38 [INFO] Map data: 22/-7
    19:40:38 [INFO] Map data: 22/-8
    19:40:38 [INFO] Map data: 23/-8
    19:40:38 [INFO] Map data: 24/-8
    19:40:38 [INFO] Map data: 21/-9
    19:40:38 [INFO] Map data: 21/-8
    19:40:38 [INFO] Map data: 21/-7
    19:40:38 [INFO] Packet preload: 368/-96 at time: 1317663638612
    19:40:38 [INFO] Map data: 21/-6
    19:40:38 [INFO] Map data: 21/-5
    19:40:38 [INFO] Map data: 22/-5
    19:40:38 [INFO] Map data: 23/-5
    19:40:38 [INFO] Map data: 24/-5
    19:40:38 [INFO] Packet preload: 352/-96 at time: 1317663638875
  9. Offline


    Im going to guess that is why nolagg is actually making lag lately ?

    BTW, Can u send me a copy of your test server please that worked as I cannot pin this f***cker down and its starting annoy me now that mobs will not spawn. I have tried almost everything.

    Updated craftbukkit, New worlds, Fresh servers with new worlds all default configs.
  10. Offline


    @ledhead900 Nope, I figured it out. This is what you get when there's no native coding docum....
    I didn't handle preload, result: Chunk data arrives when the player is not expecting a chunk, causing missing chunks, causing world invalidation as you showed. For the time being, DON'T use the add-on, it lacks this feature.
  11. Offline


    Alright, can you by any chance pack up your test server you used for testing my config that worked and 7zip that to me so I can use it as well to see if its something with my java setup or if its un related. I really need to narrow down that mob issue.
  12. Offline


    @ledhead900 I tested it with 1185, following startup args:
    And only NoLagg and CommandBook as plugins. (used CommandBook to spawn the mobs more quickly, counted custom spawned as naturally spawned)

    And also: edited my packet post. It's a bit more understandable now. As you can see, this REALLY needs improving. Why send millions of preload packets if you could use a 2D rectangle value in a single packet? This is ridiculous...
  13. Offline


    Tested, and It will not work for me at all, are you sure essentials works ?, I cant test it with out essentials as I have no other way of spawning in custom mobs thru spawners or otherwise.

    At best I get mobs to appear until the update interval ticks over :( very sad now.. I don't think I can fix it at all.
  14. Offline


    Ok it took some time, but I finally know what happens behind the scenes. :)

    Used to indicate a chunk is loaded or unloaded, to the player. At start all chunks the player is in, send this chunk as loaded. Now the client knows what chunks are to be loaded/loaded. When the player leaves a chunk, it sends an unload command. This means that you could actually influence the amount of chunks visible to the user, even limit their RAM usage. Yes, you can limit RAM usage at the client too!

    Is sent after a chunk is marked loaded, or it will probably fail. When the player first logs in, a batch is sent. This is used while the client sees 'downloading terrain'. In other words: you can send these packets while the client logs on, to simply make the client pre-download the world. Other than that, they are sent during regular calls.

    What I did wrong:
    - Possibly sent map data to the client while that chunk wasn't even marked loaded yet
    - Didn't send unload preload packets when they left a chunk
    - Native coding was marking chunks unloaded while I was pushing in packets...obvious issues there

    What I need to implement:
    - Ignore ALL spout 50 and 51 packets 'native'
    - Add a value to set how many chunks are sent during the 'downloading world' dialogue
    - Control the rate at which MapData packets are sent
    - Custom implementation of the preload system

    First steps:
    1. Ignore all 50, 51 packets, only allow my own to pass through
    2. Finding out if the client indeed remembers chunks (ignore unload 50 packets)
    3. If this is the case, allow this feature to prevent clients from downloading chunks too often
    4. ?

    I am pretty surprised with how much is possible server-side. I didn't really expect 100% control over client chunk visibility...if clients remember chunks 'like that' it would truly be awesome...
  15. Offline


    I've been reading throughout this thread, and I love how you're learning and also working harder to make this plugin better. I really appreciate it! Thank you.
  16. Offline


    @kawiz just being enthousiastic, I haven't seen any (Spout) plugin like this! Imagine having 200 players on a single server, where originally only 30 players were possible. This is all possible if I limit the amount of chunk updates being sent. Then you can set tweaks for players that have more RAM, so they keep their chunk data in memory longer. Of course will block updates in these far regions still enter the client, but buffered. I will store the blocks affected for when this player comes in range, sending a multiblockchange packet instead.

    As soon I get this preloading to work correctly, it's time for fun. :)


    Ok unfortunately clients do clear chunks themselves, so it's not possible to cache chunks at the client. (without them adding a mod)

    At least I know how it works...

    Re-uploaded it (same 1.26 version), but did include some minor TNT changes to make it logblock compatible. I had to remove the chunk add-on, it was not stable in any possible way. The default version w/o the add-on should no longer leave holes, if it does, do reply.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 19, 2016
  17. Offline


    Really will help
  18. Offline


    Did a quick test, newly uploaded version works perfectly. :) Thanks for your efforts on the plugin, it's working wonders on my server so far and it sounds like there's more cool stuff to come!
  19. Offline


    You should really approach the Spoutcraft team and see if they can't add API for this.
  20. Offline


    @Flatliner Yup, I wil definately add a Spout-using chunk send limiter. Only need to build the right classes around it...such as one that acts as a queue where I can push packets in, and send them later on. That clients get rid of far-away chunks is a downer, it would simplify a lot. But I do like options. What I currently think of:
    - Set the maximum allowed chunk packets (or bytes) per second or tick for the server
    - Adjust connection based on player connection (calculate ping times)
    - Players having no chunks near them get higher priority than players that are loading chunks further away
    - Everyone has equal chunk rate: New player joins and gets full attention, until it is at global level
    - Buffers. (for example, turn multiple one-block-changes into a single multiblockchange packet)

    @QQCucumber They have it already, but it requires a Spoutcraft client. I obviously don't want to restrict people to this, not everyone is smart enough to install those client mods. :)
  21. Offline


    Uhm, can't you just have the plugin check for the Spoutcraft client and do it if they have it? Spout has an option where we can choose if non-Spout users can join, so it would be easy for a server admin to decide.
  22. Offline


    @QQCucumber Technically Spout is able to do it, but not sure if it's actually possible. It's still sending an unknown packet, no idea what'll happen. I'll look into it some day, but before that I need to handle everything correctly...

    (I can reuse the algorithm though, but it needs tweaking...)
  23. Offline


    This doesnt seem to be working:
    autoSaveInterval: 40
    explosionRate: 40
    chunkUnloadDelay: 10000
    formItemStacks: true
    tntDetonationRate: 10
    maxItemsPerChunk: 256
    orbScannerInterval: 200
    updateInterval: 20
    tntDetonationInterval: 1
    chunkSendInterval: 1
    chunkSendRate: 2
    mob: 200
    animal: 125
    monster: 75
    I want 200 mobs max! 125 animals 75 monsters.. When I butcher there is like 233.
  24. Offline


    You may be entirely true and in saying that. My point is I wasn't sure how Download NoLagg and the add-on for spout affected how chunk were loaded with Worldedit." Thanks!
  25. Offline


    Suggestion: Maybe you could put max mobs per player? Instead of globally.
  26. Offline


    Man you do some amazing work when my server up properly in 1.9 first 2 donations are going to you good sir, The fact that you openly talk about how progress works shows you learn and want to share findings. Your amazing so keep up the good work.

    May I add a suggestion, Spout already has a cache chunk ability built into spoutcraft, Spout alone will not give the user a full experience, I would probably start with fixing what ever you can server side and talking to the spout crew about getting your API in and then at the same time would investigate how to make use of the cache it saves client side when people use spoutcraft client, I know my server uses it I reward people for using it.

    Also if you followed my chat about the mobs I managed to get them to spawn from spawners but they disappear now when the updateinterval ticks over. and that using the exact setup you used did not work, I am going to try with command book I have money against essentials conflicting as it trys to control mob behavior as well you never did agree it was tested lol.

    On my test server I used your arguments under release java 7, Fresh reco CB jar all fresh server files I just loaded my world and tested a fresh world. Same issue I think its a conflict with essentials as it was the ONLY plugin I had installed at the time along side it every time I tested. I know your very busy now, but I know why bananaspace is playing up when you do not add the generator to the myworld config, Sure it works fine to generate and load the world no issues as your plugin lets banana space do what it wants as long as its detected as generator.

    But If i world spawn to it I can live for about 2s then die with an "exception player health must be between 0 -200" If I generate the Space world via your plugin this does not happen. I don't think its a conflict so do not worry about it mate, It has done that error to me ever since 1.8 when generating from its own config setup.

    I do have other stuff u need to look at such as Signlink will not edit signs correctly, when I Click a sign with a sign in hand sometimes I can edit it other times it places a new sign in front in mid air and blanks the original sign. I sense compatibility update may be needed.


    Alright so I know it does not like my config and world setup, I tried in new world and with no limits on mob types and it is working perfectly fine now. I guess I will have to go define manual limits again and re test.

    I think I am starting to see what is going on, In order to configure it properly I needed to know how it handled the mobs and things the more I tweak it the more I am starting see how the layout of and user optimization of how they define limits effects over all generation of mobs. For instance. In space world It would not do anything mob spawning even tho I set enderman as a limit and made rest of monsters 0.

    What I did differently this time around was
                mob: 1000
                creeper: 0
                skeleton: 0
                zombie: 0
                ghast: 0
                spider: 0
                cavespider: 0
                animal: 0
                monster: 1000
    This finally allowed the enderman to spawn and only that mob type. Oh I narrowed down the issue with Space as well and death upon going there, I think what happend was I left its max room size:5 that defines how big a room u can be in before you choke with out a space suit, I turned that to 0 and presto it fixed it, on a side note I think the exception error above was due to creative mode setting my hp to crazy levels.

    You need to revise your mob method I don't like it, after major testing I noticed it was out of shear luck enderman stay spawned on spaceworld and mobspawners are really fustrating me as they work fine with sliverfish I cannot reproduce the no mob issue with silverfish as they spawn correctly every single time, the other mob spawners I got to spawn 1 of that mob type but it would not keep spawning as it should have until the limit.

    I think I might just try out your myworld limiter and just use a GLOBAL/PER world limit and scrap using individual limits then if that wont work I'm going to have to disable control of your plugin and use an alternative. I cannot get constant results from mob management with your plugin. Rest of your plugin works fine.

    What happened was you got flooded with packets, and crashed client. I had same issue. But with no addon installed its not handling chunks in anyway so chunk loading behaves it self properly you no longer get flooded with packets and you won't crash the server with small worldedits.
  27. Offline


    Also, new RB is out, so I will probably look at all plugins now. Still don't get how the spawn limiter is failing for you, could be many things...

    However, I do use a simple method to update the limits: clear the counters and handle all mobs currently spawned. This to allow new mobs to spawn when a mob gets removed. Another look, why not...

    Other than that, monster limiting is to save CPU. Entities hardly use up networking power, chunks are the main issue here. (in comparison, one chunk update is around 100-150 kb, one entity move packet around 20 bytes.

    Also, all the add-on was (and will be intented) for, is limiting chunks. I will probably add some sort of ping tester to send chunks based on the connection. This way low connections won't get flooded with lots of packets, possibly freezing the connection. Also, the amount of chunks you 'pre-download' can be set. All future thoughts, don't expect too much yet. :)
  28. Offline


    I am using the new RB now works fine.

    Yea I don't get it mob control works for everything but the spawners. quite odd. But I had issue with it letting global mob spawn too the myworld control method and using the global limit and per world limit diabling all of a mob type as a whole seems to be working FAR better then anything I have tested prev. Still spawners choose to work only when they want to.
  29. Offline


    @ledhead900 Do you know plugins other than Essentials (I seriously hate that plugin, lol) which can set the mobs spawned by monster spawners? Only been able to use pig spawners, so yeah...
  30. Offline


    I do not sorry, I do want to find a replacement plugin tho to handle general lava and fire nerf as well as offer the help command and general stuff like that. I could probably find a better plugin to handle the mob spawner I will have a look around later. Don't really need homes or warps tho I think command book has those. I just think command book updates too slowly.

    ONLY pigspawners, lol mate those work 100% fine for me as well its just custom spawns that do not. besides that I think mob limiter needs some perfecting anyway it is quite strange how it works in practice its far to easy to miss judge what your after. Like I said I had some bad luck with it so far.

    You are correct tho would be a lot better off in the long run with out essentials I only need basic commands and the help list. pretty sure Mcdocs is a lot better for motd and rules as well. I will move plugins around later on but I think you should test with essentials anyway, I'm not the only one who uses it regardless of its flaws its served us well for a long time.
  31. Offline


    Mobs don't seem to be spawning at all on my server anymore, and I think it's related to this plugin.
    The spawnlimits part of my config.yml is:
    Does that look correct?

Share This Page