Jump to content
TrinityCore

Leaderboard


Popular Content

Showing content with the highest reputation since 07/24/18 in all areas

  1. 4 points
    Feel free to participate on TC Github and share your and your team of developers knowledge.
  2. 2 points
    Hi folks, Having issues compiling? Don't want to wait for an hour to compile a new server? Want a steady stream of updates? Well then, you came to the right place! With the following instructions, one can install their own TrinityCore server using pre-compiled packages. The current state of the 2 branches is: - 3.3.5a: fully functional and installable using the instructions in this topic - master: Still WIP, the packages are compiled and in the repository, but still need to be tested and validated against the installation instructions. == Background == There are 3 packages, server, database and tools:The database package will also install MariaDB from the default Debian Repository Server package: pre-compiled version using the instructions provided on the TrinityCore wiki. Date and commit-hash are included in version tag. By default this package will also install database, but it is possible to run the database on a remote server. And it will not overwrite any configuration files in place without asking. Database package: Contains TDB335.62 with all the database updates provided by the commit. Also contains a slightly modified auth_database (which has to be setup with the provided script), so you can control the server while it's started without console (in order to run it as a service, details below). Tools package: contains the extractors, so you can run them on your desktop with the client instead of uploading a copy to the server. I also included a script that will queue all the commands you need to generate a data package for your TC server. This package isn't supposed to run on the same system as the server (because it would require you to upload a complete WoW client to your server). The packages come with a default configuration to support service control by SystemD. A few details: /opt/trinitycore - server files and data files /var/log/trinitycore - server logs /var/run/trinitycore - PID files See https://github.com/TrinityCore/TrinityCore/issues/18069 for more info on how and why == Update frequency == These packages will be recompiled everyday at midnight, compiling/uploading takes about an hour per tree, so expect fresh packages: - 3.3.5a: around 01:30 AM CEST - master: around 3:30 AM CEST The script will automatically download the latest TDB version if it is updated in the source files. If there are any changes with the configuration files (new options added etc.) I will add them as soon as I can. == Installation Instructions == This instruction will help you setup a TrinityCore server on a Debian Jessie server with it's own local MySQL server. If you require a seperate MySQL server, please adjust where needed. All packages provided are only tested on Debian Jessie stable (with updates). It is in your best interest to read the entire instruction first before installing! Install a server with Debian Jessie and log in on it You don't need anything except the basic install! Add the following line to /etc/apt/sources.list deb http://repo.element-networks.nl/ custom main Add the repository key for package verification wget http://repo.element-networks.nl/public.gpg -O - | apt-key add - Update your package lists apt-get update Install the server 3.3.5a: apt-get install trinitycore-server3.3.5-en master: apt-get install trinitycore-server-master-en NOTE: This command will install the TrinityCore server and all it's dependencies (including a MariaDB server) If you want to run a seperate database server, run this command with '--no-install-recommends' to skip the installation of the database package. FIRST TIME ONLY: Run the following script to setup the databases setup_database.sh If you run the database on a different server, run the script on that server. Also, change worldserver.conf and authserver.conf accordingly! Extract the MAPS, MMAPS and VMAPS using the extractors. Pro-tip, if you have a (fast) Linux (gaming) desktop, do the following: Install the trinitycore-tools3.3.5 package on your desktop with the WoW client. apt-get install trinitycore-tools3.3.5-en Go to your WoW client folder and run the script cd /to/my/wowclient generate_data_package.sh After extracting all the maps, mmaps, vmaps and dbc's it will ask you the following question: # Your data package is in /to/my/wowclient/trinitycore-data.tgz # Would you like this script to apply it on your server? y/N If you select yes, it will ask you where to upload the data package See https://trinitycore.atlassian.net/wiki/display/tc/Linux+Server+Setup for all the details surrounding the extracting process. Start the server! systemctl start trinitycore-authserver.service systemctl start trinitycore-worldserver.service You can control the server using the following command: telnet localhost 3443 Username: admin Password: ChangeMeNOW! Change the password for the admin account: .account set password admin NEWPASSWORD NEWPASSWORD Create a new user .account create USERNAME PASSWORD Press Enter again to log out Set your client's realmlist to your newly installed server GameClientDir/Data/enUS/realmlist.wtf Note: enUS could also be enGB if you have a European version of the client Start your game, log in and enjoy! == Updating == Updating the server to a newer version is very easy, I do it using the following script: #!/bin/bash # Upgrade the TrinityCore server to the latest build # Stop running server systemctl stop trinitycore-worldserver.service # Upgrade packages, change the packagename if you wish to run the 'master' branch apt-get update apt-get upgrade trinitycore-server3.3.5-en trinitycore-database3.3.5-en -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' # Start server systemctl start trinitycore-worldserver.service == Feedback == Any feedback is appreciated! I have been running my test-server with this setup for a few days now and it is still alive and kicking. However, my userbase is quite small (5) and I would like to know if the current way of updating is doable. Thoughts, feelings, emotions? == Rolling your own? == Want to compile it yourself, but make it easier? Don't trust me? Need custom patches? No problem! Below are the recipes I use for the build script I use to generate the binaries and the packages. They are still only suitable for Deb based distro's, but feel free to roll your own! https://github.com/Thulium-Drake/trinitycore-recipes
  3. 2 points
    Here, have mine https://paste2.org/PMN1IWYK
  4. 2 points
    Two new full world database has been upload to Github Releases. TDB 735.00 (2018/02/19) was released for the master branch (previous release TDB 720.00 from 2017/04/18). TDB 335.19031 (2019/03/19) was released for the 3.3.5 branch (previous release TDB 335.64 from 2018/02/19). Notes: If you are installing a new DB you only need the 2 full SQLs plus any file at /sql/updates/world/ and sql/updates/hotfixes/ on Trinitycore repository. On 3.3.5: single full SQL file plus any file at /sql/updates/world/
  5. 2 points
    Let me first be clear on one thing: I do really appreciate this project, its history and developers and all the efforts that have been made with time to make it so great during all those years. But currently WoW development is slowly dying, and I feel a big change is needed in order to bring back that entusiasm that is no longer here. The current state of the project has some major pain points: - CONTENT. All the content after WOTLK is not stable or complete, so it doesn't add much value to keep what we currently have on master branch; - CONTRIBUTORS. We have less and less contributors, there is no much hope to see the master branch fully playable in future - CODE. The code is full of anti patterns (huge class files, spaghetti code, etc...). This is mostly due to the fact that the codebase has been modified for years and years by many different people. Because of that, it is really complicated for newcomers or less experienced programmers to be able to contribute; - TESTS. There are no tests. At all. No unit test, no integration tests, etc... It is nearly impossible to be sure that you don't break something whenever you make a change in the code; - API/TOOLING. There were some attempts on providing tools for TC (which I really appreciate), however most of them rely on accessing the DB directly OR using external PHP APIs that are not standardized by the project and tend to break easily with time (e.g. when the DB structure changes). Ideally the application server itself should expose the API, or the API project should be part of the official project and be maintained with it; All those reasons, together with the fact that C++ is an old language and there are better modern alternatives make me wonder: why don't we start a new project from scratch, using a modern language? (for example Rust - see this post). So we can use the experience gained during all those years of WoW development to create something that works better, is more developer-friendly and can attract more contributors. I write this post to see if this can be of interest for any of you, please let me know what you think.
  6. 2 points
    How to add Waypoints to a creature: Note: I'm just adding a copy paste tutorial without further information on the DB-Structure behind it, because i know, you will understand this soon enough.Example: We want to add this Guy some waypoints 1.) Get the latest sniffer from http://community.trinitycore.org/topic/9849-trinity-cores-sniffer-for-wow-62020338/ 2.) Log in on retail and start the attach_sniffer and follow the Creature until it has completed it's whole path. It's important, that you DO NOT RUN OUT of sight of this mob, else the path will look really creapy. 3.) Close the sniffer if the Path is completed one time 4.) You will see a .pkt - file in your wow directory now 5.) Download and compile https://github.com/TrinityCore/WowPacketParser 6.) Go to the Releasefolder after you finished compiling 7.) Copy the .pkt-file and move the file with drag-and-drop over the WowPacketParser.exe Note: It's recommended to keep these settings <add key="DBEnabled" value="false" /> in WowPacketParser.exe.config 8.) Now you will see a .txt file in your releasefolder 9.) Download and compile https://github.com/Kittnz/WaypointCreator (Branch 6.x) 10.) Go to the release folder and open up the Waypoint Creator.exe 11.) Import the .txt-file 12.) Search for the entry in the searchfield (in this case entry: 74228) 13.) Result: - Rightclick on the table and hit: Create SQL 14.) In the SQL-Output you will now find: Use the command: .go 1923.215 -4636.423 33.2019 to see if you are on the right position 15.) Go ingame (Tc-Server) and choose a fitting creature which is near the path. In this case it's creature with GUID: 286504 - You always find the right guid if you select the creature and type: .npc info 16.) Replace the XXXXXX in SET @NPC := XXXXXX; with the GUID -> SET @NPC := 286504; 17.) Repeat this for all other Paths
  7. 1 point
    Since we are targeting C++17 compilers, GCC 6.3, clang 4 and Visual Studio 2017 under version 15.7 will become unsupported after summer We give this warning to allow people to ready their systems with enough time to update (it's very likely Debian 10 will be shipped on 2nd quarter 2019). (Visual Studio 2019 release date is on 2nd quarter 2019) https://clang.llvm.org/cxx_status.html https://gcc.gnu.org/projects/cxx-status.html#cxx17
  8. 1 point
    not confirm! use Arctium launcher not retail tools launcher and extrators https://github.com/ReyDonovan/TrinityCoreReforge/tree/master/contrib/launcher (sorry link)
  9. 1 point
    This isnt a supported scenario, bnetserver has three separate build ranges that are incompatible with each other due to changes in client 6.0 to 6.2.3 6.2.4 to 7.2.5 7.3 to now
  10. 1 point
  11. 1 point
    I do not know, with arctiumlauncher works perfectly for me. Have you tried modifying the ip address in the file "WTF/Config .wtf" 127.0.0.1? What is your SO? Some ppl with Linux have the same problem.
  12. 1 point
    Hello, I recently just updated to the latest version on master (8.1.5.30706, SHA: 138e822d859fd9ff9d79e1ce16823992ad43aec4) and noticed that my linux build was no longer compiling. The build was failing on a few variables in 'UpdateFields.h' due to the variables being named the same as their struct/class UpdateFields.h : 384 : UpdateFieldArray<QuestLog, 100, 35, 36> QuestLog; UpdateFields.h : 482 : UpdateFieldArray<DynamicUpdateField<Research, -1, -1>, 1, 20, 21> Research; UpdateFields.h : 495 : DynamicUpdateField<SpellPctModByLabel, 0, 17> SpellPctModByLabel; UpdateFields.h : 496 : DynamicUpdateField<SpellFlatModByLabel, 0, 18> SpellFlatModByLabel; UpdateFields.h : 577 : UpdateFieldArray<RestInfo, 2, 461, 462> RestInfo; UpdateFields.h : 586 : UpdateFieldArray<PVPInfo, 6, 551, 552> PvpInfo; It compiles fine in visual studio but fails with gcc. I am not familiar enough with gcc to know if there are any settings that would allow this. However, in the mean time, I was able to get it to compile by providing the namespace for the struct. It works but might not be the best solution or fit with the coding standards. Heres the updates below. UpdateFields.h : 384 : UpdateFieldArray<UF::QuestLog, 100, 35, 36> QuestLog; UpdateFields.h : 482 : UpdateFieldArray<DynamicUpdateField<UF::Research, -1, -1>, 1, 20, 21> Research; UpdateFields.h : 495 : DynamicUpdateField<UF::SpellPctModByLabel, 0, 17> SpellPctModByLabel; UpdateFields.h : 496 : DynamicUpdateField<UF::SpellFlatModByLabel, 0, 18> SpellFlatModByLabel; UpdateFields.h : 577 : UpdateFieldArray<UF::RestInfo, 2, 461, 462> RestInfo; UpdateFields.h : 586 : UpdateFieldArray<UF::PVPInfo, 6, 551, 552> PvpInfo; I was thinking about making a pull request for it but wanted to make sure it was correct first. Also, wasn't sure how the pull request process works in github. Let me know if there are any issues with this or if there is anything that needs to be changed. Thank you, Chaz H
  13. 1 point
    Hi everyone, My 8.0.1.28153 client does not have the `.build.info` file in the root directory of the client install. I think that this causes my `mapextractor` (latest commit as of yesterday) to fail as it cannot find any locales. I've searched everywhere and my google-fu failed me. I cannot find this file anywhere. From my understanding, this file is one of the required files to be able to open the casc storage via the Zezula's casc library. Can I somehow generate this file? Thank you.
  14. 1 point
    TDB 335.19031 released new naming standard: 19 year 03 month 1 1st release of month.
  15. 1 point
    known bug it needs to be fixed. you did nothing incorrect on your side.
  16. 1 point
  17. 1 point
    Quick answer, NO. Not so quick answer: A low latency game server by design is not stateless, more then less it manages every state in memory, database writes will happen scheduled and normaly only a smal set of data will be replicated in database, for example no movement data from players ecc. For this reason i think your setup would not work with trinity even if you would rewrite a lot of code. for load balancing i've seen some server using multiple nodes to host maps separated, but there where never 2 servers running the same map
  18. 1 point
    Good idea. Basically, when I copied over my client files to the new PCs, I copied over my original copy, which included the original config.wtf (which was pointing to the wrong server, 127.0.0.1). Once I changed it to SET portal "mydnsservername.xyz", then I was golden. So , the error was correct - It was trying to authenticate to my local PC instead of the server across the room on my LAN. Again, once I changed it as shown above, it was able to connect to my master server and authenticate. Viola!
  19. 1 point
    @Verytas Starting over with the source code that matches your client version (7.x) should fix the most imminent issues you have. (follow what I said before) TrinityCore seems to be in the middle of transitioning to 8.x. Guides have not been updated yet and without external tools you cannot use 8.x client yet with TC, so I would not personally recommend trying to use the latest master branch or 8.x clients yet.
  20. 1 point
    you don't must follow near 1 year old screenshot as guide for what revision suports trinitycore.
  21. 1 point
    @Verytas Seems you are trying to use latest master branch with 7.x client. However master = 8.0.1.28153. For 7.3.5 you probably want to go back to the commit that supported that version. For example: git checkout -b 7.3.5 7.3.5/26972 See https://github.com/TrinityCore/TrinityCore/tags and https://git-scm.com/book/en/v2/Git-Basics-Tagging
  22. 1 point
    @Influencer you can do that any time https://locka99.gitbooks.io/a-guide-to-porting-c-to-rust/content/
  23. 1 point
    To print information about closest gameobject you can use .gobject target The information should contain the gameobject's guid. Then you can delete the object by its guid with .gobject delete <guid>
  24. 1 point
    First off are you just exiting the window when the server is on or are you actually using the command on the server to shut down or restart the server for both realm and world? Also can you post your config files link them so I can see what your settings are if you can please thanks.
  25. 1 point
    Use CONDITION_OBJECT_ENTRY_GUID = 31, // TypeID entry guid true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object CONDITION_SOURCE_TYPE_SMART_EVENT 22 ID (smart_scripts.id) + 1 4 : TYPEID_PLAYER https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130002/conditions
  26. 1 point
    Just downloaded the classic demo client for the blizzcon. What are your thoughts? Will I see some of you on demo servers?
  27. 1 point
    nothing like someone complaining about people not doing enough while refusing to do anything themselves
  28. 1 point
    You installed core for The Lich king expansion but put database for LEGION!
  29. 1 point
    Hey, I'm new to WoW and not really an experienced programmer, but this project has caught my eye. So, I have some questions if someone wouldn't mind answering me. How is this core possible? From what I understand it is completely written from scratch and there aren't any source code leaks from blizz. I'm curious about how the connection between the client and the server is made - since the client is unmodified and we don't have the source for it. All the content Blizzard created... is it integrated into this core? I mean, I'm sure that no one rewrote all the quests, all the respawn position for the mobs, etc. Maybe this data is stored in the client and not the server how I thought... I'd appreciate if you could provide some more information about the making of Trinity Core. It's an interesting subject to talk about.Thank you!
  30. 1 point
    Hey Undyne, I know this answer comes late but propably it may help you a bit. At first I wanna make clear, that I'm not a professional on this topic. I know something but not as much as e.g. Shauren. Yes you're right. There was no leak. The software has been written from scratch. The game itself is delivered as common executable binary file and many assets such as 3d models, maps and their terrain information, a client database, images/videos and the ui (the ui components are delivered as addon such as the third party addons). The most important part of the client data are: Maps Client Database I don't know much about the map files and can't tell you something about their structure but their are used to create server side map information for collision calculation and path finding of npcs. The client database contains static information about some ingame content. In 3.3.5 the client database tables are stored in DB2 and DBC files. The files contain information about spells, skills, races, basic item stuff and much more things. Other data for example quests, loot, ingame objects like creatures or gameobjects and their spawn positions are not available in dbc files. Last year I've written a small php library for DB2 file reading. Maybe this is interessting for you https://github.com/Caydan/php7-db2 Client and server communicates via a tcp connection. The traffic of this connection can be catched and evaluated. Each message has an own id in its header. TrinityCore call these ids opcodes. They are used to identify a message which allows us to read the message into the right structure. A list of all patch 3.3.5 opcodes can be found here https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Server/Protocol/Opcodes.h The CMSG prefix means client to server message. SMSG means server to client message. Here an example for you: A player walks through the world and meets a quest giver. The client doesn't know anything (title, description, rewards etc) about this quest but its ID (let it be the ID 120). The client sends now a message CMSG_QUEST_QUERY which contains the ID 120 to the server. The server answers to this request with SMSG_QUEST_QUERY_RESPONSE which contains all information the client needs to display the quest. It is possible to catch the traffic between client and server on retail realms and use the messages to populate the server side database. TrinityCore uses https://github.com/TrinityCore/WowPacketParser to parse the raw data into text files which are readable to humans or in some cases directly into SQL. The opcodes are changing very often when the client gets updated. Also there are information inside the messages which have to be interpreted. Blizzard likes it to use flags e.g. the npc flags. The npc flags can be used to tell a creature to be a vendor, questgiver, inkeeper, banker etc. Blizzard stores this information as 32 bit integer. All these opcodes, the meanings of every bit of a bitmask or different enums are not provided by Blizzard. All these information has to be gathered by reverse engineering the Wow.exe. This can be done by loading the executable into a disassembler like IDA. It will translate the machine code into assembly. Now you have to research millions of lines of assembly code and try to understand what it does, how the client interpretes different messages etc. This kind of research is very fascinating but can also be very frustrating. Hopefully I was able to help you a bit. Cheers
  31. 1 point
  32. 1 point
    No, I wanted to say that maybe different people do the same thing at the same time and nobody knows it.
  33. 1 point
    Haha, I'm wondering how much people on german p-server translate quest_complete_texts parallel and manually :-) But the quest_template_locale table contains a lot of field names from an earlier core version. Actually the relations are: quest_template:LogDescription - quest_template_locale:Objectives quest_template:AreaDescription - quest_template_locale:EndText quest_template:QuestDescription - quest_template_locale:Details quest_template:ObjectiveText1 - quest_template_locale:ObjectiveText1 quest_template:ObjectiveText2 - quest_template_locale:ObjectiveText2 quest_template:ObjectiveText3 - quest_template_locale:ObjectiveText3 quest_template:ObjectiveText4 - quest_template_locale:ObjectiveText4 quest_template:QuestCompletionLog - quest_template_locale:CompletedText quest_requested_items:CompletionText - quest_template_locale:RequestedItemsText quest_offer_reward:RewardText - quest_template_locale:OfferRewardText May it helps, otherwise please make an example of a quest.
  34. 1 point
    Enabling the Misc items in the cfg will post many undesired items onto the auctionhouse. The best way (so far) to get glyphs to show up seems to be the following - all credit goes to Mightylink @ cmangos. (Haven't verified all id's one by one, but assuming they are correct for wotlk) All you need to do is add all the glyphs to the force include line, this will ignore any settings and make them start appearing at random times. Here are all the glyphs sorted by class: Code: |Death Knight: 43533,43534,43535,43536,43537,43538,43539,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43671,43672,43673,43825,43826,43827,45799,45800,45803,45804,45805,45806 Warrior: 43395,43396,43397,43398,43399,43400,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,45790,45792,45793,45794,45795,45797,49084 Paladin: 41092,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,43340,43365,43366,43367,43368,43369,43867,43868,43869,45741,45742,45743,45744,45745,45746,45747 Shaman: 41517,41518,41524,41526,41527,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41547,41552,43344,43381,43385,43386,43388,43725,44923,45770,45771,45772,45775,45776,45777,45778 Hunter: 42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,43338,43350,43351,43354,43355,43356,45625,45731,45732,45733,45734,45735 Rogue: 42954,42955,42956,42957,42958,42959,42960,42961,42962,42963,42964,42965,42966,42967,42968,42969,42970,42971,42972,42973,42974,43343,43376,43377,43378,43379,43380,45761,45762,45764,45766,45767,45768,45769 Druid: 40896,40897,40899,40900,40901,40902,40903,40906,40908,40909,40912,40913,40914,40915,40916,40919,40920,40921,40922,40923,40924,43316,43331,43332,43334,43335,43674,44928,44922,45601,45602,45603,45604,45622,45623,46372,48720,50125 Mage: 42734,42735,42736,42737,42738,42739,42740,42741,42742,42743,42744,42745,42746,42747,42748,42749,42750,42751,42752,42753,42754,43339,43357,43359,43360,43361,43364,44684,44955,44920,45736,45737,45738,45740,50045 Warlock: 42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,43389,43390,43391,43392,43393,43394,45779,45780,45781,45782,45783,45785,45789,50077 Priest: 42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42414,42415,42416,42417,43341,43370,43371,43372,43373,43374,45753,45755,45756,45757,45758,45760 | And here are all the glyphs together you can just copy and paste into the config: Code: |43533,43534,43535,43536,43537,43538,43539,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43671,43672,43673,43825,43826,43827,45799,45800,45803,45804,45805,45806,43395,43396,43397,43398,43399,43400,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,45790,45792,45793,45794,45795,45797,49084,41092,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,43340,43365,43366,43367,43368,43369,43867,43868,43869,45741,45742,45743,45744,45745,45746,45747,41517,41518,41524,41526,41527,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41547,41552,43344,43381,43385,43386,43388,43725,44923,45770,45771,45772,45775,45776,45777,45778,42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,43338,43350,43351,43354,43355,43356,45625,45731,45732,45733,45734,45735,42954,42955,42956,42957,42958,42959,42960,42961,42962,42963,42964,42965,42966,42967,42968,42969,42970,42971,42972,42973,42974,43343,43376,43377,43378,43379,43380,45761,45762,45764,45766,45767,45768,45769,40896,40897,40899,40900,40901,40902,40903,40906,40908,40909,40912,40913,40914,40915,40916,40919,40920,40921,40922,40923,40924,43316,43331,43332,43334,43335,43674,44928,44922,45601,45602,45603,45604,45622,45623,46372,48720,50125,42734,42735,42736,42737,42738,42739,42740,42741,42742,42743,42744,42745,42746,42747,42748,42749,42750,42751,42752,42753,42754,43339,43357,43359,43360,43361,43364,44684,44955,44920,45736,45737,45738,45740,50045,42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,43389,43390,43391,43392,43393,43394,45779,45780,45781,45782,45783,45785,45789,50077,42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42414,42415,42416,42417,43341,43370,43371,43372,43373,43374,45753,45755,45756,45757,45758,45760
  35. 1 point
    Put the client on a USB hard drive? Might be a bit slow though.
  36. 1 point
    nevermind just delete in "WoW_Folder/Data/enUS/" the "patch-enUS-w.mpq" and "patch-enUS-x.mpq" and it worked. Close
  37. 1 point
  38. 1 point
    told you it was incomplete client.
  39. 1 point
    it compiles or it doesn't compile, there is no intermediate step.
  40. 1 point
    then you may have incomplete client.
  41. 1 point
    you need new glasses, since months ago tc wiki is using clang to compile tc. https://trinitycore.atlassian.net/wiki/spaces/tc/pages/10977288/Linux+Requirements
  42. 1 point
  43. 1 point
    A lot of people have asked how to debug so I made this short guide on how to set up debugging. This will not explain the basics of debugging. You can google those or play around with the debugger to learn. There are guides for Linux and Windows. (though linux is not as detailed) This guide contains multiple guides. Each list of bullet points is it's own guide. Make sure you can run the server normally before trying to debug. On Windows before anything you should check these - Before debugging or making crashlogs etc. with Visual Studio you must compile the core in "Debug" instead of "Release". You can select this in "Build>Configuration Manager" or at the top of Visual Studio window http://i.imgur.com/5oHd59j.png - You also need to move the new pdb files generate by compiling in debug mode on Visual Studio from the compile output folder (bin) to your server folder - these files contain information needed for debugging. - It is assumed that Solution Explorer is open. Open it by selecting "View>Solution Explorer" in Visual Studio http://i.imgur.com/hkW6Gk0.png -- You may want to click on the Home icon to reset the view on Solution Explorer http://i.imgur.com/N8UPwDh.png - You can place breakpoints in Visual Studio editor by right clicking a line of code and selecting "Breakpoint>Insert Breakpoint" http://i.imgur.com/L2TxBVG.png - At the top of the window you should see controls for stepping and continuing when you have started to debug. - Here is a video showing the basic Visual Studio functionality https://www.youtube.com/watch?v=Ijdk4z8-2OI First off we go with the fastest way to debug on windows. This is the easiest way to start up debugging a script. - Start the authserver and worldserver normally - Open TrinityCore.sln in Visual Studio. This is what you usually open when you want to compile the core - In Visual Studio at the top select "Debug>Attach to process...>worldserver.exe" and click "Attach" http://i.imgur.com/jDEI2Hq.png - You are now debugging The second slower way of debugging on windows. This is useful for debugging something that occurs in the startup of the server. - Open TrinityCore.sln in Visual Studio. This is what you usually open when you want to compile the core - In solution explorer right click on worldserver and select "Set as StartUp Project" http://i.imgur.com/wvMzeRA.png - In solution explorer right click on worldserver and select "Properties" http://i.imgur.com/rTNEF9O.png -- In Properties you should go to "Configuration Properties>Debugging" and edit "Working Directory" to point to the server folder. For me this is the default compile folder so I use "$(OutDir)" http://i.imgur.com/aRI29fB.png - Start the authserver normally - Start the worldserver by selecting "Debug>Start Debugging". The server will start with debugging attached from the beginning http://i.imgur.com/cg1KJNw.png - You are now debugging Crashlogs on windows. Once you have a way to reproduce a crash you can get a crashlog that can help you resolve it. - After compiling the core in "Debug" instead of "Release" start up the worldserver and authserver - Reproduce the crash you have - In the server folder there is now a folder called Crashes that contains txt and dmp files. http://i.imgur.com/9eQIdql.png - You can open the txt files in text editors http://i.imgur.com/EH6R17E.png -- At the top of a txt file there is some information about your system and below it there is the Call Stack and below that there are Variables of each part of the call stack -- The Call Stack will tell you at the top what was the last function call before crashing and what function calls led to that function call. -- Next to the function names there is the file that the function is defined in and the line number the code was executing in that function. -- In the Variables section you can inspect variables that were present at each function call. -- Based on this information you are often able to see what crashed or get a better view of what you need to inspect more in your code. - The dmp file can be opened in Visual Studio -- Open TrinityCore.sln in Visual Studio. This is what you usually open when you want to compile the core -- Drag and drop the dmp file to Visual Studio -- In the window that opens click to "Debug with Native Only" http://i.imgur.com/OgyU2kM.png -- In the window popup click "Break" http://i.imgur.com/4jDzqRn.png -- You are now in a state like you would have hit a break point in the code or a crash while debugging. You can inspect the call stack and the variables. Edit and continue on windows. When debugging this allows you to change the code and without restarting the server apply those changes so they actually work ingame. - Open TrinityCore.sln in Visual Studio. This is what you usually open when you want to compile the core - In solution explorer right click on worldserver and select "Properties" http://i.imgur.com/rTNEF9O.png -- In Properties select "Configuration Properties>Linker>General" and set "Enable Incremental Linking" to "Yes". http://i.imgur.com/caQqwN5.png -- In Properties select "Configuration Properties>Linker>Advanced" and set "Image Has Safe Exception Handlers" to "No". http://i.imgur.com/FYzN8Ks.png -- In Properties select "Configuration Properties>C/C++>General" and set "Debug Information Format" to "Program Database for Edit And Continue". http://i.imgur.com/pxQ6I8N.png - At the top of the window select "Tools>Options". In the Options select "Debugging>General" and in there select "Enable Edit and Continue", "Enable Native Edit and Continue" and "Require source files to exactly match the original version". - Compile the server for the changes to take effect. - Set up "The second slower way of debugging" (I did not test edit and continue on other configurations) - Start the authserver normally - Start the worldserver by selecting "Debug>Start Debugging". - Try edit a cpp file a little and save it. - At top of Visual Studio window select "Debug>Apply Code Changes" and wait until the changes are applied. Warning: it can take considerable amount of time for the changes to be applied. http://i.imgur.com/77pb58E.png - If you have issues, be sure to check the error messages in Output. You can view it by selecting "View>Output" http://i.imgur.com/4cIznW9.png - This guide was written based on https://msdn.microsoft.com/en-us/library/esaeyddf.aspx and https://blogs.msdn.microsoft.com/vcblog/2015/07/22/c-edit-and-continue-in-visual-studio-2015/ Debugging on linux. You can debug on linux by using GDB. - Here is a good video about it: https://www.youtube.com/watch?v=sCtY--xRUyI - Basically you -- Start the authserver -- Start the worldserver by using "gdb ./worldserver" -- Enter breakpoints by using break command on gdb -- Use the run command on gdb to start the server -- You are now debugging - You may also be interested in using VScode or some other more visual debuggers. https://www.youtube.com/watch?v=B0xTgyCwsAo Crashlogs on linux. Once you have a way to reproduce a crash you can get a crashlog that can help you resolve it. - Compile the server with the cmake flag -DCMAKE_BUILD_TYPE=Debug - Take crashreport.gdb from /contrib/debugger from source folder and place it to your server folder - Start the authserver - Start the worldserver by using "gdb -x crashreport.gdb ./worldserver" - Reproduce your crash - There should be a backtrace.log in your server folder that contains information about the crash like the callstack and variables in each function call in the call stack - This guide was written based on https://github.com/TrinityCore/TrinityCore/blob/master/contrib/debugger/README Running valgrind on linux. This helps you find memory errors like invalid reads and writes and memory leaks. - Here is a good video about it: https://www.youtube.com/watch?v=fvTsFjDuag8 - Basically you -- Start the authserver -- Start the worldserver by using "valgrind ./worldserver" -- Run your code that you want to analyze and close the server -- The console or an output log should contain the valgrind log
  44. 1 point
    TC's mysql requierement is 5.1 or higher. updating to 5.6 won't fix nothing. The problem indeed, lies here. He needs mysql client and server to be the same.
  45. 1 point
    Actually no, the example you used has 4 npc's running behind eachother. You need to find the first npc for the correct path, it will have a lot less points. The 3 other npc's will use more points because they run in formation thus having more points then needed
  46. 0 points
    You can be waiting for a long time since 7.3.5 is after all unsupported version
  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×
×
  • Create New...