To devs because this is a dev question

Discussion in 'Bukkit Discussion' started by sfxworks, Sep 21, 2011.

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


    So I was honestly wondering. What are the limits of a plugin? More specific....can a plugin override the way the server stores its data? Ya kno instead of chunks and flatfile it would use mysql. I something like that configurable or is that out of bounds?
  2. Offline


    A plugin can affect anything in the server folder

    unless you give it permission otherwise.
  3. Offline


    Oh okay.
    So now I just gotta figure out how...
  4. Offline


    I find this a bit funny, I was just asking myself this question the other day, in terms of development the only limitations i would see are making API/GUI's that run outbound of the minecraft window, kinda depends what sorta plugin your going after :p
  5. Offline


    If I understand you correctly, I'd think that would require a rewrite of the client and server. Mainly because the client reads the chunks in .mcr format and the server writes the chunks in the .mcr format. Clients on SSP worlds do it too; check your Minecraft "saves" folder where they are located.

    Though I could be wrong, I've never really looked through how that works, deobfuscated and such. :p
  6. Offline


    Tahkeh likes this.
  7. Offline


  8. Offline


    This is entirely possible to do but isn't possible with a plugin - it is however possible with a modified craftbukkit and I'm glad to hear that you think MySQL would be better than flatfile for chunk storage. Can you explain your logic?
  9. Offline


    ^ Troll
    sfxworks likes this.
  10. Offline


    This'l be. . .
    Oh thanks!

    Explain on how I would format it and store the data or why I think its better than flatfile?
  11. Offline


    why its better
  12. Offline


    Well, if the tables were formatted properly and you had php (or I guess the server itself) fetch the necessarily data for the client I think all would go well. Especially for the servers who have a lot of traffic. I mean think of when a player explores the landscape. Hes not going to care about a block 40 below or even 5 below.
  13. Offline


    Doing that would require a modified client as well. The server communicates an entire chunk to the client. I know some people have tested converting chunks to 3d cubes (ie 16x16x16) instead of the "2d" chunks we have now. I do not know what came of it.
  14. Offline


    sfxworks, it is obvious from this thread and the other thread I responded to you in that you have a severe lack of understanding regarding the technical aspects of what you are discussing. Go back and read my response again I am quite clear about why you are chasing your tail on this issue.

    Further, I will go ahead and humor you on this. Answer a few questions for me. If we go with your idea here, at what point do we decided to load a block? How do we load all visible blocks for a user a log in? How many blocks to you propose 'fetching' from the database at a time? How would you structure you schema (table formatting as you call it) to uniquely identify blocks? How do you propose to make querying for individual blocks perform better than a batch load into memory? Would the client cache blocks in memory? How does the client decide a block isn't loaded? How does the client request missing blocks? How do you keep your database in sync with the servers current state?

    If you can give me anything even resembling an informed answer on these questions we can keep this discussion going. I feel strongly that you read a few threads started by uninformed people trying to push some universal truth that MySQL > flatfile. In the real world the right tool for the right job is better than any mythological universal truth.

    I look forward to your answers.
  15. Offline


    You're not really familiar with the performance cost of any of those steps involved, are you? Especially PHP.
    It'll also be good to know, the way client receives the data from the server it doesn't matter at all if the server pulled it from a database or a flat file.
    There might be opportunities for optimization by sending chunk data differently, but this is completely unrelated to the storage method used on the server.

    But most of all, you're very misinformed regarding the performance cost of files.
    And more importantly; the bottlenecks of MySQL.

    Again, this is yet another thread you started where you lack the required in depth knowledge to back up your suggestion.
    You can't just go around and assume whatever pops up in your head to be true.
    Do some research, expand your knowledge.
    To cite a famous quote: If all you have is a hammer, everything will look like a nail.
  16. Offline


    I seriously don't understand why humans benefit from putting down other humans.
    Either way, your assumptions are just assumptions. How in the world you can know what I know based on a few posts in a silly forum is beyond me. Please leave this thread because you are not helping at all.

    Member since: Today
    Sorry. I'm going to have to assume (and I hate doing so) that you're an alias. I find it highly unlikely that a new user, who would register the day and time of my original post, would target this specific forum in this specific topic without doing anything else. Post as your original or wait until later for my response.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 19, 2016
  17. Offline


    Did you just accuse Vhab of making assumptions based on a few posts and them immediately respond to my thread doing EXACTLY what you accused him of?

    This is not an alias, and even if it were I have made nothing but reasonable and valid criticisms of the very naive stances you are taking on the problem you are trying to address. The questions I asked you were an opportunity for you to actually prove to me you knew what you were talking about and get you thinking about real concerns to using an RDBMS to hold the world data. If you avoid the questions it only reaffirms my belief that you do not have the technical know-how to even be discussing the topic at hand.

    At worst you could do a little research in order to address my questions and start to form a real knowledge base to work from.

    Also, you need to consider that I created an account, after lurking for a while now, for the purpose of putting an end to your misguided posting.
  18. Offline


    That's a rather serious allegation, and one I would not make lightly, considering that you previously mentioned that "humans putting down humans has no benefit". I recommend you take your own advice.

    On Topic: There are some limitations to plugins w/o client modding. Rendering new blocks and items isn't possible. But you can do other extreme things, like change how existing blocks interact (make redstone torch w/o redstone power, dirt give off light), and rewrite low level behavior (see: spout).

    It's that doing a lot of the extreme behavior tends to conflict if more than 1 plugin tries to do it (can't have 2 plugins replacing how dirt works), which is why a unified API instead is needed. Enter Spout.
  19. Offline


    I'm helping you to not waste your time pursuing this any further.
    The most important part of learning is knowing what you don't know.
    Knowing your own limitations and the boundaries of your knowledge is not only important for yourself, but especially important when communicating with others on a technical subject.
    The hostile replies you've been getting on the forums are the result of over extending yourself in the previous thread.

    You might have had very different and potentially educational replies if you approach the matter differently.
    But none of this will have been a loss. As harsh as it is, at least you were able to identify specific gaps in your knowledge.
    That in itself is an important part in learning. I truly hope you take this as a challenge to fill these gaps and become a better programmer.
    You've got the curiosity and motivation, now you just need the discipline to educate and be critical with yourself.
    olloth likes this.
  20. Offline


    The reason you are being put down is not to make us feel better. It is to drive you to go forth and learn before you speak. Gain some wisdom. We desperately want you to educate yourself so that others are not mistaken into thinking you are right.

    Really we are not trying to be mean. We tried explaining nicely and you still don't really understand. Take some programming classes, data structures classes, whatever. Do them online. Go buy a couple books. We are trying to encourage you to learn and comprehend.
  21. Offline


    Off-topic here, but I love what your group is trying to accomplish with Spout Afforess.
  22. Offline


    Sorry. The point of this thread was to know if it was possible to reconfigure the storage method or not and if so, how? I already have my answers (requires configuration of the client and server). I don't have any interest in talking to people who think they know me,what I know, or just want more humor in their day.
Thread Status:
Not open for further replies.

Share This Page