Zyres Blog 07/06/2018

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Zyres Blog 07/06/2018

      Hello :)

      There was no blog since january.... jesus I simply forgot to inform you, sorry about that.

      You may ask "What is going on here"... let me wrap all the latest changes together.

      Evairfairy designed the future for our packet handling. Basically it allows us to serialise packet structures and move it out of our logical code. every packet gets constructed in its own class. All version specific structures gets moved out of the preparing functions. As a positive side effect the serialisation process allowes us to rewrite legacy code much faster since all the packet difficulties is gone. We are the only project providing support for several versions on the same codebase, so it should be obvious that we have to provide a way to serialise the different packet structures.

      Evairfairy provided a new way how we handle object fields. We use a structure instead of an indexed data collection. The real benefit is, that it is always updated to the entity and we can move on with our lives without any name/type confusion. Speaking about type/name confusion, the implementation of this system forced us to research all current code and we discovered a lot of wrong types. We can not finish the full implementation yet since most of the code base is partially just a mess, but we try to finish this task to the end of the year.

      We already have one logon database and (beside some guild stuff) we can handle all versions with one character database. So the question was "Why should we develop on different world databases?" and the answer is, we should not. The complete world database can be used for all versions. All required for that is 1 - 2 new keys in our tables. The performance after loading the db has not changed. We changed the loading queries and your mysql server has some more work to do but over all you should not notice any difference. Database developers have to keep in mind, that they have to know what they are looking for, but I would have assume that before we changed it too.

      We received a lot of feedback to these changes, some positive some negative but I guess that is how the world works. I noticed a common behavior in the ascent/arcemu sphere. It seems that users are really lazy and they hate when something is changing they do since the last ~10 years.I know you can't use your (garbage) custom database anymore (unless you know how to update it properly), and yes we finally do check some essential values from your database to reduce the chance of crashes. I know most people use some LuA/C++ scripts they found on the internet from ~2007 and they want to use them... guess what, this is not how anybody should use AscEmu. If you want to use them, use them with the corresponding core e.g. arcemu or ascent. (But do not complain on AscEmu why your outdated stuff does not work).

      That's all for now.
      Stay tuned and have a good time :)