Jump to content
TrinityCore

"unknown column" "missing table" "duplicate column" error / sql problems / SQLDriverLogFile < answer on 1st post of 1st page


Apple
 Share

Recommended Posts

Yesterday downloaded and installed from scratch TC 4.3.4 and TDB 4.3.4.
Applied all updates for world from /sql/updates/world, except 2013_07_20_01_world_misc.sql, because

ERROR 1146 (42S02) at line 29: Table 'world_434.creature_ai_scripts' doesn't exist
 
AFAIK, this table was removed from TC 4.3.4, but still this is inside TC 4.3.4 updates.
 
Have just updated DB repo, applied all updates. Still, when I start worldserver I get
 

In mysql_stmt_prepare() id: 19, sql: "SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? AND c.deleteInfos_Name IS NULL"
Unknown column 'c.slot' in 'field list'
In mysql_stmt_prepare() id: 20, sql: "SELECT c.guid, c.name, c.race, c.class, c.gender, c.playerBytes, c.playerBytes2, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid LEFT JOIN guild_member AS gm ON c.guid = gm.guid LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? AND c.deleteInfos_Name IS NULL"
Unknown column 'c.slot' in 'field list'
In mysql_stmt_prepare() id: 39, sql: "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, talentTree, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, instance_mode_mask, totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, health, power1, power2, power3, power4, power5, instance_id, speccount, activespec, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels FROM characters WHERE guid = ?"
Unknown column 'talentTree' in 'field list'
In mysql_stmt_prepare() id: 71, sql: "SELECT spec, glyph1, glyph2, glyph3, glyph4, glyph5, glyph6, glyph7, glyph8, glyph9 FROM character_glyphs WHERE guid = ?"
Unknown column 'glyph7' in 'field list'
In mysql_stmt_prepare() id: 159, sql: "INSERT INTO guild_member_withdraw (guid, tab0, tab1, tab2, tab3, tab4, tab5, tab6, tab7, money) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE tab0 = VALUES (tab0), tab1 = VALUES (tab1), tab2 = VALUES (tab2), tab3 = VALUES (tab3), tab4 = VALUES (tab4), tab5 = VALUES (tab5), tab6 = VALUES (tab6), tab7 = VALUES (tab7), money = VALUES (money)"
Unknown column 'tab6' in 'field list'
In mysql_stmt_prepare() id: 162, sql: "DELETE FROM guild_achievement WHERE guildId = ? AND achievement = ?"
Table 'chars_434.guild_achievement' doesn't exist
In mysql_stmt_prepare() id: 163, sql: "INSERT INTO guild_achievement (guildId, achievement, date, guids) VALUES (?, ?, ?, ?)"
Table 'chars_434.guild_achievement' doesn't exist
In mysql_stmt_prepare() id: 164, sql: "DELETE FROM guild_achievement_progress WHERE guildId = ? AND criteria = ?"
Table 'chars_434.guild_achievement_progress' doesn't exist
In mysql_stmt_prepare() id: 165, sql: "INSERT INTO guild_achievement_progress (guildId, criteria, counter, date, completedGuid) VALUES (?, ?, ?, ?, ?)"
Table 'chars_434.guild_achievement_progress' doesn't exist
In mysql_stmt_prepare() id: 166, sql: "DELETE FROM guild_achievement WHERE guildId = ?"
Table 'chars_434.guild_achievement' doesn't exist
In mysql_stmt_prepare() id: 167, sql: "DELETE FROM guild_achievement_progress WHERE guildId = ?"
Table 'chars_434.guild_achievement_progress' doesn't exist
In mysql_stmt_prepare() id: 170, sql: "UPDATE guild SET level = ?, experience = ?, todayExperience = ? WHERE guildId = ?"
Unknown column 'level' in 'field list'
In mysql_stmt_prepare() id: 171, sql: "UPDATE guild SET todayExperience = 0"
Unknown column 'todayExperience' in 'field list'
In mysql_stmt_prepare() id: 172, sql: "INSERT INTO guild_newslog (guildid, LogGuid, EventType, PlayerGuid, Flags, Value, Timestamp) VALUES (?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE LogGuid = VALUES (LogGuid), EventType = VALUES (EventType), PlayerGuid = VALUES (PlayerGuid), Flags = VALUES (Flags), Value = VALUES (Value), Timestamp = VALUES (Timestamp)"
Table 'chars_434.guild_newslog' doesn't exist
In mysql_stmt_prepare() id: 183, sql: "SELECT currency, week_count, total_count FROM character_currency WHERE guid = ?"
Table 'chars_434.character_currency' doesn't exist
In mysql_stmt_prepare() id: 184, sql: "UPDATE character_currency SET week_count = ?, total_count = ? WHERE guid = ? AND currency = ?"
Table 'chars_434.character_currency' doesn't exist
In mysql_stmt_prepare() id: 185, sql: "REPLACE INTO character_currency (guid, currency, week_count, total_count) VALUES (?, ?, ?, ?)"
Table 'chars_434.character_currency' doesn't exist
In mysql_stmt_prepare() id: 254, sql: "INSERT INTO characters (guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, map, instance_id, instance_mode_mask, position_x, position_y, position_z, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, talentTree, extra_flags, stable_slots, at_login, zone, death_expire_time, taxi_path, totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, health, power1, power2, power3, power4, power5, latency, speccount, activespec, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
Unknown column 'talentTree' in 'field list'
In mysql_stmt_prepare() id: 255, sql: "UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,playerBytes=?,playerBytes2=?,playerFlags=?,map=?,instance_id=?,instance_mode_mask=?,position_x=?,position_y=?,position_z=?,orientation=?,taximask=?,cinematic=?,totaltime=?,leveltime=?,rest_bonus=?,logout_time=?,is_logout_resting=?,resettalents_cost=?,resettalents_time=?,talentTree=?,extra_flags=?,stable_slots=?,at_login=?,zone=?,death_expire_time=?,taxi_path=?,totalKills=?,todayKills=?,yesterdayKills=?,chosenTitle=?,watchedFaction=?,drunk=?,health=?,power1=?,power2=?,power3=?,power4=?,power5=?,latency=?,speccount=?,activespec=?,exploredZones=?,equipmentCache=?,knownTitles=?,actionBars=?,grantableLevels=?,online=? WHERE guid=?"
Unknown column 'talentTree' in 'field list'
In mysql_stmt_prepare() id: 280, sql: "DELETE FROM guild_achievement_progress WHERE criteria = ?"
Table 'chars_434.guild_achievement_progress' doesn't exist
In mysql_stmt_prepare() id: 421, sql: "INSERT INTO character_glyphs (guid, spec, glyph1, glyph2, glyph3, glyph4, glyph5, glyph6, glyph7, glyph8, glyph9) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
Unknown column 'glyph7' in 'field list'
In mysql_stmt_prepare() id: 425, sql: "UPDATE characters SET slot = ? WHERE guid = ?"
Unknown column 'slot' in 'field list'
In mysql_stmt_prepare() id: 426, sql: "SELECT itemId, itemEntry, slot, creatorGuid, randomProperty, suffixFactor FROM character_void_storage WHERE playerGuid = ?"
Table 'chars_434.character_void_storage' doesn't exist
In mysql_stmt_prepare() id: 427, sql: "REPLACE INTO character_void_storage (itemId, playerGuid, itemEntry, slot, creatorGuid, randomProperty, suffixFactor) VALUES (?, ?, ?, ?, ?, ?, ?)"
Table 'chars_434.character_void_storage' doesn't exist
In mysql_stmt_prepare() id: 428, sql: "DELETE FROM character_void_storage WHERE slot = ? AND playerGuid = ?"
Table 'chars_434.character_void_storage' doesn't exist
In mysql_stmt_prepare() id: 429, sql: "SELECT id, name, frameHeight, frameWidth, sortBy, healthText, boolOptions, unk146, unk147, unk148, unk150, unk152, unk154 FROM character_cuf_profiles WHERE guid = ?"
Table 'chars_434.character_cuf_profiles' doesn't exist
In mysql_stmt_prepare() id: 430, sql: "REPLACE INTO character_cuf_profiles (guid, id, name, frameHeight, frameWidth, sortBy, healthText, boolOptions, unk146, unk147, unk148, unk150, unk152, unk154) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
Table 'chars_434.character_cuf_profiles' doesn't exist
In mysql_stmt_prepare() id: 431, sql: "DELETE FROM character_cuf_profiles WHERE guid = ? and id = ?"
Table 'chars_434.character_cuf_profiles' doesn't exist
In mysql_stmt_prepare() id: 432, sql: "REPLACE INTO guild_finder_applicant (guildId, playerGuid, availability, classRole, interests, comment, submitTime) VALUES(?, ?, ?, ?, ?, ?, ?)"
Table 'chars_434.guild_finder_applicant' doesn't exist
In mysql_stmt_prepare() id: 433, sql: "DELETE FROM guild_finder_applicant WHERE guildId = ? AND playerGuid = ?"
Table 'chars_434.guild_finder_applicant' doesn't exist
In mysql_stmt_prepare() id: 434, sql: "REPLACE INTO guild_finder_guild_settings (guildId, availability, classRoles, interests, level, listed, comment) VALUES(?, ?, ?, ?, ?, ?, ?)"
Table 'chars_434.guild_finder_guild_settings' doesn't exist
In mysql_stmt_prepare() id: 435, sql: "DELETE FROM guild_finder_guild_settings WHERE guildId = ?"
Table 'chars_434.guild_finder_guild_settings' doesn't exist
In mysql_stmt_prepare() id: 168, sql: "SELECT achievement, date, guids FROM guild_achievement WHERE guildId = ?"
Table 'chars_434.guild_achievement' doesn't exist
In mysql_stmt_prepare() id: 169, sql: "SELECT criteria, counter, date, completedGuid FROM guild_achievement_progress WHERE guildId = ?"
Table 'chars_434.guild_achievement_progress' doesn't exist
In mysql_stmt_prepare() id: 168, sql: "SELECT achievement, date, guids FROM guild_achievement WHERE guildId = ?"
Table 'chars_434.guild_achievement' doesn't exist
In mysql_stmt_prepare() id: 169, sql: "SELECT criteria, counter, date, completedGuid FROM guild_achievement_progress WHERE guildId = ?"
Table 'chars_434.guild_achievement_progress' doesn't exist

 

Server runs on Linux Fedora.

 

Sorry for my not knowing something, but this is the 1st time I'm trying to install TC exactly, not any other emulator.

BTW if this may be important, I downloaded TC 4.3.4 as zip archive, not via git clone ('cause git clone brings me 3.3.5 version)

 

I read wiki, and Forum FAQ.

What have I missed? How to handle this?

Should I upgrade from TC 3.3.5a instead of installing TC 4.3.4 from the scratch? If so, than what should I do?

Thank you much in advance.

Edited by Tidrek
Link to comment
Share on other sites

but this is the 1st time I'm trying to install TC exactly

And you pick 434? Really?

 

Should I upgrade from TC 3.3.5a instead of installing TC 4.3.4 from the scratch?

Personally I think you should leave 434 alone and stick with master. Why? You didn't follow the instructions.

 

Applied all updates for world from /sql/updates/world,

2fwUHrP.png

Link to comment
Share on other sites

And you followed these steps?

 


Character and Auth database

The process is the same used for TC master branch: all the required SQL files are in TrinityCore repository:

  • /sql/base/characters_database.sql
  • /sql/base/auth_database.sql
  • /sql/updates/characters/*.sql
  • /sql/updates/auth/*.sql
Link to comment
Share on other sites

Oh God... /facepalm

 

Thank you very much for your help!

 

The problem was in auth and characters DB's.

 

This is my fault not to check work of another person and not to understand that errors reffered to auth and char DB's, not world.

Link to comment
Share on other sites

No matter what I do, and have redone it several times, looked over guides, search forums, but yet still can't find a answer that I could understand. Everything seems to work, but can't get the darn worldserver to start! I keep getting this:

 

C:TrinityCore>worldserver
Using configuration file worldserver.conf.
Using SSL version: OpenSSL 1.0.1e 11 Feb 2013 (library: OpenSSL 1.0.1e 11 Feb 20
13)
Using ACE version: 6.1.4
TrinityCore rev. b4d2796e3322 2013-07-27 02:37:48 +0200 (master branch) (Win32,
Release) (worldserver-daemon)
<Ctrl-C> to stop.
 
 ______                       __
/__  _       __          __/ __
/_/ / _ __ /_    ___ /_ , _  __  __
    /`'__/ /' _ `/ / / /
    / / / _ _
      _ _   _ _ _ _ __/`____
      /_//_/   /_//_//_//_//__/ `/___/>
                                 C O R E  /___/
http://TrinityCore.org                    /__/
 
In mysql_stmt_prepare() id: 56, sql: "SELECT difficulty_entry_1, difficulty_entr
y_2, difficulty_entry_3, KillCredit1, KillCredit2, modelid1, modelid2, modelid3,
 modelid4, name, subname, IconName, gossip_menu_id, minlevel, maxlevel, exp, fac
tion_A, faction_H, npcflag, speed_walk, speed_run, scale, rank, mindmg, maxdmg,
dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_cl
ass, unit_flags, unit_flags2, dynamicflags, family, trainer_type, trainer_spell,
 trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type,
 type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resista
nce3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, spe
ll5, spell6, spell7, spell8, PetSpellDataId, VehicleId, mingold, maxgold, AIName
, MovementType, InhabitType, HoverHeight, Health_mod, Mana_mod, Armor_mod, Racia
lLeader, questItem1, questItem2, questItem3, questItem4, questItem5, questItem6,
 movementId, RegenHealth, mechanic_immune_mask, flags_extra, ScriptName FROM cre
ature_template WHERE entry = ?"
Unknown column 'trainer_spell' in 'field list'
DatabasePool world NOT opened. There were errors opening the MySQL connections.
Check your SQLDriverLogFile for specific errors.
Cannot connect to world database 127.0.0.1;3306;root;********;world
 
C:TrinityCore>

 

I have done this:

 

Recompiled

 

Git the source again

 

Done exactly what this guides tells me to do: http://collab.kpsn.org/display/tc/How-To_Win+4.3.4#How-To_Win4.3.4-ConfigurationFiles

 

Yes, I have looked over this: http://www.trinitycore.org/f/topic/1518-trouble-with-your-trinity-install-readme-1st-faqs/

 

Have searched forums, and still can't find an answer that I can understand!

 

I know SQL is running, I have it running all the time and can connect just fine using HeidiSQL, etc.

 

Loaded this DB: TDB_full_434.05_2013_07_17.sql (3 times with and without updates!)

 

Loaded these updates from the following folders:

*C:TrinitySourcesqlupdatescharacters

*C:TrinitySourcesqlupdatesworld

*C;TrinityDBupdates

 

I have also did the Git Pull command to make sure all files were up to date on the TrinitySource & TrinityDB folders.

 

So please don't complain that I am trying to use the 4.3.4 DB. I know it is beta, I know it will have problems, but I just want the stupid thing to start! I have been using repacks and now I wanted to try and see the wonderful work that the Trinity Team has done without someone already screwing with it with a repack. Thanks

Link to comment
Share on other sites

kcraptor82, if you want to compile and use 4.3.4 branch, first you must select that branch on your local repository. Use "git checkout 4.3.4" in your repo folder to switch to that branch. And compile again ofc, and extract dbc, maps, vmaps from 4.3.4 game client.

 

The best way to run 4.3.4 is using the last DB release commit to compile and be able to use the full db without single sql updates, and wait to sync the updates that are not importable by the moment (in 4.3.4_DB_Alpha repository will be updated with syncs). Use this "b95b19b3cb21f0b51481c71b77ac58bf7268b2c4" to compile from.

Link to comment
Share on other sites

 

I thought I did the 4.3.4 branch when I ran the Git Clone.

 

Part of guide I followed: http://collab.kpsn.org/display/tc/How-To_Win+4.3.4#How-To_Win4.3.4-GitCloning

 

Fill in the data as follows:
Repository to clone: https://github.com/TrinityCore/TrinityCore.git

Destination: C:TrinitySource

Subdirectory to create: <none> (delete anything in this field)

Branch: 4.3.4 (The Master branch is currently the 3.3.5a Wrath of the Lich King server, so be sure to select 4.3.4 for Cata)

Personal Repository: Yes

 
Either way, I may have mistakenly done the master one. I will go thru the guide again, thank you for pointing that out.
Edited by kcraptor82
Link to comment
Share on other sites

So far I have re-followed the guide, but I am on the section where you have to import the SQL files.

I imported: C:TrinitySourcesqlbasecharacters_database.sql - and it came up with a "Warning" Your query produced 2 warnings. Warnings from last query:

Anybody else have this issue?


 

 

kcraptor82, if you want to compile and use 4.3.4 branch, first you must select that branch on your local repository. Use "git checkout 4.3.4" in your repo folder to switch to that branch. And compile again ofc, and extract dbc, maps, vmaps from 4.3.4 game client.

 

I went and redone the clone, but how would I of done this if I hadn't. I looked thru the git options, but couldn't figure out where this "git checkout" was. Also I have the dbc, maps, & vmaps ready.

 

 

 

The best way to run 4.3.4 is using the last DB release commit to compile and be able to use the full db without single sql updates, and wait to sync the updates that are not importable by the moment (in 4.3.4_DB_Alpha repository will be updated with syncs). Use this "b95b19b3cb21f0b51481c71b77ac58bf7268b2c4" to compile from.

 

I am using this DB from: http://www.trinitycore.org/f/files/download/9-tdb-full-434/ - I got TDB_full_434.05_2013_07_17.7z

 

How would I wait to sync? I already cloned all directories required. Plus what would I do with this "b95b19b3cb21f0b51481c71b77ac58bf7268b2c4"?

Link to comment
Share on other sites

I went and redone the clone, but how would I of done this if I hadn't. I looked thru the git options, but couldn't figure out where this "git checkout" was. Also I have the dbc, maps, & vmaps ready.

 

I assume you are using Git GUI and not a Command Prompt or Git Bash. So i recommend you to use one of them, it's easier than the git app.

When you clone a repo, the default branch should be master (unless another were specified in repo), so if you want to use another branch you have to enter in the repo folder with a console (TrinityCore by default) the following command:

First we change the repository's branch with the following command (Be sure to be in repo folder):

C:TrinitySource>git checkout 4.3.4
Branch 4.3.4 set up to track remote branch 4.3.4 from origin. (only appear first time)
Switched to a new branch '4.3.4'

Then, as Guybrush said, we select the revision we want to compile:

C:TrinitySource>git checkout b95b19b3

If you never used a console, it's very easy: Just open a console (Press "win-key + R", write cmd and press enter) or Git Bash (both are consoles). One time we have a console opened, we navigate to the repo folder with the following command:

C:UsersMyUserName>cd C:TrinitySource

Now just follow the first two steps.

 

Paradox: Probably you are right, but unfortunately this is a forum...

Link to comment
Share on other sites

I just love how much support is asked for (and, received) for the UNSUPPORTED 4.3.4 branch... especially people who have no business trying to run 4.3.4.

 

I do appreciate the answers, and I know that 4.3.4 is unsupported. I also know that their is better support for 3.3.5, but I don't want to run that atm. Just because something is not supported, that doesn't mean that it shouldn't even be messed with. If that was the logic, then the fine folks here wouldn't even bother to have anything related to 4.3.4 on their site. So if you have nothing helpful to contribute, then please keep your negative comments to yourself!

Chazy Chaz, I really do appreciate the information you have given. That made more sense and do appreciate you spending the time to explain that to me. When I first done this I must of cloned the wrong thing, but after carefully going over everything again and realizing what I did, I got it working! There are alot of spell errors and such, but hey, I knew what I was getting into when I went with the unsupported 4.3.4 branch. I did try the way you explained, and tried the Git Bash. Anyhow thank you again for all your help. I have another question, and yes it does involve the 4.3.4 branch, but that is for another post. I really want to learn more about how this system works and want to contribute.

Link to comment
Share on other sites

Just because something is not supported, that doesn't mean that it shouldn't even be messed with. If that was the logic, then the fine folks here wouldn't even bother to have anything related to 4.3.4 on their site. So if you have nothing helpful to contribute, then please keep your negative comments to yourself!

 

The logic here is that 434 is developmental and should you decide to clone it, you're on your own. The reason? There are far too many variables for anyone to provide accurate support for the myriad of errors you're going to encounter in the 434 branch. Your decision to clone 434 comes with an "as is" tag.

 

No support = don't ask for help with something that, for the moment, barely works. The decision to provide a 434 branch to the public was with the hope that the community would have enough volunteers to contribute to the project and make it worthwhile. It wasn't invitation for everyone and their uncle to come clone it and then make millions of posts screaming "omg 434 brukd". Interested volunteers hopefully have the capacity to get it up and running with little to no assistance, otherwise there's probably very little they can contribute.

  • Upvote 1
Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By xgamerninjax
      Hello all, first time posting here and it's really got me scratching my head.
      I've compiled everything on my own computer, and then transferred everything to a host computer so the server can stay live. The server was running fine for a month or so and then suddenly it just crashes when it hits "Loading C++ scripts", exiting saying "caught signal 22"
      I tried setting up the host computer from scratch and transferred everything over fresh and it's still happening for some reason. (Note, I can run the server perfectly on my personal pc where I compiled it.)
      Any help would be greatly appreciated, thanks!
      3d7e3a40e2b3+_worldserver.exe_[1-4_15-19-45].dmp 3d7e3a40e2b3+_worldserver.exe_[1-4_15-19-45].txt
    • By Rochet2
      A lot of people have asked how to debug so I made this short guide on how to set up debugging.
      This guide only tells you how to actually set up debugging in TrinityCore on Windows and Linux.
      This will not explain the basics of debugging. You can google those or play around with the debugger to learn.
      Here are a few videos that explain how to actually debug after setting debugging up on visual studio: https://youtu.be/0ebzPwixrJA and linux: https://www.youtube.com/watch?v=sCtY--xRUyI

      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.

      Windows:
      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
      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/
      Linux:
      First we need to compile the server in debug mode.
      - Compile the server with the cmake flag -DCMAKE_BUILD_TYPE=Debug

      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.
      - 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
    • By reyne
      Hey there!

      I've followed a few threads here about map extraction, and am still having issues. Originally, I was having the issue described here.
      After following the advice given in that thread (creating characters of both BC races and running around for a bit), I am no longer getting that error, however now I get the following error while trying to extract maps:

      `Error loading World\Maps\Expansion01\Expansion01_42_6.adt`

      This repeats for every line in Expansion01, and then the extractor crashes.

      I'm not sure where else to go from here.

      Thanks for your help

      Edit: I've created an 85 on an i85 server and flown all around Outland now, same issue.
    • By Uee
      I recently found the Trinity Cataclsym Preservation Project and thought I will try it out.
      I am already running 3.3.5a and Master - both server run great
      Pulled 4.3.4 down using Git and built it same way as others:
      boost_1_73_0 cmake 3.17.2 Mysql 5.7.30 VS Community 2019 Built fine - no issue. Used 'Extractor.bat' to run all the map extractors - worked great!
      Noticed there was extra file 'connection_patcher.exe`, ran that - worked great! Now have "wow_patched" and use this to launch client
      MySQL runs in standalone mode, -initialize, added base sql files, imported, auth and character sql files
      Configured both the .conf files and passwords, IPs etc are all in place.
      Note: When loading the exe and built conf file, bnetserver complain about these items missing, so I add them:
      Updates.AutoSetup = 1 Updates.EnableDatabases = 0 LoginDatabase.SynchThreads = 1 Load up Mysql - loads fine
      Load up bnetserver and appears to load ok - last few lines look like this:
      Connected to MySQL database at 127.0.0.1
      DatabasePool 'auth' opened successfully. 2 total connections running.
      Started auth database connection pool.
      Listening on connections from worldservers on port 1118...
      Load up worldserver and it adds the FULL world and hotfixes, then applied all updates (confirmed archived in SQL) - last few lines look like this:
      Calculate next monthly quest reset time...
      Calculate random battleground reset time...
      Calculate guild limitation(s) reset time...
      Calculate next currency reset time...
      World initialized in 0 minutes 13 seconds
      TrinityCore rev. d0c7bbab40bc 2020-05-06 00:01:21 +0200 (master branch) (Win64, RelWithDebInfo, Static) (worldserver-daemon) ready...
       
      There are no db errors in logs.
      Config.wtf contain portal, realmlist as remote server and patchlist as localhost.
      When I try to connecting using "user@local" and password I get immediately disconnected.
      What I did noticed different is that the bnetserver doesnt add "Added realm "Battle for Azeroth" at 192.168.10.213:8085." (From my Master log) 
      3.3.5a also have this line as last line in authserver - but 4.3.4 is not giving me this one.
      Realmlist table is accurate with right information.
      Anyone know why bnetserver is not starting me realm?
       
    • By Deer_Hunter
      Hello all,
      I just updated from the latest Git 
      Trinity Core REV. ac6baa547376 + 2020-02-21  3.3.5 Branch.
      I'm getting this error after crash.
      Problem signature:
        Problem Event Name:    APPCRASH
        Application Name:    worldserver.exe
        Application Version:    0.0.0.0
        Application Timestamp:    5e50a462
        Fault Module Name:    StackHash_f12f
        Fault Module Version:    6.3.9600.19629
        Fault Module Timestamp:    5e2fdc0d
        Exception Code:    c0000374
        Exception Offset:    PCH_9E_FROM_ntdll+0x0000000000090D0A
        OS Version:    6.3.9600.2.0.0.272.7
        Locale ID:    1033
        Additional Information 1:    f12f
        Additional Information 2:    f12f0934d3e965f73c68e60f20f2cd40
        Additional Information 3:    7595
        Additional Information 4:    7595e4d8d703db9dcd3d2f6ea540e357
      the exception code says its a Heap error,  I'm not sure how to troubleshoot this.
      Thanks
×
×
  • Create New...