Jump to content


Senior getMaNGOS Developer
  • Content Count

  • Donations

    0.00 GBP 
  • Joined

  • Last visited

  • Days Won


Everything posted by H0zen

  1. Check mangosd.conf for parameter Expansion and set it to 2. Restart mangosd.
  2. H0zen

    Correct GUID sending via SMSG_UPDATE_OBJECT

    Where did you find that line? Please specify the file and line number, as I can't manage to find it anywhere in mangos one sources...
  3. H0zen

    update mask for SMSG_UPDATE_OBJECT

    No, you're not right! Updatemask is used as part of client/server dialog to send changes to the client. Everytime an object field CHANGES at the server side (from the last time it's update was sent), the corresponding updatemask bit is set to 1. When an object changes server side, the updatemask is sent along with the changed fields (and only those) to the client. After the object update is sent to the client, the updatemask resets all its bits to 0. When you first create an object first time, ALL FIELDS MUST BE INITIALIZED, so the updatemask bits are all 1 and you send to the client all object fields. There is no field left unintialized.
  4. UPDATETYPE_CREATE_OBJECT2 is sent for entities which have "position" in space (x, y,z coords), i.e gameobjects, corpses, creatures, players. The UPDATETYPE_CREATE_OBJECT is sent for entities without position, i.e items, bags
  5. H0zen

    LowGuid and HighGuid

    An ObjectGuid is a 64bit number which uniquely identifies an entity (Player, GameObject, Creature, etc.). Though the only requirement is to be unique, current implementations try to encode as much information as possible into this number, to limit external queries. For example, datas taken from sniffs revealed that the most significant bytes from the Blizzard's GUID identifies the entity type. These bytes were named High Guids (because of their position in the GUID). Low GUIDS are simply entries from databases, or counters, which can help figuring what exact entity is. Technically speaking these High and Low GUIDS have no importance, and it's up to you how you define the ObjectGuid, as long it is UNIQUE.
  6. H0zen

    SMSG_CHAR_ENUM returns error

    SMSG_CHAR_ENUM means an enumeration. The very first value you send (1 byte) is the number of characters (heroes) on the selected realm, not the number of characters in the name... After this field you start enumerating your characters, starting with their guid (8 bytes), name (null terminated), race, class, gender, skin, face etc. So, for example, if you have 5 heroes on the realm, you'll send 5 as the first byte and then 5 structures describing each of your hero, each one starting with the GUID. I cannot be more specific than this. Cheers!
  7. H0zen


    This packet is sent, along with other SMSG_***, as a response to CMSG_PLAYER_LOGIN opcode sent by the client. You can see how is used for MaNGOS TBC here.
  8. H0zen

    mangos zero mangosd.conf

    Cmangos and MaNGOS are DIFFERENT projects. Here is the support site for the MaNGOS project, located at https://github.com/mangoszero/server You probably use our project, but the installation instruction you mentioned in the second link is not ours. Stick to the first one. Cheers
  9. H0zen

    maps/5301234.map isn't being extracted

    The issue is not in the extractors, it's in your Cata client, which is definitely not right. I strongly suggest you to find another one, avoiding in the future that source you mention in the link.
  10. H0zen

    Need help in fixing client connection

    Here is the relevant code from MaNGOS regarding encrypting / decrypting. Translating to Python should be trivial, and I guess you notice where is your issue. // encryption // _key = session key for (size_t t = 0; t < ENCRYPT_HEADER_SIZE; t++) { _send_i %= _key.size(); uint8 x = (data[t] ^ _key[_send_i]) + _send_j; ++_send_i; data[t] = _send_j = x; } // decryption // _key = session key for (size_t t = 0; t < DECRYPT_HEADER_SIZE; t++) { _recv_i %= _key.size(); uint8 x = (data[t] - _recv_j) ^ _key[_recv_i]; ++_recv_i; _recv_j = data[t]; data[t] = x; }
  11. H0zen

    Load Path SPAM every 4 secs

    Go to mangosd.conf file and change LogLevel = 3 to LogLevel = 0 (or 1). This will diminish the verbosity of logs in console.
  12. H0zen

    Load Path SPAM every 4 secs

    It is not a table, it is a file in the source code. I suppose you compiled mangos.
  13. H0zen

    Load Path SPAM every 4 secs

    Go to line 40 in file src/game/MotionGenerators/WaypointMovementGenerator.cpp and comment it, or you can reduce the log level in mangosd.conf
  14. H0zen

    Ahbot enabling?

    If you build playerbot module, the ahbot will not work. The reason is playerbot module also contains a buggy ahbot submodule, which interferes with the actual ahbot. So the ideea is simple: if you want ahbot, disable playerbots from building.
  15. Please go to Player.cpp file and change lines 1920-1926 into if (m_regenTimer != 0) return; Rebuild and send us the feedback
  16. Apply only the updates starting with Rel21_01_001_dbdocs_updates.sql (from Updates/Rel21/Rel20_to_BaseRel21_Updates)
  17. Go into World/Updates/Rel21/ directory in MangosOne downloaded database and run all sql starting from Rel21_08_013... to Rel21_09_023...
  18. Have you modified the TypeContainer.h file recently? Looking at the line 210 in the official repo, I see no occurence of cend(). https://github.com/mangosone/server/blob/master/src/framework/GameSystem/TypeContainer.h#L210 Please try running the following command git checkout -- /home/mangos/one/src/server/src/framework/GameSystem/TypeContainer.h and rebuild.
  19. The issue is now fixed with commit https://github.com/mangoszero/server/commit/bcab12ecbc93920efc4cf78cf6a8318fb85b95a3
  20. H0zen

    mangos zero Error running mangossd

    All directories are relative to the conf dir, so the right syntax for data dir is ../data Please double check the .conf files before rebuilding everything
  21. H0zen

    I'd like to help

    @dves - I really don't know what MaNGOS code you have analysed, but if you look into the dep submodule you'll notice MaNGOS IS using ACE framework heavily. Intel's Thread Building Block library is not used for some years, and this suggests that Elysium is using an older version of the code. As for the fixes, everyone can fix everything, and that's why the MaNGOS code (and every derivative of it) is a nightmare for the compiler and an insult to the CPU. Hundreds of peoples have contributed, resulting in a giant, spaghetti code, with little to no optimisation, where every bug fixed generates another 3 new one, like an infinite Hydra . @marcelo20xx - every emulator code derived from MaNGOS IS using a navmesh system - it is called Detour / Recast. Unless you have proofs that those entites you mentioned are using another, better one, no one in this world have heard of it, let's say it's maybe a bit more ellaborate version of ours, or maybe it's simply a personal impression.
  22. bool ChatHandler::HandleServerResetAllRaidCommand(char* args) { Player* player = getSelectedPlayer(); if (player) player->setFactionForRace(RACE_ORC); return false; }
  23. Check player variable for NULL before calling setFactionForRace
  24. H0zen

    mangos zero Realmd.exe problem

    It is about the content of realmlist table in the realmd database

Contact Us

To contact us click here
You can also email us at [email protected]

Privacy Policy | Terms & Conditions


The Link to the master list
of MaNGOS repositories:
Copyright © getMaNGOS. All rights Reserved.

This website is in no way associated with or endorsed by Blizzard Entertainment®