More information on the Minecraft 1.7.2 update

Discussion in 'Bukkit News' started by EvilSeph, Nov 15, 2013.

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

    EvilSeph Retired Staff

    Things are progressing nicely towards our first development build of CraftBukkit for Minecraft 1.7.2. Although this update did not provide or add as much feature-wise as previous Minecraft updates have, this is probably one of the more complicated and larger updates we've had to work with from a mod development standpoint. With "almost all of [the code in Minecraft] having been changed - be it little or big" (according to Mojang), there has been significant shifting around of code and logic - to the estimated tune of ~220k lines changed - within Minecraft, resulting in our slowest and most involved update yet.

    Managing expectations - information about our initial CraftBukkit 1.7.2 builds
    Five days ago (on November 10th) I sent out a tweet trying to describe what our initial findings were regarding the impact this Minecraft update has on the project but it's frustratingly very difficult to communicate everything I want or need to in 140 characters. Nonetheless, sending out tweets is still our best form of communication that doesn't push other important topics out of view (like the potential structure loss PSA).

    The tweet was meant to explain that while we will definitely have development builds, our analysis and evaluation of the update (through reading the code and following Minecraft feedback/bug reports from the community) has revealed that there are issues in Minecraft that may prevent us from getting anything stable or reliable out. This was purely meant to assist us with managing expectations as to the quality, stability and reliability of any builds we're able to give out.

    As for the 'issues we cannot fix' aspect of the tweet, this is due to the nature and policies of the Bukkit project: it is not so much that we are unable to fix the issues ourselves (though this can sometimes be the case), but rather that the issues present are not the project's responsibility to fix and, instead, would be better addressed by Mojang. While we do sometimes make exceptions if we have a really good reason to do so (like to fix a security issue), we try and avoid altering the way Minecraft itself behaves and functions. This is both a conscious decision as a project and a necessity, as too many changes to Minecraft's inner workings can mean significant increases in the complexity and amount of work required for the update process.

    It's not so much that we choose not to fix these issues, but rather that we need to be fully conscious and aware of the impact doing so could have on the update process and our day-to-day maintaining of the project. If the fix for an issue touches too many internals within Minecraft, for example, it usually makes the update process significantly more complex, resulting in (what could be an avoidable) increase in the amount of time it takes us to update. As much as we'd like to fix every issue we come across, doing so would mean updating to new Minecraft versions will take even longer than they currently do.

    This is why we have the minimal diffs policy (a policy which eliminates unnecessary changes to the Minecraft code), it results in a speedier and less buggy update for everyone. Although it undoubtedly limits the developers in our project, I think you'll agree that it's a worthy sacrifice and limit to impose upon ourselves in order to ensure that the downtime of your server between updates is as minimal as we can possibly achieve.

    If we were not personally responsible for updating the core of our project, we'd have much more freedom to experiment. As it is, however, the Bukkit project handles updating, development and the maintaining of both a plugin API (Bukkit) and a Minecraft server mod (CraftBukkit) in order to produce the server you all know and love.

    To be clear:
    • There WILL be development builds; we're still working towards getting our first one out.
    • Due to significant changes in how Minecraft works, it will take us a while to get our Bukkit API updated. Hence, it is highly unlikely that all the plugins you are using will work on our initial development builds.
    • There will MOST LIKELY be promoted builds, but they'll be lower quality than you could usually expect from us due to issues we can't address.
    What does updating CraftBukkit involve?
    To give you an idea as to why this update is taking longer than usual, I need to briefly touch on what our update process involves. Every time a Minecraft update is released, we have to go through a repetitive, time consuming and dry multi-step process.

    A simple breakdown of the process is as follows: decompile the server -> learn the new names (they change with every update) -> figure out how they apply to Bukkit's naming system -> learn what changed/what's new in the update -> update the changes we make to the server to support Bukkit -> get the code to compile -> fix issues that come up.

    Since we're working with a code base that is unfamiliar to us, we can sometimes find ourselves having to jump back to a previous step. For example: we may come across a piece of code that we're not familiar with and once we're able to figure out what it does, we realise that we've named something incorrectly which we then have to go back and fix. It is this fluid and unpredictable aspect of the update process that makes it difficult to come up with a communicable ETA or any progress/status updates.

    Though this process may seem inefficient or ineffective, this is the same process that we've used and improved upon to get all of our updates out (even our fastest ones) over the 3 years the project has existed. Bear in mind, the overview provided here barely touches the surface of our update process and is intended to give you a remote idea as to what we have to deal with for every update. This brief and simplified breakdown of our 'steps' does little to explain the varying level of difficulty or complexity of each step, for example.

    How can I help?
    The best way to help us out is to get involved.

    If you're a server admin: once we have our first development build out, we'd appreciate any testing you could perform and any issues you can report. Please bear in mind that development builds are unsupported and should not be run on production servers.

    If you're a plugin developer: once we have our first development build out with proper API support, we'd appreciate if you could test the build out and report any missing or broken API to our bug tracker.

    If you're looking to help us out with the update, you'll have to work towards that goal by getting involved in other aspects of the project first. Due to the sensitive and extremely team oriented nature of the update process, we require that you build a relationship and demonstrate your commitment to the project before getting involved with updating will benefit the process. As the update process is incredibly repetitive and mundane, intense commitment is a key requirement for the team.

    We know this update is taking longer than usual but I assure you we are working our hardest to get it done. Thanks for your patience and continued support, it makes a huge difference and really helps us push onward!
     
  2. Offline

    NanotubeDemon

    We don't know how it will end up. There is a reason it is 'Super Secret Settings' and not 'Shaders' or 'Crazy Video Effects'. The name implies that the people who implemented it wanted it to be a fun teaser, not a finalized feature. Of course you are more than entitled to your opinion. But the feature is clearly there to demonstrate the possibilities -- of which there are many. I can't wait to see what comes of it.

    Does Twitch lag servers? About files: sounds like a feature request. You should probably submit that to them.

    I am not the best programmer on earth by any measure, but I use constants (names and namespaces) for my variables. It is a way to ensure data values can change, but the interface (API) don't change. It is a very important groundwork step for API implementation in any project. CraftBukkit uses names as well. (I use them all the time as an op.) You might want to file a feature request to remove them from Bukkit and Minecraft server itself. They might consider it.

    I may be wrong, but I think a decent majority of us got into the server realm after trying the game in singleplayer. Clearly it couldn't have been that bad, could it?

    [/quote]

    I wonder if Notch reads these boards. If so, I think it would be quite interesting to see him respond to this particular part of the post. Needless to say, you are speculating. Yet again, you are entitled to your opinion.

    One can't help but wonder why this entire response is in a threat about the update of CraftBukkit 1.7.2. However. The developers will certainly have their own opinions on Mojang's work. They work and toil on the project. It is easy for any of us to blame Mojang for making it harder on the Bukkit teams to make it all more fun. But, we don't know what was communicated between teams. I would speculate that there is some degree of personal, and sometimes a little more formal communication between Mojang and Bukkit. And, I would speculate that with the Minecon information publicly available, Bukkit it in the know of what is happening.

    The challenge from my view right now is that Bukkit need to make their code work with the stubs or perhaps more complete code related to the API Mojang is and already has implemented. When Mojang releases the release with their entire API specification in-place, Bukkit will need to have all of their ducks in a row to ensure all plugins work.

    The exciting part is, that Bukkit isn't just a layer after that point, it is a compatibility API. Someone could write a plugin for Minecraft server directly, or Bukkit, or leverage both. And, it will potentially make Bukkit updates easier because Bukkit are no longer having to hack (as deeply, if at all) into the code to get access to what they need.
     
    Pacothegint likes this.
  3. Offline

    gerardvanschip

    Wow, heated comments.

    People please don't forget how Minecraft started, it was a little project from Notch. He then kept slapping on features as users requested them. It was not planned in advanced so there is no underlying framework. They are now rectifying all that, slowly changing the game to be much bigger than the little project that started it.

    As I see it the super secret settings is just an example on what can be done shading wise. Once the API is open to the public there will be plenty of dev's creating interesting shaders. Likewise with mods, once the API is done and open there will be many add ons.

    Also they are working on realms so multiplayer is very much on their radar. At first without plugins and modpacks but they clearly said "not at the moment" which could mean "later on". They would be crazy not to go there, Blizzard makes a fortune with WOW. Minecraft has a HUGE installed base, updates have always been free, doing servers to play together online would be a huge cash cow. Do you really think they don't see that?

    Btw, I run a small server, we have put our whole 1.6.4 on ice and are playing vanilla 1.7.2 while waiting for plugin support. We would be happy to test any betas that might be available.
     
    asofold likes this.
  4. Lets not forget to mention consistent trouble they seem to have with the "legacy" session server. This past weekend, on top of being a whole version behind, (Not faulting the Bukkit Team) people could not connect to a 1.6 or lower version bukkit/forge/vanilla server at all.

    It blows my mind how horribly this game has been handled by its owners/developers. I'm thinking by the time CB 1.7 is released and all the plugin devs get out their updates plus bug fixes we will be upon the next version update. Which may or may not include an API or long awaited bug fixes.

    Not even Mojang themselves are competent enough to give us a deadline on anything (And its their code!) as if this is a hobby like it was when Noch first started on the project. To me it seems the community has surpassed the ability of Mojang itself and consider it an insult to the intelligence of the mod developers to keep breaking what they have spent their own time to give, which are some amazing features/content to the game. It would make sense to reach out to some of these people and either bring them in or compensate them for their contribution and bring it into the game.

    I can understand why the Bukkit Team needs time. They have to work around somebody else's code. Why is it that those responsible for the native code seem to be inept at their job for the reasons Rexel explains above.

    This update model they have chosen is not working out very well when it comes to multiplayer for obvious reasons. Maybe its time to consider a wider update schedule. Then they can manage to push out a stable build. They would be able to put more features in per update, maybe fix some of those bugs instead of working on things we will spend two minutes playing with and never use again.

    In the end this is me just venting my frustrations about things I don't completely understand but wish were handled a bit more professionally.
     
    Rexel likes this.
  5. Offline

    MetalGearDaner

    It is NOT neccesary to have a ETA, because of what EvilSeph explaned yesterday in other post, but what we need is to be informed about how is the update going.

    Now we know what the updating process is. If some error make Bukkit to go back to another part of the process, they couldnt provide an accurate ETA. BUT, I think, Bukkit could provide a update status whit the part of the process where actually Bukkit is working on, so, if an error appears, they can turn back the update status to the part they have to rewrite. Everything without dates, so what we know is what part is been develop. This wouldnt create any confiusing situations.

    Sorry for my english.
     
  6. Offline

    Blueeex2

    I understand that Bukkit is taking so long to update.
    If they can't really give a date, well that's ok and understandable probably.

    But I would be really happy If I also know the process of the Bukkit update, like how much they finished 50% less or more It would be nice to know!
     
  7. Offline

    durand1w

    With the release of 1.7.3 bug fixes snapshot (and twitch), will this factor into the upcoming dev release and do you believe that these bug fixes address some of your early concerns regarding issues that would impact the stability of the release? Just curious if this will be helpful or will further complicate the update. Thanks.
     
  8. Offline

    MetalGearDaner

    Exactly what I said. We dont really matter if they dont give us a release date, but what we need is information about the part of the process they are working on right know. There isnt any problem if a problem appears, just turn back the parts needed in the update status and that's it.

    decompile the server -> learn the new names (they change with every update) -> figure out how they apply to Bukkit's naming system -> learn what changed/what's new in the update -> update the changes we make to the server to support Bukkit -> get the code to compile -> fix issues that come up.

    For example, Bukkit is right now working on "UPDATE THE CHANGES WE MAKE TO THE SERVER TO SUPPORT BUKKIT". In a status bar, the would show that they are working in that part, and if an error appears and they need to turn back to "LEARN THE NEW NAMES", no problem, they modify the status bar and put that they are working in that part.
     
  9. Offline

    TnT Retired Staff

  10. Offline

    mcwurth

    lugn och fint. new flamewars coming up with the 1.7.3 release announced. hope the bukkit team would just be quiet altogether and just ignore all this hating. if people know it all so good why not help the team with actually coding?
     
  11. Offline

    Raidah

    Come on give these guys a break. They are trying their hardest to get this Bukkit Dev.1.7.2 out and we shoud all just chill for a little. The new version of minecraft has a whole new set of codes (or at least to my understanding) which means they need to rewrite everything. I have seen some harsh messages (although most are nice) yelling and cursing out EvilSeph and his Team which is completely wrong and uncalled for. All I can say is Keep Strong Dev Team. And Thanks For All You Work!
     
  12. Offline

    JaguarJo Retired Staff

    The problem with giving out information this way is that there are multiple people working on the project. I don't know if they're all working on the exact same parts of code together or whether they've broken it into manageable sections and divided the work, but if they are dividing the work, then it is quite possible that they're not all working on the same steps at the same time. So you might have one person learning some names from their bit of code over here and another person learning what's different compared to the update with their section of code over there. What would you have them post as their status report? "We've got one guy working on step 1, 3 people are on step 4, 1 guy just finished the last step and is now going back to the beginning, and the rest we don't know what step they're on because they're busy concentrating and don't want disturbed"?

    That would just confuse most people reading it and make them ask a whole lot of questions. It would be easier for them if they just made up stuff to tell you. They don't want to lie to us though, so they've told us what they feel they can. They are working on it and there are lots of steps to go through. It is hard work and it is stressful for them.

    I agree it's frustrating to not know what's going on, but the fact of the matter is that we can't exactly help them go any faster (despite several people on these forums who seem to think they're coding gurus with the answers to everything). They cant give us ETA's because they don't know them. Similarly, giving status reports may not be as simple as saying whether they're compiling code yet or not. When it comes to group work, it isn't always easy to define what is going on mid-progress. So yeah, it would be great if we could get some more insight into how the team is advancing. It would be greater still if everyone could just acknowledge that since we're not the ones doing the actual work, we can't possibly know if they're telling us everything they can or not. Quit demanding that they do this or do that and just let them work. The best way we as server owners can help is to keep our impatient playerbase out of Bukkit's face and be supportive.
     
  13. Offline

    xbenas

    Please... Just say anything on the progress...
    Just copy paste what you guys are fixing...
    Please...
    Anything...
    Even a rough percentage... even if it's a 1%... Anything...
    [​IMG]
     
  14. Offline

    JaguarJo Retired Staff

    You can't give a percentage on something that you don't know the whole size of. /facepalm
     
    lDucks and MetalGearDaner like this.
  15. Offline

    iSayCr4pAlot

    This is just like welfare.
    Everyone gets spoiled to welfare.
    If someone removes welfare,
    everyone starts a riot.

    This is just plain ridiculous, when you guys can develop a server mod yourself, id like to see it.
     
  16. Offline

    Phaze_One

    I'm curious about this as well.
     
  17. Offline

    spluton

    hopping it still going well, people just don't get how much work you are going trough,

    while waiting... just finished watching the 366 episode of bleach now wondering what to do, now to find something else to listen too
     
  18. Offline

    fiba1

    How can I help?
    The best way to help us out is to get involved.
    I want to get involved!

    If you're a server admin: once we have our first development build out, we'd appreciate any testing you could perform and any issues you can report. Please bear in mind that development builds are unsupported and should not be run on production servers.
    I am a server admin and i would like to help with testing anything you need me to do.

    If you're a plugin developer: once we have our first development build out with proper API support, we'd appreciate if you could test the build out and report any missing or broken API to our bug tracker.
    Im not a plugin develeper but i think i might be able to try to help with that.

    If you're looking to help us out with the update, you'll have to work towards that goal by getting involved in other aspects of the project first. Due to the sensitive and extremely team oriented nature of the update process, we require that you build a relationship and demonstrate your commitment to the project before getting involved with updating will benefit the process. As the update process is incredibly repetitive and mundane, intense commitment is a key requirement for the team.

    We know this update is taking longer than usual but I assure you we are working our hardest to get it done. Thanks for your patience and continued support, it makes a huge difference and really helps us push onward!
     
  19. Offline

    tjbruce

    Keep up the Great Work.
    Really want to get a Bukkit 1.7.2 server

    [​IMG]
     
  20. Offline

    chibill

    The snapshots for 1.7.3 can connect to the 1.7.2 servers even the 1.6.4/1.7.2 server groups have made. So bukkit would not need to update for that. and also the twitch server streaming won't lag servers because the client is streaming the video no the server.
     

  21. In the original statement about Twitch from Rexel he was refering to the Twitch service itself being the issue as its current performance is sub par. Adding this feature to Minecraft may make the problem worse. He also voiced the issue of us being locked into the Twitch service and not allowed to choose our own method of streaming.
     
  22. Offline

    xphoenixxx

    Karma++ to EvilSeph for posting this status update, (although there was a story behind it) it is nice to see that some staff understand the frustration end users face; although some end users need to understand the reverse is also true. If you think 10-20 users on your server nagging you to update is bad, just imagine what the guys coding the server software have to put up with - there is literally MILLIONS of minecraft servers out there, and a large percentage of them is bukkit in one form or another.

    Good communication, (or any at all) is always a good public relations strategy. (pity some moderators don't understand that, but that's another topic)

    This update, I am not too worried about a rush to release a 1.7 bukkit. This time around we all have the minecraft launcher, which make it so easy to run a particular minecraft release, I don't see any urgency. Not like before when accidentally hitting update was a pain.

    I myself have my 1.6.4 server still running, and a test server running experimental builds for the naggers.
     
  23. Offline

    server075

    I see 1.7.3 I coming soon for the client but there no bug fixes it there? like the most irritating bug for PVP servers: the one that you can exit your boat and tp to 10 blocks away even through walls. seem legit ¿?
    Can this even be fix by the bukkit team if its in the Minecraft code ?
     
    Phaze_One likes this.
  24. Offline

    timtower Moderator Moderator

    Also possible with a plugin ;)
     
  25. Offline

    Necrodoom

    Removed posts containing false claims about release date.
     
    lilacorn likes this.
  26. Offline

    Phaze_One

    Can anyone answer this? EvilSeph TnT
     
  27. Offline

    ravand

    What you said in 3 words:"Make believe progress"
    I feel you bro.
     
  28. Offline

    xtremetom

    Just wanted to say thanks for dedicating any time from your day to the update. I think people forget the huge volume of work involved and that it happens in your time not theirs.
     
  29. Offline

    asofold

    That kind of information could be fun, put into diagrams. It need not be confusing, but it helps people (also developers) to judge how things are progressing. Likely these informations would have to be related to past experience (with the same or similar kind of process) - so i hope that the Bukkit developers will some days give out more details on these updates, though this one clearly is different on some aspects. EvilSeph commented on that aspect in a thread made for the communication aspect of it all: http://forums.bukkit.org/threads/sp...the-way-things-are.198320/page-2#post-2030130

    Since this thread is about the "theory why", the other thread might be better for this topic, because it is about the "communication how".
     
  30. Offline

    PunJedi

    I imagine this little shop with a big glass front window. Inside the shop are a few men and women working furiously to descramble the chaos that is not only Java, but Mojang's particular style of it. As these people are working, a few of us are biting our nails a bit but watching patiently.

    In front of that group, faces flat against the window, fists beating on the glass, are the screaming folks demanding that the people inside, who do their work for free, do it faster.

    Thank you people in the little shop busting your bukkit butts :) Shame on you time hounds for not having any patience.

    Oh, and is it done yet ? :)
     
    Icecoldpanda likes this.
  31. Offline

    Baconer

    Thanks for the hard work! Can't wait for the update!
     
Thread Status:
Not open for further replies.

Share This Page