[INACTIVE][MECH] PerformanceTweaks v0.08 - Disc Usage Minimizer, And More [818]

Discussion in 'Inactive/Unsupported Plugins' started by LexManos, May 3, 2011.

  1. Offline

    LexManos

    PerformanceTweaks - Disc Usage minimizer, And Other performance tweaks
    Version: v0.08

    AutoSave Stopper:
    Instead of writing every chunk to the disc every 2 seconds. This changes it to 30 mins.
    This saves the server from writing about 9KBps to the disc (7 writes, 2 reads per chunk, on a 3 person server).
    As well as saves about 2 calls to deflate every 2 seconds. (per chunk)

    Chunk Persistance:
    Change how long chunks will stay loaded into RAM, instead of unloading instantly when not used. This way naturally high traffic areas will stay loaded, yet areas that someone was just passing through will unload after some time. This means you need SOME extra RAM but that extra RAM will actually give you a boost in performance while reducing the amount of reading and writing needed for the disk. Win-Win. This part can be disabled via the config file.

    Monster Limiter:
    The Monster limiter will disabled 'natural' monster spawning when the number of monster gets above the max threshold. Then it will re-enabled it when the monsters get below the threshold - 100. Note: Monsters spawn in groups so this is a rough threshold. The limit can be set in the configuration. You can also completely disable this there as well. Let me know how this works out for you.

    Features:
    • Massively reduces needless disc usage
    • Chunks stay in RAM longer
    Download wget friendly
    Download Source Here
    Donation Link[​IMG]

    If you have any other ideas let me know I can look into if they are feasible or not.
    60 Seconds Without the plugin on a idle server:
    [​IMG]
    Average Disc Traffic: 1041Bps
    60 Seconds With the plugin on as idle server:
    [​IMG]
    Average Disc Traffic: ... none.

    Changelog:

    Verion 0.08:
    • Updated to MC 1.6.6 RB 813
    Version 0.07:
    • /save-all now forces saving player data as well. Thanks PhantomGamers
    • Fixed NPE on Disable/Reload when MonsterLimiter was disabled. Thanks the like.. 60 of you who repeatidly reported it u.u
    • Added Perliminary Miltiverse world specific Monster Limiter configuration. Please test
    • -Changed MonsterLimiter config to yml.
    • Potential fix for a NPE in Chunk Persistance.run
    • Temporary fix for a Concurancy exception in MonsterLimiter.run();
    Version 0.06:
    • Re-wrote how monster Limiter works
    • --Added config option for allowing animals/monsters separately.
    • --Added a monitor thread, to catch edge cases where EntityDeath doesn't fire.
    • Changed how Persistent Chunks refreshing works, lowering the CPU impact.
    Version 0.05:
    • Changed how Chunk persistence works.
    • -Should get rid of any and all concurrency errors. Chunks are now unloaded by Bukkit itself in doTick()
    • -It will not try to unload spawn chunks any more.
    • -Chunks are new 'refreshed' when players move.
    • Added the /ptml command for debug info.
    Version 0.04
    • Added Monster Limiter
    Verions 0.03
    • Added Chunk Persistance
    Version 0.02
    • Added Configuration
    Version 0.01
    • First Release
     
    lemachinbidule, omnija, nacs and 13 others like this.
  2. Offline

    ledhead900

    Version 0.08: download is 0.7 typo ?
     
  3. Offline

    LexManos

    Ya, there is no 0.08 yet.
     
  4. Offline

    Vittek

    I have tracked and narrowed the problem down a bit: It happens when someone goes idle within a loaded chunk. As if the chunk is not sending more any info to the client and stuff goes really bonkers on the client side (Right click any items causing blocks to poof, dropped items going haywire etc) When they relog, the chunk gets refreshed and things go normal again. Perhaps when a chunk gets pruned?
     
  5. Offline

    LexManos

    Sounds like client side issues. Chunks are not pruned if there are people near it.
    Got a video of what you're talking about?
     
  6. Offline

    ichingpow

    My users get kicked when they idle even a little bit. This is definitely caused by PerformanceTweaks as they never get kicked for flying when I removed PerformanceTweaks. I'm on cb780 but it also happens on RB766.

    I really hope you can fix this sometime soon.
     
  7. Offline

    Vittek

    Thanks for the answer. It is indeed client only, as a relog will fix the issue for a bit. It's definitely chunk persistance, when I disable that, the issue stops appearing. Unfortunately I do no have a recording of it but here is what happens:
    -Right clicking any item (Torch, meat etc) will cause blocks to disappear.
    -Dropped items will jump up and down endlessly and cannot be picked up anymore.

    As said, those issues go away when relogged, so yeah they are indeed client only.
     
  8. Offline

    Ratchet

    thanks for looking into it. so just disabling chunk persistence altogether will sort it?
     
  9. Offline

    Vittek

    Worked for me. Put true to false in the prop file.
     
  10. Offline

    BioRage

    This probably has been said before, but, I do believe that the plugin kicks user's for "flying."

    I removed it a day later, and it solved, could you please seek a solution?

    Edit:
    I also have Nocheat installed but i don't think that conflicts.
     
  11. Just tried this - performance increase is great, but like a couple of posts above, I've had problems if chunk persistance is on, so I've had to turn it off.
    Currently using bukkit #767.
    Issues with chunk persistance on :
    Using Elevators you often ended up falling through the floor of the elevator
    Pressure plates stopped working ?
    One user mined his bed and then couldn't pick it up, so it was floating infront of him. I tried to get it with same result, I couldn't get it.

    Restarted the server with chunk persistance off, and the problems went away.
    A real noticable difference to CPU load on the server though ........ with this plugin running, a couple of times the CPU load = 0% - only for a second or two, but I've never had that before, and the constant CPU load spikes have flattened out, so its a more even CPU load, rather than 1 second 3% next second 15%, etc.
    So even with the chunk persistance off, still a great piece of kit ........ many thanks.
     
  12. Offline

    angus22397

    You probs mentioned it somewhere, but is this multi-world supported. I do bet it is.
     
  13. Offline

    ShadowDrakken

    preliminary support was just added recently, but is incomplete if I'm understanding correctly
     
    angus22397 likes this.
  14. Offline

    Imm0rt41

    i don't really know what it means by the chunks stay in ram longer, but im guessing it means that when you walk back along an area you were previously (i have the lifetime set to 30 min), the chunk will almost instantly load back up.

    that is not whats happening. whenever i walk back along a path i was before, it seems to only take longer to load back up for me. the only thing i have noticed this doing is that when i use flymod to go really fast, usually it lags as i go really fast, but this stops the lag for that. thats all i notice this doing.
     
  15. Offline

    Kainzo

    @Laxmanos im interested in this
     
  16. Offline

    angus22397

    animals can still spawn when multiverse animals r off and this plugins animals r off

    LawL,
    it was a plugin called tiediesheep :p.

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

    QQCucumber

    You're supposed to have allowflying set to true if you're using NoCheat.
     
  18. Offline

    BioRage

    Thanks, I'll look into it,.
     
  19. Offline

    Kiim

  20. Offline

    MartN

    i want to change the auto save to 60 minutes.
    but wich numer i must write in the config?
    i think there are no miliseconds?
     
  21. What's the difference, implementation wise between:

    allowmonsters: true
    and
    maxmonsters: 0

    As, I have tested with "allowmonsters: false", and I can still manually spawn monsters at least, intentional? I would assume that "allowmonsters: true" would block any spawn from happening, and "maxmonsters" is the limiting method you described in OP.
     
  22. Offline

    SeeD419

    This sounds like a great idea once all the kinks get ironed out.

    Keeping chunks open longer would be great. Seems like ever sense 1.5 they load just awfully. What's up with that anyway? You can just barely get the chunk you're IN to load without running around trying to get close enough to it so it pops up, lol.
     
  23. Offline

    LexManos

    http://forums.bukkit.org/threads/me...nimizer-and-more-740.15827/page-7#post-295587
    60*60*20=?
    Monster Limiter only effect naturalyl spawning monsters, not manually spawned ones.

    That is a client side panting issue, nothing to do with the server.
     
  24. Offline

    Kainzo

    @LexManos - I've tested it for a day or two - whenever an autosave kicks off - it starts the saving process - since we do it every hour - there's a lot to save. Once it is saved, the server lets people back in (it kicks due to the amount of saving done) ....
    Then it immediately triggers another AutoSave. It may not be in direct conflict with the plugin but by all means it does not compliment it. Surely - with the amount of time it will take for a save due to no -mini-saves happening it is conflicting.
     
  25. run on 766? thanks
     
  26. Offline

    fffizzz

    works fine on 766
     
  27. Offline

    SeeD419

    Oh...so with this the chunks still won't load right...I see.
     
  28. Offline

    anchoredpirate

    Set it to a sooner option, like 30mins. Anything is better than the default 2seconds!
     
  29. Offline

    Kainzo

    30minutes in "Ticks" means nothing to me - we have a varied tick rate - which can range anywhere from 2/20 ticks to 15/20 ticks - millseconds would be the best bet.
     
  30. Offline

    Ranzear

    I set mine to 15 minutes, and I'm not running ChunkPersistence just yet -- wondering if it'll interfere with persistence of chunks around MultiVerse and Nethrar portals.

    Holy balls what a difference! Nearby chunks load immediately, there's no gaping holes in the ground waiting for any, and MultiVerse+Nethrar is working flawlessly (just don't load the nether world for Nethrar in MultiVerse so it ignores it).

    I upgraded the Java on my server to 64bit and opened up my memory allocation to 3gb. It's now using ~1.65gb with a few people on the server after 2 hours and ~2gb after a full 24hour cycle before restart with four worlds and mcmmo blowing that up as hard as they can.

    Probably most importantly: I also managed to crash my server a few times and didn't get a single chunk error. I'd rather have a ~15min rollback than a buggered map. Love this plugin.
     
  31. Offline

    LexManos

    There is NO EFFICIENT way to make it work in Milliseconds reliably.
    So no, thats not going to happen.
    If your server is laggy that much maybe you need to work on something else?
    That number will be in world ticks and that is how its going to stay.
    I am not going to re-write the core of Minecraft's ticking system to be more efficient, thats just to much of a pain.
    Anyways, Terraria was released, and I got a copy {<3 Dan} so I'm working on that for now.
     

Share This Page