Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-29-2015, 02:00 AM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 224
Default MySQL Error showing up on GM screen

So it's been about 3 weeks since I last sourced and recompiled. Everything compiled normally. Bots needed to be reloaded, but I am now getting an error I haven't seen before. This error shows up in the chat window of the GM character. The error is in RED text and is as follows:

[MySQL Error] 1054: Unknown column 'c.timelaston' in 'field list' SELECT
c.id,c.name,c.class,c.level,c.timelaston,c.zoneid,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = b.mobtype WHERE g.guild_id=1

This only shows up on the GM account, not on any others. I checked the views and they appear to be normal. This same error showed up on the world.exe screen the first time I started the server. I did the patching thing and it doesn't show up when starting the server. It only shows up on the GM character.

Again, this has never ever showed up before doing the build tonight...
Reply With Quote
  #2  
Old 01-29-2015, 11:40 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

When you update your source, you should read through the changelog.txt file for information on what was changed as well as the occasional special instructions for things you may need to change manually after updating (there were a few recently).

https://github.com/EQEmu/Server/blob.../changelog.txt

In the Changelog, Akkadius provides this link to explain the new logging system in-depth:

http://wiki.eqemulator.org/p?Logging...rhaul&frm=Main

In the case of this particular error, that is one of the few types enabled by default to be sent to GMs in game. It is an important error, which means either your database has a table that is not current (such as a missing field or renamed field), or that the source code has a bad query written in it.

Generally, the query issues in the source are fixed quickly because they have lots of exposure. There is one that needs to be fixed for raid_leaders (that I actually have fixed for the next push I do). In the case of your error, that is something related to bots. I don't compile with bots, so I don't really know the details of that error. Most likely, one of the EQEmu devs will need to fix something with the bot queries to stop that error from coming in.

Bots use views as if they were normal tables, which really is not ideal for our solution. They should probably be converted over to just use normal tables at some point. Unfortunately, I don't think there are any of the current EQEmu Devs actually use bots, so I am not sure when that would get fixed. Bots really need someone devoted to them that can code, and will make pull requests on Git to fix their issues.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 01-29-2015, 05:31 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 224
Default

Excellent explanation. Thank you!

I have wondered where the changelog.txt was, but couldn't find it. I would have reviewed them every time, but didn't know where to find them.

It's nice to know that my explanation was in fact a new "feature" that reveals a bug of some kind and not a but itself... That had me somewhat concerned. I'll see if I can fix it tonight by investigating the views and possibly taking a look at the header files involving those bot changes. My full time job is as a developer for a "significant northwest aerospace corporation", so this is something I do all the time anyway...

Riklin (Halls Havoc)
Reply With Quote
  #4  
Old 01-29-2015, 05:41 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

The changelog.txt is in the root folder of the repo, if you are building it yourself, you should see it ...
Reply With Quote
  #5  
Old 01-29-2015, 09:00 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 224
Default

Thanks for that info about changelog. I found it and will diligently use it for now on!.

In trying to figure out the error itself...

SELECT
c.id,c.name,c.class,c.level,c.timelaston,c.zoneid,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = b.mobtype WHERE g.guild_id=1

This is looking for c.timelaston. There indeed is no column in vwBOTCharacterMobs called "timelaston". There is a column called "last_login" which appears to be the same thing.

I have a version of the database which is empty, created from the 9/25/2014 peq database. It has been appropriately patched. That version also has this error and the bot views appear to be set up identically. I suspect this is a code issue somewhere. I'll continue to look at it. Maybe I'll get lucky and stumble on the code somewhere... LOL!

Riklin
Reply With Quote
  #6  
Old 01-29-2015, 09:06 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 224
Default

This query works correctly... I believe this is what the query should be.

SELECT
c.id,c.name,c.class,c.level,c.last_login,c.zone_id ,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = g.mobtype WHERE g.guild_id=1


Now to figure out where it goes...

Riklin
Reply With Quote
  #7  
Old 01-29-2015, 09:08 PM
Riklin
Hill Giant
 
Join Date: May 2003
Location: Tacoma, WA
Posts: 224
Default

This query is a bit more dynamic than I thought. The guild ID value changes, so I suspect this is a resulting query from some sql assembler process.
Reply With Quote
  #8  
Old 01-29-2015, 09:43 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Quote:
Originally Posted by Riklin View Post
Thanks for that info about changelog. I found it and will diligently use it for now on!.
Make sure you read the commit messages, some of us like to be lazy and piss akka off.
Reply With Quote
  #9  
Old 01-29-2015, 10:19 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Oh, I disagree! I diligently try to piss akka off :P
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #10  
Old 01-30-2015, 05:40 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

Quote:
Originally Posted by Riklin View Post
This is looking for c.timelaston. There indeed is no column in vwBOTCharacterMobs called "timelaston". There is a column called "last_login" which appears to be the same thing.

I have a version of the database which is empty, created from the 9/25/2014 peq database. It has been appropriately patched. That version also has this error and the bot views appear to be set up identically. I suspect this is a code issue somewhere. I'll continue to look at it. Maybe I'll get lucky and stumble on the code somewhere... LOL!

Riklin
My PEQ Database does have a timelaston column is vwBOTCHaracterMobs, so one of us is not up to date.
Reply With Quote
  #11  
Old 01-30-2015, 07:26 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Bots are always out of date... Probably needs to be updated to reflect the pp conversion.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #12  
Old 02-06-2015, 08:54 AM
Nibiuno
Hill Giant
 
Join Date: Mar 2010
Posts: 101
Default

I have the same issue, if I fix it Ill let you know.

edit: Fixed -

You need to edit two tables for bots on the latest RoF2 code.

table botbuffs:
add a column dot_rune after MagicRune as an INT

vwbotcharactermobs:
The view should read this:
select _utf8'C' AS `mobtype`,`c`.`id` AS `id`,`c`.`name` AS `name`,`c`.`class` AS `class`,`c`.`level` AS `level`,`c`.`last_login` AS `timelaston`,`c`.`zone_id` AS `zoneid` from `character_data` `c` union all select _utf8'B' AS `mobtype`,`b`.`BotID` AS `id`,`b`.`Name` AS `name`,`b`.`Class` AS `class`,`b`.`BotLevel` AS `level`,0 AS `timelaston`,0 AS `zoneid` from `bots` `b`
Reply With Quote
  #13  
Old 05-29-2015, 02:41 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

I can confirm that it works now. to save a few minutes of trouble heres the same thing nibiuno posted but made it easier to copy and paste it

You need to edit two tables for bots on the latest RoF2 code.

table botbuffs:
add a column dot_rune after MagicRune as an INT

vwbotcharactermobs:

select _utf8'C'
AS `mobtype`,`c`.`id`
AS `id`,`c`.`name`
AS `name`,`c`.`class`
AS `class`,`c`.`level`
AS `level`,`c`.`last_login`
AS `timelaston`,`c`.`zone_id`
AS `zoneid`
from `character_data` `c`
union all
select _utf8'B'
AS `mobtype`,`b`.`BotID`
AS `id`,`b`.`Name`
AS `name`,`b`.`Class`
AS `class`,`b`.`BotLevel`
AS `level`,0
AS `timelaston`,0
AS `zoneid`
from `bots` `b`

Thanks again nibiuno saved me some time.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:30 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3