Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Brainy last won the day on October 1

Brainy had the most liked content!

Community Reputation

17 Good

1 Follower

About Brainy

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Interests
    Programming, Virtualization, Reverse Engineering

Recent Profile Visitors

1133 profile views
  1. 7.1.5 Character Creation

    I still don't understand why you are using an old 7.1.5 version. Upgrade your TrinityCore to the HEAD commit and connect with the 7.2.5 client.
  2. 7.1.5 Character Creation

    Use the latest TrinityCore for client version 7.2.5
  3. Check the address in your auth.realmlist table. It must be your public IP
  4. ACE and BOOST

    To answer your question. Yes it isnt a problem to install both libraries. But please notice that you are using an unsupported version of trinitycore
  5. In world database you will find different character template tables. Just put your data inside. After that you can use the template system on the character selection screen. I'm not sure but maybe you must apply a rbac permission before you are able to use it. But maybe its just at my local branch.
  6. Create a custom item and write an ItemScript which levels the user. You can also create a custom spell with a dummy effect using hotfixes. Then just create a spell script and let your custom item use the created spell.
  7. 7.3

    Maybe nobody wants to update it or just doesn't have time But seriously if there really are issues with 7.3.0 it would be nice to know which kind of issues
  8. Understanding Warden

    I've found this article https://hackmag.com/uncategorized/deceiving-blizzard-warden/ Topic can be closed
  9. Understanding Warden

    I wanna start to do some research for Warden. Does I understand it right, that the server sends information about an offset and the data length to check to the client, the client checks its memory for that offset and sends the result to the server? What does warden_checks.type mean? How it is possible to protect the warden responses from getting manipulated? Is there any technical documentation for Warden? Thanks in advance!
  10. Reading DB2 files - some questions

    Ah I understand. Thank you very much for your help!
  11. Reading DB2 files - some questions

    Ok understand. Thanks you Shauren. But now I have another question. For the AreaTable.db2 I can read this header DB2Header Object ( [magic] => WDB5 [recordCount] => 5564 [fieldCount] => 23 [recordSize] => 56 [stringTableSize] => 158430 [tableHash] => 1918102339 [layoutHash] => 886938365 [minId] => 1 [maxId] => 8623 [locale] => 1 [copyTableSize] => 0 [flags] => 262144 [idIndex] => 0 ) You see the recordSize of 56 but if I count the bytes of the structure excepting the ID field, it will be 58 bytes long. How is this possible?
  12. Reading DB2 files - some questions

    I did another test with ChatChannels.db2. It seems that the total amount of bytes in a record modulo 4 must be 0. So I've implemented following logic $bytesToSkip = 4 - ($recordSize % 4); if ($bytesToSkip != 4) $this->reader->skip($bytesToSkip); Is this correct or just a bad hack? EDIT#1: In general it seems to work [records:protected] => Array ( [0] => DB2\DB2Record Object ( [id:protected] => 1 [fields:protected] => Array ( [0] => 1572875 [1] => General - %s [2] => General [3] => 0 ) ) [1] => DB2\DB2Record Object ( [id:protected] => 2 [fields:protected] => Array ( [0] => 1048635 [1] => Trade - %s [2] => Trade [3] => 0 ) ) .....
  13. Hey a few hours ago I've started writing a PHP library to access the db2 files of the current WoW client. To test my library I've implemented the structure of CharTitles.db2. This looks like that: class CharTitles extends DB2File { public function __construct(File $file) { parent::__construct(new BinaryReader($file->getBuffer())); } public function getStructure() : array { return [ DB2File::FIELD_STR, DB2File::FIELD_STR, DB2File::FIELD_INT16, DB2File::FIELD_BYTE ]; } public function hasIndexFieldInData() : bool { return true; } } I've taken the structure from the current trinitycore version. If I load the file now, I'll just get one correct record (the first one). The others are containing bad data. The reason for this is a single byte after each record so if change the structure to this DB2File::FIELD_STR, DB2File::FIELD_STR, DB2File::FIELD_INT16, DB2File::FIELD_INT16 all will work as it should. Now my question. What exactly is that byte after each record? Is it a kind of seperator or is the structure of the current trinitycore just outdated? Thanks in advance!
  14. low dps

    Thank you for this very detailed report but you should use the issue tracker on github to get support for such a huge bug. Cheers
  15. What flag/parameters to cross compile?

    You can try to compile with http://www.mingw.org/ but I guess it is not supported by TC. I believe you are able to change the compile for C and C++ applications by a simple export. export CC=C_COMPILER_NAME CXX=C++_COMPILER_NAME But why you don't build the project on a windows maschine? Should be easier.