CraftBukkit Incompatibilities and versions [Poll]

Discussion in 'Plugin Development' started by bergerkiller, Oct 19, 2011.

?

What CraftBukkit version do you use on your server?

Poll closed Oct 26, 2011.
  1. 1060 - I don't like the bloated 1.8 version

    0 vote(s)
    0.0%
  2. 1185 - Is there a new version? Say what?

    0 vote(s)
    0.0%
  3. 1240 - It worked, why update?

    22.2%
  4. 1317 - I keep track of the version and update when necessary

    33.3%
  5. +1318 - I want to have the latest version to maximize my server abilities

    44.4%
Thread Status:
Not open for further replies.
  1. Offline

    bergerkiller

    I want some insight on this issue. I have had three steps of incompatibilities in the past:
    - 1060 to 1.8 version - Everything native broke
    - 1185 - 1240 - Native item stack changed 'damage' to 'data' all of a sudden
    - 1240 - 1317 - Item stack got a variable pick up delay added
    Now, I like to maximize the API, but when people complain of 'method not found' error 24/7 it gets kinda annoying. I end up using reflection, try-catching and Class getting to fix these incompatibilities as I can, but come on...there is a limit!

    So, as for now, here is my misunderstanding
    - Plugins have to support the latest CB version
    - Plugins have to support older versions too! (although not stated)
    - Every developer should just have every version available in a Jenkins-like environment
    - Those that don't do this end up uploading lots of older versions 5% of the users download

    I'd say, screw them, let's just remove the older versions and use the latest. But then people start to complain of 'version 1.8 is laggy' so I have to keep the old version up. I eventually add more features, but obviously don't add them to the older version. The 1060 version of TrainCarts, for example, hardly contains any of the features I added in 1185 - 1317. Where does this stop?

    And now...the Configuration. Ow boy, here we go. I end up splitting the plugins once AGAIN, all because of some friggen' change of mind. I don't think it is bad, the new configuration section system is a lot better, but why mark it as deprecated? I have hundrets of warnings now and can't fix them, all because of version breakage.
     
  2. Offline

    thehutch

    2 things:
    1. Update poll to include new BukkitBuild (1337) and also devbuild option
    2. I think we should only put up a lastest build because 9/10 it will always be compatible with the previous build unless its a Minecraft update build.
     
  3. Offline

    bergerkiller

    2 things:

    1. Can't seem to find the 'edit poll' spot anymore
    2. Coders that go deep into the source (like me) will encounter code breaking during pretty much every RB change
     
  4. Offline

    nisovin

    Honestly, I don't see any reason to maintain multiple plugin versions supporting different CraftBukkit builds. If someone wants the latest features, they'll have to update their server version. That's just how it goes. If they don't want to update their server, they can use an older version of the plugin. You can still keep those old versions available for download, but there's no reason to support them.
     
  5. Offline

    bergerkiller

    @nisovin and what about those that run servers for fun? I could go and upload every single version of the plugin I ever released...but doing so will only litter Github in my case. If I don't support older versions, it is a matter of time before hordes of people start posting the famous 'methodnotfound' error...
     
  6. Offline

    nisovin

    Do you delete your old version when you upload a new one? If you do, then stop. Just leave all your old versions there. And when someone complains about an error caused by a version mismatch, just tell them they need to upgrade. I don't see a problem here.
     
  7. Offline

    thehutch

    Just block them and its there fault for not updating. Just put a large red title saying update or die and dont post methodnotfound errors
     
  8. Offline

    bergerkiller

    @nisovin I have to: I can't have duplicate file names on Github. And, adding to this issue, I have to upload both an archived version (rar AND zip) and not-archived version (latest build in other words), or people start to ask:
    - I downloaded the plugin, but where do I put it? I only see a plugin.yml and com folder! Please help! -.-
    - I downloaded the plugin, but how do I open it? It is a rar, not a jar, WAT DO? -.-
    - Can you please upload a zipped version for the non-Windows users? Okay... :/
    Soon: Can you please make a setup executable for Windows and Mac OSX and Ubuntu and my calculator in CBasic so my computer can use it?
    It's another annoyance...

    @thehutch Tell that to some of the non-technical persons around here...
     
    thehutch likes this.
  9. Offline

    nisovin

    You can name the archived versions by version number, and keep the direct jar updated all the time. If someone wants an old version, they can download the zip file. If someone wants the newest version, they can download the zip file or the latest jar.

    You're trying to make this too complicated and trying to please too many people. It's okay for your users to put just a little bit of effort into installing a plugin. Also, I think you seem to think that your users are much stupider than they really are, probably because you only hear from the vocal minority. Most of the people who download your plugin don't have any of the stupid problems you listed.
     
  10. Offline

    bergerkiller

    @nisovin I know, but I rather spend time solving all questions in one go than to post the same reply 5x...
    Still doubting now...what is the 'norm'? Zip, rar, plain jar, other? It's simpler to go one way than to upload all possible types, and thus, perform the same upload 3x during every (minor) update...
     
  11. Offline

    Sagacious_Zed Bukkit Docs

    I really really dislike it when people zip a jar and only a jar....
    But maybe that's just me.

    I however have no problems with jars and versions numbers in them. Kinda like how maven generates them.

    I understand if there were other files in the zip file tho.
     
    thehutch likes this.
  12. Offline

    bergerkiller

    @Sagacious_Zed Same, but some web browsers are poorly developed and don't allow the user to save the file to disk...or the users always click 'open with'. :)
     
  13. Offline

    Afforess

    You can try and support every build possible, but it's going to drive you insane. And kill your drive to keep making plugins.

    Standard procedure is to support the latest RB. If it still works for older builds, cool, if not, no sweat. Anyone who complains can upgrade.

    BTW bergerkiller, I swear you are going through the exact same process I did, but 6 months later. I ran Minecart Mania like the way you currently run Train Carts, etc, with lots of user support, trying to maintain tons of build compatibility, etc. It's extremely draining and unsustainable for mere humans.
     
  14. Offline

    Sagacious_Zed Bukkit Docs

    @Afforess
    I hate to say it, but i think it's the ten year olds that have to be given line by line instructions on where to find the line by line instructions to fix the problem...
     
  15. Offline

    thehutch

    age-ist :p and yeah I agree although you have to agree not everyone is computer smart like some people. Other just need clear instructions. If your getting lots of complaints and people asking about errors make a post about it on your OP or on bukkit dev using the ticket system. problem solved :) and yh if I was you keep about 3-5 builds back then delete them and dont update to new builds if they were broken like 1317 was
     
  16. Offline

    bergerkiller

    @thehutch the problem is however...hosting a Server is not something everyone can learn in 123. It's not a simple setup you run, whereafter you click a shortcut. It also involves port (forwarding), finding out your IP, where the worlds are, where the plugins go, where the plugin configs are, what YAML is and how it works, what to do when you get errors in the console, self-debugging (port already bound for example), know how to press ctrl+alt+delete, how to kill a process. I've seen some that can't even copy and paste a file from one spot to the other.... :(
     
    thehutch likes this.
  17. Offline

    thehutch

    So I went through this process when I first created my server I didn't even know what permissions was or anything about YAML files but I learnt from bukkit on how to do things thengot my server running. I think that only people who have common sense and think because posting should be allowed to host servers, people who arent stupid and actually look up on how to run a server.
     
  18. Any news on if you're carrying on MM ? if you could link TrainCarts with MM it would be super amazing :D
     
  19. Offline

    bergerkiller

    @Spidi I already link TrainCarts with Minecart Mania...where possible. I do try to keep minecart-related features alone and let Minecart Mania handle those, for example exchanging items with chests. For the things where support is lacking, not possible or other, I add features. For example, I had to implement my own sign action even system to support entire trains, else the same sign fires multiple times per train. Tags and the future 'destination' systems are examples of train-related features that were previously non-existent. :)

    Also, I followed @nisovin his advise and now upload zipped archives, named after the version number, with the mere plugin inside. Solved many of my (GitHub) issues with it.
     
Thread Status:
Not open for further replies.

Share This Page