[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

    LexManos

    Yes, but then all the plugin.ymls would be larger then the actual code.
    And I would be duplicating code to all fuck out.
    All parts of this plugin deal with completely seperate parts of Minecraft.
    And the fact that disabeling the parts disable enitre chunks of code its not hard to track down things in MY code.
    It's Minecraft thats screwing up, how I don't know. Still trying to figure it out.

    For those of you who are repeatedly getting missing chunk errors. Zip up your MC folder and send it to me. I'll dig in and see if i can find/reproduce it.
     
  3. Offline

    fffizzz

    I've got this a couple times. However I couldnt tell if it was MC or the plugin causing it. Usually its easy to tell if its a plugin causing the crash. Ive got this twice. unfortunately with this crash, it doesnt stop the server, it just stops responding..
     
  4. Offline

    ichingpow

    I am not getting any chunk errors, however when I was on 0.4 with monster limiter on and at 500 max, only like 16 mobs where there (killed 16 using butcher). I then did a /reload and they started spawning again and then it happened again. I then turned off monster limiter and it worked fine.

    I also get the at shutdown nullpointer but you said it has no effects and is an easy fix. Looking forward for the fixes in 0.7. Also can you maybe recommend me some settings? I have 2gb of RAM and about 6 -10 people online at any time. What should I set my chunk lifetime and prune to? Thank you very much.
     
  5. Offline

    fffizzz

    Ok, so currently running 3 worlds, 12 gigs dedicated to minecraft and NOT using a ramdisk now. Im suspecting this might have been causing issues, but its hard to tell. I haven't had any issues since using v06 and i currently have chunk persistence off. Im planning on adding two more worlds and wanted to know if you had any suggestions. things seem to be running smoothly at the moment, no missing chunks, no corruption.
     
  6. Offline

    NotoriousPyro

    Then why don't you have a "Core" and individual plugins which do the work like Minecart Mania?
     
  7. Offline

    Vittek

    This plugin caused quite a few weird artifacts on my server. Such as: Alot of dropped items started to spass around on the ground and couldnt be picked up anymore, until you relogged. Signs attaching themself the wrong way to walls. Redstone circuits breaking. Everything went back to normal when I removed the plugin.

    With CB740
     
  8. Offline

    ShadowDrakken

    The phantom items is a MC client issue. I get that even in single player with an unmodified client.
     
  9. Offline

    Vittek

    I know what you mean but it was something diffrent that I never seen before. It happen after a certain amount of items were dropped. They started bouncing around and couldnt be picked up anymore. And it happen everytime.
     
  10. Offline

    Ratchet

    THANK YOU.

    I've been getting this on my server too and I could not figure out what the hell was causing it, decided to check here on a hunch and saw your post, guess i'm removing this for now.
     
  11. Offline

    PhantomGamers

    Any chance to have a force save command?
    /save-all apparently only saves chunks and not Items(player-data), :S
     
  12. Offline

    Ozonepheonix

    Wow, this is just what ive been looking for! An easy to install, efective anti lag program! Ive been getting a lot of complaints recently about server lag because i host the server in canada and most people innmy server are americans. All of the anti lag programs that ive used so far have stopped lag for about 30 mins then stopped working, those have been meaningless code in a bat file that im not even exactly sure what it does, this i actually understand what it does and its so much easier to use. I havnt actually tested it yet as it is fairly late but im about 95% sure it will work because ive seen it in action. THANK YOU FOR THIS MAGICAL PLUGIN!!!!
     
  13. Offline

    LexManos

    @PhantomGamers: Interesting. ya i'll add that later this week if I remember. Taking a break from MC to get some real work done.
     
  14. Offline

    anchoredpirate

    Great plugin, but this somehow breaks the server.properties settings for mob and animal spawning. Took awhile to figure out the culprit, but after removing this plugin, restarting the server and using /butcher (essentials command) and then restarting again no animals would spawn (like i wanted). Seems animals are persistent with this plugin too?
     
  15. Offline

    LexManos

    So do you want animals or not?
    Check MobLimiter.prop file for allowmonstrs and allowanimals. You need to set those values there and in the main server.properties. This is a really really simple plugin.
    On creature spawn it checks if the number of creatures > the max limit, if so it sets allowAnimals/Monsters to false.
    Then on monster death, if that number reaches max limit - 100 (or 0) it sets allowMonsters/Animals to true again.

    THATS ALL.
    Should be simple to understand right? If you want Animals but no monsters, set allowanimals to true, and allowmonsters to false in BOTH server.properties, and MonsterLimiter.prop.

    https://github.com/LexManos/PerformanceTweaks
     
  16. Offline

    fffizzz

    latest RB, on shutdown i get this, even with monsterlimiter false
    Code:
    2011-05-10 06:57:41 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing 'reload' in org.bukkit.command.SimpleCommandMap$ReloadCommand@6cc8aa25
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:89)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:278)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:682)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:645)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:639)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:372)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.NullPointerException
    [B]        at org.jbls.LexManos.MonsterLimiter.onDisable(MonsterLimiter.java:96)[/B]
    [B]        at org.jbls.LexManos.PerformanceTweaks.onDisable(PerformanceTweaks.java:28)[/B]
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:129)
            at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:690)
            at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:261)
            at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:255)
            at org.bukkit.plugin.SimplePluginManager.clearPlugins(SimplePluginManager.java:269)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:308)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:201)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
            ... 11 more
    
     
  17. Offline

    GmK

    No once again, you dont understand the problem:

    PerformanceTweaks *overwrites* the no-mob/no-animal setting of plugins like Multiverse. With PerformanceTwewaks enabled, there is no way to disable Mobs/Animals on a per-world basis as it is when you dont have it enabled.
     
  18. Offline

    QQCucumber

    Confirmed. :(
     
  19. Offline

    fffizzz

    turn monster limiter off for now.. does mob limiter (diff plugin) also have this problem?
     
  20. Offline

    PhantomGamers

    Take your time. :)
    I coded a quick plugin to add the feature myself.
     
  21. Offline

    NotoriousPyro

    I'm now running 0.06 but I've lowered the AutoSave delay default to about 5 minutes.

    Will let you know if world holes appear, seems to be working fine so far on a single world.
     
  22. Offline

    PhantomGamers

    I got this error after someone logged in... happened once randomly.
    Can't seem to reproduce it, and it didn't SEEM to affect anything, but I figured I would post it anyway.
    Code:
    2011-05-10 15:12:56 [SEVERE] java.lang.NullPointerException
    2011-05-10 15:12:56 [SEVERE] 	at org.jbls.LexManos.ChunkPersistance.run(ChunkPersistance.java:154)
    2011-05-10 15:12:56 [SEVERE] 	at java.lang.Thread.run(Unknown Source)
    
    I'm running CB 766, but I don't think that's the issue.
     
  23. Offline

    goz3rr

    Getting this on closing server:
     
  24. Offline

    MCbyWay

    Agreed. This gave me issues with Heavenlymob as well.

    Yes. We understand PERFECTLY thank you. However as stressful it is to maintain this plugin, you are starting to ignore your users. Understand that we want the plugin to improve, We aren't having a go at you.
     
    NotoriousPyro likes this.
  25. Offline

    Dangazzm

    I don't think he thinks anyone is having a go at him... you gotta read through the thread one full time. Some people do some STUPID things and say even dumber things. Besides I didn't understand what was the issue until it was broken down right there.
     
  26. Offline

    Liger_XT5

    v.06 of performance tweaks.

    Just caught this on the server log while checking for something else. (Was updating milkadmin)

    Code:
    2011-05-10 18:20:12 [SEVERE] java.lang.NullPointerException
    2011-05-10 18:20:12 [SEVERE]     at org.jbls.LexManos.ChunkPersistance.run(ChunkPersistance.java:154)
    2011-05-10 18:20:12 [SEVERE]     at java.lang.Thread.run(Thread.java:636)
    
    I honestly don't know for certain it is this plugin, but it's the only one I know that has mentioned about chunk persistance.

    plugins:
    Show Spoiler

    rTriggers 1.7.1
    Help 0.2.4.1
    iConomy 5.0
    MonsterHunt 1.0.2
    BigBrother 1.8-SNAPSHOT
    Cleaner 1.7
    Unknown Command 1.3
    TimeAnnounce 1.1
    Commands Logging 0.1
    iChat 2.2.2
    LWC 2.31
    Jail 0.6.1
    ThunderTower 1.1
    xWarp 2.10.1
    WolfPound 0.11
    RemoteToolkitPlugin 0.4b
    OddItem 0.6.5
    milkAdmin 2.6-03.30
    WolfSpawn 0.4
    MidiBanks 1.3
    MobBounty 3.0
    Landmarks 0.1
    TelePlusPlus 1.3.3
    PvP Control 1.5
    Towny 0.65
    dynmap 0.16
    Permissions 2.7
    BlastControl 1.0.4
    PumpkinDiver 0.16
    NeoMeteorites 0.2
    OpenInv 1.1.0
    IOBookcase 1.32
    Lampstone 0.6
    MinecartManiaCore 1.1.6
    CommandSigns 0.4.2
    DropChest 0.7.5
    PerformanceTweaks 0.06
    Growbie 2.3
    MobileAdmin 2.4.2
    iConomyChestShop 2.6
    Turnstile 1.6.1
    Seats 0.1
    MinecartManiaSignCommands 1.1.2
    Tombstone 1.2.9
    Stats 0.985
    CommandBook 1.4.3-customized
    LastSeen 1.1
    MinecartManiaAutomations 1.1.2
    Achievements 0.981

    CB: 740
    Will be going through a plugin and CB update this weekend when other plugins catch up and are more stable.

     
  27. Offline

    anchoredpirate

    Was trying to tell you about a bug.
     
  28. Offline

    spunkiie

    Running on my 300+ server (only the 2s chunk save blocker option) and its awesome :D
     
  29. Offline

    woodzy

    looks like my question got skipped,
    would this make a diffrence on a high power liunx vps?
    8GB ram
    6 2.8 cores
    80GB HDD
     
  30. Offline

    Blackstorm72

    On My Win2008 R2 Enterprise Server, it essentially stops the Disk I/O when no one is on (which wasn't the case before this plugin)
    So, it likely will help your big server as well.
     
  31. Offline

    angus22397

    Holy **** even with 30ppl on my server the discs are hardly spinning, the ram usage is almost not being used at all by the server and the computers cooling fan has come to a halt. This plugin is BOUND to become within the top of all plugins.
    10/10 another satisfied customer (should be paying).
    Put up a donate link then reply to this message and I'll be sure to give a lil' something.
     

Share This Page