[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

    Toothless

    Great plugin but its useless with Multiverse.
    I have a creative world and survival world.
    This plugin enables in both worlds monsters and i want the creative mobfree.
     
    Graloth likes this.
  3. Same problem as @Toothless with multiworld
     
  4. Offline

    fffizzz

    Many people are asking about this, give the guy some time. He could probably easily add an option to to set which worlds mobs are enabled in.
     
  5. Offline

    Paul_VB

    hey just a quick question, and dont flame me if its already been asked before in this topic, but will /save-all still save the server into the hard drive, or will ihave to wait untill the next save cycle pases?
     
  6. Offline

    BioRage

    So, will i still require an "auto-save" plugin if this auto saves?

    Just some general questions..

    Thanks.
     
  7. Offline

    woodzy

    I LOVE THAT MOVIE!!!
     
  8. Offline

    angus22397

    I want you to read this (bump).
     
  9. Offline

    Liger_XT5

    I've noticed that since I updated to 766, I've got the lag I used to have before I used performancetweaks on craftbukkit 740 :/
     
  10. Offline

    Kahl

    How do I fix the "Hole In Floor" errors?

    Warps, homes, etc that are in these ruined chunks cannot be teleported to - but they do exist.

    There are buildings here and I do not want to regenerate the chunk.
     
  11. Offline

    angus22397

    Another thing is that my server usually runs at 1000000K of ram (approx), now its currently running at 132, 308K.
    I AM SUPER DUPER SATISFIED!!!
     
  12. Offline

    QQCucumber

    Here's a couple errors I fished out of the server log.

    Code:
    2011-05-11 12:31:35 [SEVERE] java.lang.NullPointerException
    2011-05-11 12:31:35 [SEVERE] 	at org.jbls.LexManos.MonsterLimiter.onDisable(MonsterLimiter.java:96)
    2011-05-11 12:31:35 [SEVERE] 	at org.jbls.LexManos.PerformanceTweaks.onDisable(PerformanceTweaks.java:28)
    2011-05-11 12:31:35 [SEVERE] 	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:129)
    2011-05-11 12:31:35 [SEVERE] 	at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:690)
    2011-05-11 12:31:35 [SEVERE] 	at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:261)
    2011-05-11 12:31:35 [SEVERE] 	at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:255)
    2011-05-11 12:31:35 [SEVERE] 	at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:120)
    2011-05-11 12:31:35 [SEVERE] 	at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:241)
    2011-05-11 12:31:35 [SEVERE] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:317)
    2011-05-11 12:31:35 [SEVERE] 	at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Code:
    2011-05-11 21:33:48 [SEVERE] java.lang.NullPointerException
    2011-05-11 21:33:48 [SEVERE] 	at java.util.Hashtable.get(Unknown Source)
    2011-05-11 21:33:48 [SEVERE] 	at org.jbls.LexManos.ChunkPersistance.run(ChunkPersistance.java:154)
    2011-05-11 21:33:48 [SEVERE] 	at java.lang.Thread.run(Unknown Source)
    2011-05-11 21:33:4821:33:48 [SEVERE] java.lang.NullPointerException
     
  13. Offline

    Selryam

    I am not sure if I should worry about these 'messages' that only appear when I stop my server; it is the similar errors' QQCucumber has posted, I think.


    Code:
     [SEVERE]     at org.jbls.LexManos.MonsterLimiter.onDisable(MonsterLimiter.java:96)
    2011-05-12 01:28:37 [SEVERE]     at org.jbls.LexManos.PerformanceTweaks.onDisable(PerformanceTweaks.java:28)
    2011-05-12 01:28:37 [SEVERE]     at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:129)
    2011-05-12 01:28:37 [SEVERE]     at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:690)
    2011-05-12 01:28:37 [SEVERE]     at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:261)
    2011-05-12 01:28:37 [SEVERE]     at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:255)
    2011-05-12 01:28:37 [SEVERE]     at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:120)
    2011-05-12 01:28:37 [SEVERE]     at net.minecr aft.server.MinecraftServer.stop(MinecraftServer.java:241)
    2011-05-12 01:28:37 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:317)
    2011-05-12 01:28:37 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    2011-05-12 01:28:37 [INFO] Stopping server
    
     
  14. Offline

    angus22397

    This is only a new problem

    This is only a new problem just ignore it

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

    Ratchet

    hope this gets fixed so I can use this great plugin again! :(
     
  16. Offline

    Paul_VB

    anyone?


    also is there a config file to set the intervals inbetween saves?
     
  17. Offline

    ShadowDrakken

    from what I can tell, save-all still works normally... at least it still shows all 3 lines of output when its used, so it's doing _something_
     
  18. Offline

    Kainzo

    Does this have any conflict with AutoSave plugin?
     
  19. Offline

    Jorrdan

    What should i set the max monsters to?

    Also, please make this multi world supported. That is a HUGE issue with a lot of people including myself!

    Thank you for this plugin.
     
  20. Offline

    Dangazzm

    Everything mentioned in there is client side stuff... I don't see how a server plugin could mess with that.

    There is in fact one up there! I supported him too :p but he practically made it for me one lonely night in Skype.

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

    Zalastri

    I've got an error slightly different then the others I see. I'm running the latest bukkit RB, latest version of your plugin, and the following other plugins.

    Code:
    2011-05-13 14:56:18 [SEVERE] java.util.ConcurrentModificationException
    2011-05-13 14:56:18 [SEVERE] 	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:781)
    2011-05-13 14:56:18 [SEVERE] 	at java.util.ArrayList$Itr.next(ArrayList.java:753)
    2011-05-13 14:56:18 [SEVERE] 	at org.bukkit.craftbukkit.CraftWorld.getPlayers(CraftWorld.java:538)
    2011-05-13 14:56:18 [SEVERE] 	at org.jbls.LexManos.MonsterLimiter.run(MonsterLimiter.java:103)
    2011-05-13 14:56:18 [SEVERE] 	at java.lang.Thread.run(Thread.java:717)
    
     
  22. Offline

    Ratchet

    but it disappears when I remove the plugin :(
     
  23. Offline

    Kainzo

    Writing a save every 30 mins causes 90% of the people on the server to be kicked - is there a better way around this?

    Also -
    #interval: The number of ticks {1/20th second} between each Mini-Save.
    #Thu May 12 14:53:37 CDT 2011
    interval=36000

    Can you write this into milliseconds? Our tick rate isnt 20/s its around 6/s under full load.

    UPDATE:
    19:23:05 [SEVERE] java.util.ConcurrentModificationException
    19:23:05 [SEVERE] at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
    19:23:05 [SEVERE] at java.util.AbstractList$Itr.next(AbstractList.java:343)
    19:23:05 [SEVERE] at org.bukkit.craftbukkit.CraftWorld.getLivingEntities(CraftWorld.java:520)
    19:23:05 [SEVERE] at org.jbls.LexManos.MonsterLimiter.run(MonsterLimiter.java:103)
    19:23:05 [SEVERE] at java.lang.Thread.run(Thread.java:662)

    I also see this error
     
  24. Offline

    angus22397

    I don't understand,
    YOU KNOW THIS EPIC SUPERHERO!!!???
     
  25. Offline

    LexManos

    Version 0.08:
    • /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();
    Download Here
    Download Source Here
    Donation Link[​IMG]

    @Kainzo: It does not interferer with how the other AutoSave plugins work, Like i said they are the PERFECT complement to this plugin. {Please stop asking Ive answered this 6 times u.u}
    Also, Sadly due to Minecraft being horribly non-thread safe. I can't change it to a more accurate time. This has to be in world ticks. Sorry, just configure accordingly?

    @Paul_VB: Doing save-all will save RIGHT NOW. My plugin does not affect the funcationality of that part at all.

    @angus22397: I do have a donate button up and all donations are highly appreciated! I'm glad you like this plugin and I hope you take a look at the other one I am working on {DwrafCraft}.
    Also thank you to those who have already donated {Dan and 'perky'} Me <3 you long time!

    @Everyone: I do apologize I am not the most .. polite person. And people who restate things that have been covered before is one of my major eerks. Its not that Im trying to be a dick.. Its just really annoying. HOWEVER! Seince I made a GitHub project for this. Please if you have bugs to report do it there {follow the Source download link above} It makes my life easier when working on the plugin. And it is a simple place to check if the bug you have found has been reported before. I thank you for your patience and understanding.

    Plus, being sick doesn't help :p

    I also take breaks from MC every now and again to work on other Real World projects with friends.
    [​IMG]
    <3
     
  26. Offline

    anchoredpirate

    Awesome, about to test!

    Edit: my issues were resolved, thanks again!
     
  27. Offline

    Dangazzm

    Pro, think its working here too... that was quick for just coming back lol.
     
  28. Offline

    Ratchet

    installed v7, every player is getting item bouncing issue again :(
     
  29. Offline

    LexManos

    What is your server address?
    Also, if possible send me your server files. Honestly I dont know what the heck you're getting.
     
  30. Offline

    virtualism

    Not sure on performance benefits yet, but it looks useful. Thanks!
     
  31. Offline

    ShadowDrakken

    Combined with Dataram RAMdisk, the performance soars :)

    Default MC/Bukkit even on local network with just a couple users starts having all sorts of lag issues, plus it thrashes the heck out of the hard drive which is a good way to ruin the drive.

    This plus RAMdisk totally gets rid of the drive trashing, and significantly reduces lag caused by the servers normal always saving and unable to keep up state.
     

Share This Page