AutoUpdate - Update your plugins!

Discussion in 'Resources' started by V10lator, Jul 3, 2012.

Thread Status:
Not open for further replies.
  1. SteveMcGrath If you read the first posts in here you see that staff was afraid AutoUpdate could cause to much traffic for your server. That's why I added caching.
    The caching simply took the result from your API if it wasn't in the database and stored it there with a timestamp. Then, when accessing again it first took the result out of the database, compared the timestamp and if > 6h where gone it removed the entry and started from scratch. This was just a simple php file.
    Also there was a garbage-collecting thread running on the server cleaning old entries all 24 hours. So I didn't wanted to change/extend your API in any way, just to reduce traffic for you (as requested by staff at that time). :)
  2. Offline


    I put the class inside of one of my plugins and it works fantastically well. It was as easy as adding the class and the line, just as stated. 2 concerns though:

    There has been so much back and forth on this but I won't feel confident using this without being 100% sure that the final statement is, "The use of this auto-updater is absolutely fine as is for the time being.", from the bukkit dev staff. Is this the case?

    Also, I see that in your non-lazy way you include the ("new autoUpdate(this)") line of code within config blocks. I'm just curious, why? How is this accessing the config such that I need to call config related functions?

  3. Destro168 Yes, this has been approved by bukkitdev staff. h31ix may confirm this.

    Actually you are only allowed to put updaters in your code if they can be disabled by the end user. That's why AutoUpdate uses your configuration. If you just use the default config all will be fine (just make sure to tell AutoUpdate when you reload it, like shown in the examples). If you use another one pass it to AutoUpdate. If you use none at all just act like you would use the default, AutoUpdate will create it for you.
    h31ix likes this.
  4. Offline


    Ok, thank you for the answer ^^. I'll modify it a tiny bit for my purposes (with the config access) but definitely this is a very nice class and I highly appreciate your work. This is very nice and thanks! :)
  5. Offline


    Traffic to the API is a non-issue, I'd rather see people hitting the API directly than creating potential fragmentation points. One of the main goals of the Rev3 API is to allow for the singular parser to update multiple APIs simultaneously, allowing us to start to scale horizontally as well. If all happens according to plan, then we can open it up to allow people to get their own bukget installations updated from the master...reducing overall load. We will see though.
  6. This is up for grabs. See here why.

    mbaxter Go, close this thread as it talks about that thing now, too (the link. I see a link to something talking about it is enough for you to close).
  7. Offline


    It's not necessary to be sour if you're going to leave. If you'd like people to take this over, leave your comment as it is. I can otherwise lock this thread on your request, but showing so much hostility is really a poor way to do it.
  8. h31ix You know what's my problem, we talked about that at another place! It's not me leaving it's locking the linked thread for no reason. Please don't reply to that here to not make this a flame and being locked in the end, too. If you have anything to say except telling that I did things I never did feel free to write to me by PM.
    1mpre55 and hawkfalcon like this.
  9. Offline


    Hey :3. I don't know if you know, but I'm sure you do. I love your auto-update class and personally used it in some of my plugins. However, I had to remove it ( =C big sad) not because I wanted but because they rejected my plugins. o.o After being rejected, I asked why did they do it. They told me that they didn't allow download from any kinds of links within the code. And then I said: "Hmm.. okay but, I have other plugins that have this class and it was accepted before.", which they replied with: "Our policy changed and bukget is no exception." So, with no choice left I agreed to remove it :c

    But hey! Awesome API o.o! *likes*
  10. Offline


    When was this? We've made it very clear to the staff that this class is acceptable for people to use at this time.
  11. Offline


    hello h31ix, thank you for your attention o.o this was on December 8th.. I think.. let me get the latest message from the staff. If possible I don't want any problem to the staff that talked to me... He was very understanding and explained the situation throughly to me. So don't kill him xD This is the latest message from him

    Dec 8, 2012 at 12:59
    Hmmm yeah, the guidelines have changed and it has been unsure among the the dbo staff members, but 1-2 weeks ago, the heads stated that bukget no longer is an exception. It was tolerated some time ago, but dbo cannot control what the service provider hands forth with this api.
  12. Offline


    Link to the file, please?
  13. Offline


  14. Offline


    I'll contact you shortly, and in advance and before everyone rages about that topic: this was a misunderstanding on my end. I apologize for this confusion. Clarification by h31ix has been done shortly after I disapproved that file.
    Vandrake likes this.
  15. It needs a new maintainer. Maybe you? :)
  16. Offline


    wow O.O I couldn't possibly! My skill is nowhere near yours. I wouldn't be able to maintain the high-quality of it.
  17. Offline


    The updaters don't really need a TON of updating to keep them in good standing. With that said, someone who maintains it does need to know the code in case something needs to be done to it, be it because of a policy change, a bug, etc. In the interest of not being an asshole, I won't link, but I do have my own take on the updating system that people can still use if nobody decides to take this one over.
  18. h31ix Well, the bukget API has slight changes from time to time, so the new maintainer should at least know how to handle JSON data. Also the difference between sync and async code execution as well as what thread safety is should be known to maintain it as all I/O is async while all bukkit/plugin interaction is sync. Knowing what reflections are is also a good thing as they are used for dynamic command registration.

    The problem is things might be stable for a long time, but if they break the maintainer should be able to fix them.

    While I like it that there's your updater even if this one dies I'm not sure if yours has the same feature set atm (one command for all plugins, one permission set for all plugins, ... - Last time I looked at yours (longer ago) it didn't even handle I/O async which is bad in case of network lag / curse server errors).

    Vandrake It was just a question. It's fine if you don't. And yes, I know the sources are a bit complicated but if you know about the points I talked above (some of them are really easy to learn. I didn't work with JSON before AutoUpdate, for example) it shouldn't be to hard to jump in.
    Maybe you even know another dev who wants to pick it up. As it's no longer useful for me I'm not really searching...

    //EDIT: h31ix Forgot to say: The points I showed that your update might not have do not make it worse, it just make it different. This wasn't meaned rude!
    h31ix likes this.
  19. Offline


    @V1olator Can you please check this code against the dev API and report back any issues:

    Thanks man.
  20. Offline


    I don't think v10lator is maintaining this anymore unless he changed his mind
  21. ^ This.

    Also I would need to know how to get the latest version of a plugin with the dev API but no matter what I try all I get is "502 Bad Gateway".

    BTW: If anybody wonders why I'm still hanging around here: As I will update all my plugins when the next RB is out (see my goodbye thread) I'm still here (just less active) till then.
  22. Offline


    @V10later Sorry about all of the mixups, the dev code is just that, dev. That being said, whats running now is really close to what production will look like now and the API is now fully documented (all 3 APIs now ;))

    Took a while to get back to ya as I never watched this thread, so I never saw the update >.<

    Sorry to hear that your leaving however, good luck on all of your future endeavors.
  23. Offline


    where is the download link for his plugin
  24. Offline


    Um, I just started a server where AutoUpdate was one of the default plugins. so I don't know anything about the politics here and don't even know if reporting an issue here is of any value. But my MC console is showing an exception being thrown by AutoUpdate;

    Is this something I can address on my own or should I take steps to remove this plugin? From what I've read I may not be able to remove it as it's code that's included in other plugins?

  25. Offline


    The plugin using it is probably way outdated and doesn't even conform to the Update Checking Guidelines that are now enforced for plugins on BukkitDev. I would advise probably finding a replacement. I don't know what you mean by "default plugins"
  26. Offline


    also keep in mind that this class uses a version of the bukget API that will be retired out at the end of the month. we are forcing everyone onto v3 for various speed and efficiency reasons.
Thread Status:
Not open for further replies.

Share This Page