Jump to content
TrinityCore

Leaderboard


Popular Content

Showing content with the highest reputation since 03/22/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
    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.
  4. 2 points
    I'm guessing no one knows apart from those who have managed to fix the issue themselves. However @Aokromes i did find this. struct EuropaTicketConfig { bool TicketsEnabled = false; bool BugsEnabled = false; bool ComplaintsEnabled = false; bool SuggestionsEnabled = false; Would changing the value from false to true yield any results? bool TicketsEnabled =true; Regards, Xedara
  5. 2 points
  6. 2 points
    You could have just asked for it. The reason I didn't throw it up on a gist or dropbox public site was due to people pinging me outside of TC and bugging me for updates and filling up my email/discord channel for the armory. The web app layer is not 100% working. So no... my 1400+ posts have never been about an "every man for himself" attitude. Next time, *your* approach could be, "Hey CDawg, why not share it publicly?"
  7. 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
  8. 1 point
    known bug it needs to be fixed. you did nothing incorrect on your side.
  9. 1 point
  10. 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!
  11. 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.
  12. 1 point
    you don't must follow near 1 year old screenshot as guide for what revision suports trinitycore.
  13. 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
  14. 1 point
    @Influencer you can do that any time https://locka99.gitbooks.io/a-guide-to-porting-c-to-rust/content/
  15. 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>
  16. 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.
  17. 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
  18. 1 point
    Just downloaded the classic demo client for the blizzcon. What are your thoughts? Will I see some of you on demo servers?
  19. 1 point
    nothing like someone complaining about people not doing enough while refusing to do anything themselves
  20. 1 point
    You installed core for The Lich king expansion but put database for LEGION!
  21. 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
  22. 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!
  23. 1 point
  24. 1 point
    No, I wanted to say that maybe different people do the same thing at the same time and nobody knows it.
  25. 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.
  26. 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
  27. 1 point
    Put the client on a USB hard drive? Might be a bit slow though.
  28. 1 point
    nevermind just delete in "WoW_Folder/Data/enUS/" the "patch-enUS-w.mpq" and "patch-enUS-x.mpq" and it worked. Close
  29. 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
  30. 1 point
    It's a long story but in short these are not scripted (yet). Cataclysm Zones - Quests + Phasing https://github.com/TrinityCore/TrinityCore/issues/15182 [master] WoD missing features https://github.com/TrinityCore/TrinityCore/issues/13825 Wandering Isle is checked but it has some serious issues. I hope one day Lopfest will be able to finish this zone. https://github.com/TrinityCore/TrinityCore/pull/17021 (Also there is no post cata content on Trinity... I tried to help them with initial spawns but as you can see from the conversation there is zero feedback so I stopped contributing. https://github.com/TrinityCore/TrinityCore/issues/20186 ) Tip: Play these zones on offical then use the quest commands to skip these zones on Trinity. (quest complete & quest reward) https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130065/GM+Commands
  31. 1 point
    Due to .. relatively new changes .. majority of guides and scripts are now outdated. This happens every now and then since the TC scripting "API" changes to better meet the needs of scripts in the core and sometimes external code. Also currently TC master and 3.3.5 branches have different gossip scripting APIs. While guides and old scripts may be a good way to learn things, they always eventually get outdated if no one maintains them. I think that the most uptodate "documentation" is the code in the core itself. So looking at existing gossip scripts you know what to do. Here is an example of a gossip script: https://github.com/TrinityCore/TrinityCore/blob/f6b6f57a6da909426e3171d09f989c554f20b43d/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp#L53-L108
  32. 1 point
    Greetings I've got my own local server and been testing various content etc however i've come across a issue regarding the Ticket System. It would seem you can't open a ticket without being redirected to the official Blizzard support ticket team. Is there anyway to make it not do this? For example is there a way to introduce it back into the client interface and if so how? What tools would i need and what files would need editing to make this a reality? I would greatly appreciate any help regarding this issue. Regards, Xedara
  33. 1 point
    You don't go to see all issues fixed, Battle For Azeroth is less than 2 months away.
  34. 1 point
    I am having the exact same issue bro, except mine is hosted and I'm on a deadline(probably shouldn't have bought hosting till I fixed all the damn problems) ;( But this issue is strictly by creating a patch via client editing. Now I have no idea how to do this, I'm just a DBA and SQL dev so I made a thread asking the EXACT same thing, on how to do it. Hopefully somebody can tell us where patchs are located in Legion, because I know that WotLK 3.3.5a could be client edited to fix the that problem, and not only that but FireStorm world of Warcraft has fixed the problem themselves by introducing a custom patch into there client, and that was done on there client(7.3.5 trinitycore). I know it's possible, cause Firestorm did it. Now they're an absolutely huge server but I'm willing to do whatever it takes to be able to fix the problem as well, as it's a key aspect of any WoW server.
  35. 1 point
    Hello, I don't understand how to use custom SQL queries in files in the /sql/custom/xxx folders in the right way. Here's an example of what I'm doing: In Juli 2017 I start a complete new project and use TDB_full_world_335.63_2017_04_18.sql and all the stuff from git repository at this date. I commit to whole stuff in my own git repository. In Aug. 2017 I made some database modifications, create therefore some custom SQL files. I let do the core an automatic update as usual. I commit the custom SQLs in my own git repository. I do regular updates of TC 3.3.5 branch and merge them in my repository. In the meantime databases and table change their structures by different TC updates. In Spring 2018 Trinity is providing a new TDB_full_world_335.64_2018_02_19.sql In June 2018 somebody else would like to start on another system a copy of our customized project. He's cloning the custom project from git repository and compiles it. At the updating process the core is asking for TDB_full_world_335.64_2018_02_19.sql After that (I guess) the core is applying outstanding TC updates and all the custom sql updates I made before. But how can I prevent possible database conflicts between my sql queries in the custom updates I made in Aug. 2017 with the database structure of Spring 2018 ?
  36. 1 point
    Client requirement was updated to 7.3.5.26822 yesterday.
  37. 1 point
    https://www.linuxfoundation.org/blog/microsoft-buys-github-the-linux-foundations-reaction/
  38. 1 point
  39. 1 point
  40. 1 point
    should be fixed in https://github.com/TrinityCore/TrinityCore/commit/389092ab23ab04c700a0e9be8301e8c3e2424d86
  41. 1 point
    This is intended, mmaps_generator by default uses as many threads as number of cpu cores, you can control it with --threads option
  42. 1 point
  43. 1 point
    A small summary: i7-6700K 4GHz 4cores 8threads 5min Ryzen5 1600 3.20GHz 6cores 12threads 5-6min i5-3570K 3.40GHz 4cores 4threads 8min Intel Xeon E3-1231 3.4GHz 4cores 8threads 5min i7-2820 QM 3.4GHz 4cores 8threads 5-6min for building 3.3.5 I was actually expecting a larger difference.. hm. mmap extraction probably shows a lot bigger difference. But guess that isnt as helpful.
  44. 1 point
    It seems that this is a common issue suddenly. Every month people post that they have issues regarding the NPC equipment. (not necessarily on these forums..) The issue is often that people seem to convert the item_template to item.dbc. Item_template does not contain all item entries that item.dbc contains. For this reason, replacing the original item.dbc with a generated one will usually lose data which leads to problems. Not all items in the game are accessible to players. This is why not all items have data in item_template. The items that are not available to players may not have damage or other such stats (or we cannot read that data). These items are cosmetic and used by NPCs. Let's say for example that there is some special item like a lantern that guards use. For convenience, the NPC equipment system uses item entries from item.dbc. This lantern may not be available for players since we don't want them to use lanterns, but the displayid and such data must be associated with the entry through item.dbc. What you can do is to add only your edits to the item.dbc or you can extract the data you are missing from item.dbc to DB so that the converter has all the needed information. I think the easiest solution would be to try convert the item.dbc into an SQL which uses INSERT INGORE. That way you can make a copy of your item_template, run the item.dbc sql to it and then generate the dbc file and then delete the DB table that contains the dbc info for extraction purposes.
  45. 1 point
    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.64 (2018/02/19) was released for the 3.3.5 branch (previous release TDB 335.63 from 2017/04/18). 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/
  46. 1 point
    Here's a few more. PS: Either you contribute, or you're not helping. Pushing "Like" on the post isn't gonna do anything. azjolnerub.sql theeye.sql magtheridon.sql gruul.sql ragefire.sql utgardekeep.sql
  47. 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
  48. 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.
  49. 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
  50. 1 point
  • Newsletter

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

    Sign Up
×
×
  • Create New...