Fixing Minecraft Hoppers - Performance Update + More - 1/14/16

Discussion in 'Empire Updates' started by Aikar, Jan 14, 2016.

  1. Hello,
    Exciting news! Ever since Hoppers were added to Minecraft, they have been pretty much the biggest source of lag for servers.

    things have been tried in past to help alleviate the lag by slowing them down or increasing item transfer, but nothing made significant dent.

    Then we found the sucking in of items thing really hurt a lot, so that was optimized on EMC to slow down suck in rate and that helped tons....

    But, they still caused problems... Until now.

    After extensive research into the hoppers code, I have finally found all of the bugs in Mojangs code with hoppers, lots of overlooked details in how they pull off the desired logic.

    Now, I have rewritten how hoppers transfer items, maintaining 100% vanilla item movement (outside of the suck in items on ground above hopper, thats still the same but may return close to vanilla in the future).

    This is the holy grail of performance improvements for Hoppers, all without breaking them!

    We've done as much testing as we can and nothing is broken, but of course there is risk of edge cases so please report issues ASAP.
    and as a reminder, if some bug occurs that results in duplication of items, we will find out, so report it to us immediately, stop recreating it, and we will fix it. You will not be punished for duping if you let us know immediately upon finding the issue and stop doing it after that.

    I hope there's not any dupe issues... but with the nature of this change, I wanted to make sure that's clearly said.

    This does not mean its ok to go using more hoppers!!!
    The point of fixing lag issues is to keep the servers from ever lagging, so that we can safely support 20 TPS all day, every day, including weekends and general prime times.

    Lately... we are unable to do that on some servers due to hoppers. So please, do not replace the new found 20 TPS with more sources of lag.
    Please be mindful with hopper creations, and try to not put everything into a single residence.

    Split it up, so that 1 player visiting your res doesn't load a massive contraption. If you break it into 4, only 1/4th is affecting server at a time.

    Some other improvements and changes:
    • The Winter event has ended. However unkilled event mobs will remain! find the remaining Blizz's!
    • TopG voting rewards have been increased. Tokens are now 15 per vote, up from 5. Rupees are now 200 per vote, up from 150. Help get us back in that top 10!
    • Cats no longer block opening chests. This is a performance improvement and overall stress reliever to players
    • Many other performance improvements all around
    • Compass now automatically sets to death point on death instead of the chat message, since previous compass location always got reset anyways.
    • Fixed a bug where enchanting books or renaming items caused the Repair Cost data to get saved into the item, causing enchanted books to be considered special and unable to be sold w/o [slot 1] signs.

      If you currently have enchanted books that cant be sold, contact SS to have them replaced with clean copies (please organize them into chests), but I will add a command to let players do this themselves soon, so if you can wait, please wait to keep load off SS.
    • Enderman now drop the block they are holding when they die like they will in 1.9
  2. What a great update! :)
    I'm planning on making a few farms in the future that use hoppers so I'm glad their impact is being lessened.
    ForeverMaster0 and Theomglover like this.
  3. Whoop whoop hoppers
    Theomglover likes this.
  4. Cool finaly i thought the shop lag was from my laptop but now i know the truth :p
  5. it broke
    Theomglover and Jinkers like this.
  6. Best Minecraft Servers
    <3 it when this happens

    EDIT: We are back up :D
    Theomglover likes this.
  7. something really bugged out unrelated to these changes that just caused the plugin to fail to load, I think it was a bad compile.

    So I recompiled and everything was kosher then.
    Theomglover and Echelon815 like this.
  8. So I can use my automatic furnace without lag?
    :D :D :D :D :D :D :D :D (sorry just had to)
    Theomglover and Jinkers like this.
  9. Wow... I guess my wifi isn't so bad after all!
    Theomglover likes this.
  10. haha, the first thing I noticed gone were the permissions and the zone boundaries and I broke a dirt block on a clean plot and Pm'd you that everything was Code Red
    Theomglover, Jinkers and AlexChance like this.
  11. thankfully was only like that for less than a min as I shutdown every server heh.

    I actually even have code in place to shutdown the server if empire throws an error on start, but I guess the fail safe needs a fail safe and we need to revisit more ways to detect failure to load.
    Kytula and Theomglover like this.
  12. This makes me think of an interesting April fool's update idea. *revenge of sneaky gray text*
  13. :D I likey
    EDIT: I logged off and that happened seconds later :(
    Theomglover likes this.
  14. Awesome update.
    Best Minecraft Servers
    We must be in heaven, man!
    Roslyn and Theomglover like this.
  15. Hhooo... I wonder how many people experienced break-ins and vandalism >.>
    Theomglover likes this.
  16. It was only for about 30 seconds before Aikar shut things down thankfully
    Theomglover and SteamingFire like this.
  17. If aikar wasn't on :eek:
    Theomglover likes this.
  18. Lets just say that chaos would reign on the empire. Things would be more broken than chin could make them. That is how serious it could of been.