Jump to content
TrinityCore

Rochet2

Members
  • Posts

    967
  • Joined

  • Last visited

  • Days Won

    83

Posts posted by Rochet2

  1. 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.

    • Like 1
  2. 23 hours ago, Nercc said:

    Okay, I tried putting a new DBC, they were gone. However i have custom items in the DB & i have exported all the item_template table to the DBC. I have done it through a DB converter program before.

    So i figured out the DB converter (to DBC) is bugged. So i tried doing it manually. I am still experiencing the same problem.

    The question is why would these Custom items affect somewhat around 30,000 creature_equip_template rows? and how is it possible? I just don't understand it.

    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.

    • Like 1
  3. You should post more information for example what patch you are on, what TC version and so on.
    Also if this issue does not occur on a clean core and DB then it can be because of some data you have in the database and we may have difficulties reproducing it locally to examine the issue.
    You could try profiling or debugging to try find out which part exactly is being slow. This can be done for example by simple logging of timestamps between different phases of the functions being called that are slow. Or by using Visual Studio or some other tool that has profiling tools. According to https://www.visualstudio.com/vs/compare/ visual studio community seems to have the profiling tools needed for performance profiling (CPU).

  4. post whole compile output. The part you posted seems to be missing the actual error messages.

    And by this I mean that usually an error in scripts causes compiling of the scripts.lib to fail, which causes it not to exist for linking. So the error you posted is a result of some other error.

  5. 39 minutes ago, ex0r said:

    I am not sure how much it's changed from a couple of years ago when I looked at it, but chat was handled server<->client side and wasn't recorded anywhere. I believe in order to log it to either file or database you would need to modify core to first log it, as I think right now it just relays to the needed clients when the server receives it.

    It should be loggable like many other things. Have you looked at the loggers in worldserver.conf? Search for chat.
    According to commit history it has been loggable a long time. For example this commit from 6 years back seems to show that chat logging existed even back then and before it https://github.com/TrinityCore/TrinityCore/commit/97c4b92eb02fc673d1230aadaee23aa7827a9761

  6. The DB logging had a few quirks iirc.
    For example you need to restart for it to work, cant just edit loggers and reload them. (just in case you are trying reloading and things dont seem to work)

     

    Here is an example of DB logging for commands that I got to work before:
    Appender.GM=3,1,3
    Logger.commands.gm=3,Console GM

    The stuff is logged to auth.logs in DB

    Rows older than x days are deleted automatically. See worldserver config to tweak that.

  7. Their woodcutting animation is defined in creature_template_addon with their entry. They do it whenever they stand still.
    Their movement and what they do at specific points is defined in waypoint_data which is linked to their specific spawns (guids) through creature_addon.
    It seems the difference between waypoint and waypoint_data tables is that waypoint table is used by Smart AI and waypoint_data is the default waypoint system.

    To get the waypoints of a specific guid you can run a query like

    select * from creature_addon ca inner join waypoint_data wd on ca.path_id = wd.id where ca.guid = 80145;

    where 80145 is a guid of a spawn for the NPC.

    See the documentation of the related tables for more info (creature, creature_addon, waypoint_data).

  8. 17 hours ago, SouthSideDown said:

    So for the past 4 hours I've been following this guide https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130077/Installation+Guide step by step. And every single step I run into an issue that hasn't been accounted for that I have to google to fix myself.

    For example, in step 3 of the Windows Requirements I was directed to install the MySQL Server Community Edition. At first this worked well until I run into the step "During MySQL Configuration, near the end of the installation process, create the user trinity with password trinity". Well no matter how many different ways I went through both the setup and the install wizard, there was never an option to create any profile. The closest I could find were either setting up my root password or just using an anonymous account, which did not allow me to change anything regarding the username or password of any "profile". So I simply skipped that step and found my own way around it to make it work.

    Second Issue. In Step 1 of the Windows Core Installation, I was told to make a directory in my C drive called Trinity. I right clicked on this folder and opened up GitExtensions to get the source files. Well it turns out by doing this, it created another subfolder. There is no option to make it not create the subfolder as I found out later down the line in the instructions (that didn't include that fact). Multiple times you are directed to use the Trinity file in your C drive to reference files various applications need to find. I had to Google around and manually go into this folder and change all the coming directories to point at this new subfolder instead of the one this guide told me to.

    Third Issue. Step #1 through #9 show how to use CMake to configure and generate the source files downloaded through GitExtensions. I follow every step word by word all the way through and double check. I click on configure and boom, full of errors. I did exactly what I was told to do and CMake couldn't for the life of it figure out where the libraries were from Boost. So of course I had to go in manually for like an hour of google searches to fix the problem. Turns out this flawless application can't find the folder full of 2 gigs of libraries to I had to move them all to the main folder with the exes and such, and then redirect CMake to look there for the libraries.

    Then comes another CMake issue. It doesn't recognize that I have OpenSSL installed and can't find it. Again, knowing very little about how this works I have to leave the guide and go on another half an hour of google searches to figure it out. At this point I can't even remember what I did to actually make it work.

    And oh boy I bet you weren't expecting another issue. I finally manage to get everything configured and generated, and I open my project from CMake into Visual Studio 15 2017 Win64 (which I was instructed to do by the guide). Well I follow every direction to the word, and after sitting there for 20 minutes building the files, it gives me 7 errors about more files the thing can't find.

    This entire guide is so convoluted and incorrect that I am more than over with trying to make this work because even after some more intensive Google searches into the error, I cant find any answers to my issue. I really don't feel like troubleshooting with myself for the next 3 hours constantly building the files over and over and failing seeing if what I did fixed the issue. Because apparently its very difficult to tell people what to click on and where to drag the files to make it work. gg

    While the guide isnt perfect, it still captures the most important parts and is good enough for the job.

    Some of the issues you listed sound like user errors.

    1. You are clearly presented a way to create a new user in the mysql installer. If you did not have this view, then you are possibly using some other way of installing MySQL that was unexpected or the installer may have changed over time. https://i.imgur.com/ceQRzfk.png https://i.imgur.com/81Rq8Lz.png
    2. You are clearly instructed to leave the subdirectory field empty. Then it will not create a subdirectory. Seems you missed this? https://i.imgur.com/XgRZZjT.png
    3. The issue was possibly that you had the wrong boost version installed (did not use the provided links to download or accidentally downloaded wrong version) or that you did not restart CMake between attempting to do things like installing boost and configuring - which is mentioned in the guide. It is also possible that the system variables require a relog in windows or restarting the whole machine to take effect - this is not mentioned in the guide. Without the errors and the state of the machine it is hard to tell afterwards what your issue was.
    4. It is possible you installed wrong version of openssl accidentally. Unsure if some unconventional location may also be a reason.
    5. Most dependency errors during compile I have seen are caused by users installing wrong dependencies. For example 32 bit library when they compile 64 bit. This mostly happens for MySQL and Boost. Another problem has been the new boost and visual studio versions that required the boost finding script to be changed, but I have not checked if that was corrected already - it may have required some manual fixing.

    For the issues that you somehow solved it would require seeing the errors and possibly what you have installed and how you have set up the environment to figure out. This is why it is hard to imagine what could have been wrong. Even a small mistake can lead to nothing working and it could be that your system is different in some way from the majority of other systems (new versions of software etc.). So if you cannot solve the problems you should post the error messages and environment data, like what bit version you are compiling, and ask for help.

    In case you are getting errors there is also a troubleshooting section that has some guides for handling specific errors you may encounter: https://trinitycore.atlassian.net/wiki/spaces/tc/pages/2130044/Troubleshooting+articles
    In the beginning the guide encourages you to search the forums and ask for help if you cannot find what you need. - There is even a support channel you can ask help live on irc.

    Anyone is free to edit the wiki, which means that after figuring out what is missing from the guide you can add it in.

    That being said this software is probably not being built for the average joe to use. Some knowledge about the used software and programming as well as problem solving is likely expected.
    It should also be expected that a new user will have problems configuring a project of this size and with this many dependencies - even with a perfect guide.
    New issues keep rising all the time as used libraries and software is being developed by third parties as well as TC.

    • Upvote 2
  9. Take a look at what appveyor does in it's script
    https://ci.appveyor.com/project/DDuarte/trinitycore/build/1.0.6050

    I would recommend using some bash shell, like git bash instead of using windows commandline - windows cli is simply hard to use for anything.

    Im sure you can google a way to use git bash to get the current version hash from your repo and using that as the output folder should be relatively straight forward.
    Also you dont need to directly build to a new folder. You can build and then move/rename the build folder or it's contents.

    Cmake takes some arguments too, which may let you select the build output folder.
    cmake generates an install project that you can try to build to move the files after buinding them to the cmake configured installation folder.

    • Upvote 1
  10. 11 hours ago, CDawg said:

    I don't quite understand what you are saying...

    You can check the revision while downloading as a zip.

    He says that the issue this thread we are in tries to fix cannot be fixed by using the method described if you downloaded the source as a zip.
    If you are saying that you can still do this fix, then maybe share some steps?

    The point is not that you cannot get the version of the zip. The point is that you cannot fix the version showing as Trinitycore rev. 1970-01-01 00:00:00 +0000 on startup and in cmake and everywhere.

  11. If you dont mind updating your core in the process with the fork's TC version that the pull request is made for then you can just do git pull <the fork address> <branch name>
    If you only want the pull request contents, then you can download it as a diff by appending ".diff" to the end of the pull request URL in github.
    Same for patch.
    https://github.com/TrinityCore/TrinityCore/pull/19297
    https://github.com/TrinityCore/TrinityCore/pull/19297.diff
    https://github.com/TrinityCore/TrinityCore/pull/19297.patch
    The patch would be the same as doing a cherry-pick in a way I guess if you apply it with git am < file.patch
     

    There are many other ways  to go about doing this.
    For example you could make a cherry-pick of the commits that are pull requested. (fetch the pull request repository and then do a cherry-pick firstCommitHash^...LastCommitHash)

     

    It seems you can also try reference the pull request repository through TC repository as seen here:
    https://help.github.com/articles/checking-out-pull-requests-locally/
    git fetch origin pull/PRID/head:BRANCHNAME
    origin is assumed to be trinitycore repository.

  12. 27 minutes ago, hessor said:

    Hi there  i want to compile a 3.3.5a trinitycore and i instaled everithing  All visual studios versioan and i kee get thes  erorr

    he C compiler identification is unknown

    The CXX compiler identification is unknown

    CMake Error at CMakeLists.txt:15 (project):
    No CMAKE_C_COMPILER could be found.


     

    CMake Error at CMakeLists.txt:15 (project):
    No CMAKE_CXX_COMPILER could be found.


     

    Configuring incomplete, errors occurred!

    See also "C:/build/CMakeFiles/CMakeOutput.log".

    See also "C:/build/CMakeFiles/CMakeError.log".

     

    Please Help me guys i m new on thes  and i tried everithing if someone can help me  Please

    Follow the TC requirements page guide on how to install visual studio.

×
×
  • Create New...