Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Database/World Building

Archive::Database/World Building Archive area for General Discussion's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-22-2004, 11:35 AM
wize_one
Dragon
 
Join Date: Jan 2004
Location: LasShithole, NV
Posts: 520
Default zoneing crash useing mw_052_053_alpha2

after i sourced in mw_052_053_alpha2.sql and walk into a zone line, client hangs and zone server gives error something about start zone or zone id(had to wipe DB so dont have exact error handy) and trying to send player to arena, simple fix was to use static zones. looking at the db.sql source and the source from mw_052_053_alpha2.sql they are a little diffrent.

Quote:
from db.sql

CREATE TABLE start_zones (
x float NOT NULL default '0',
y float NOT NULL default '0',
z float NOT NULL default '0',
zone_id int(4) NOT NULL default '0',
player_deity int(4) NOT NULL default '0',
player_race int(4) NOT NULL default '0',
player_class int(2) NOT NULL default '0',
player_choice int(2) NOT NULL default '0'
) TYPE=MyISAM;

from mw_052_053_alpha2

CREATE TABLE start_zones (
x float NOT NULL default '0',
y float NOT NULL default '0',
z float NOT NULL default '0',
zone_id int(4) NOT NULL default '0',
bind_id int(4) NOT NULL default '0',
player_choice int(2) NOT NULL default '0',
player_class int(2) NOT NULL default '0',
player_deity int(4) NOT NULL default '0',
player_race int(4) NOT NULL default '0',
start_zone int(4) NOT NULL default '0'
) TYPE=MyISAM;
could the restructure of this table be causeing it?
Reply With Quote
  #2  
Old 01-22-2004, 05:36 PM
Lurker_005
Demi-God
 
Join Date: Jan 2002
Location: Tourist town USA
Posts: 1,671
Default

Not likely, the two extra fields and differance in order should not affect it.

But what version of EQEmu is that db.sql from?
__________________
Please read the forum rules and look at reacent messages before posting.
Reply With Quote
  #3  
Old 01-22-2004, 09:24 PM
wize_one
Dragon
 
Join Date: Jan 2004
Location: LasShithole, NV
Posts: 520
Default

the db.sql was from eqemu 0.5.2
Reply With Quote
  #4  
Old 01-22-2004, 11:38 PM
wize_one
Dragon
 
Join Date: Jan 2004
Location: LasShithole, NV
Posts: 520
Default

just sourced in mw_052_053_alpha2.sql again(no changes made to it)

did #zone qey2hh1 client locked up.

world.exe reports
Quote:
[Error] Zone not found in database zone_id=0, moveing char to arena character:testmonk
also getting(this is new with this resourceing)
Quote:
Unable to get group id: #1054: Unknown column 'groupid' in 'field list'
Reply With Quote
  #5  
Old 01-23-2004, 01:41 AM
screamingogre
Fire Beetle
 
Join Date: Jan 2004
Posts: 9
Default

For the zoneid not found issue, I had the same problem. But i determined it was due to a timing issue between zone.exe updating the database while world was trying to grab the data. I made a code fix (a DO while loop with an increment counter) around the DB call in client.cpp for the world executable and it solved the problem. I'll post my code here when I get back home later today.

For the groupID issue, go here for the fix.
http://www.eqemulator.net/forums/viewtopic.php?t=12310

On a side note I know some people are not having the zoneid issue while some are. I'm interested in knowing the system specs of the people who are having this issue. My theory is either slow machines or possibly even AMD chips might be the culprit.

**SO
Reply With Quote
  #6  
Old 01-23-2004, 11:29 AM
screamingogre
Fire Beetle
 
Join Date: Jan 2004
Posts: 9
Default Code fix for ZoneID issue

This is the fix I made to get rid of the ZoneID =0 error.

Add this to the Client.cpp file for the world compile. Under case OP_EnterWorld: // Enter world.

Replace the Current call "charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID);" with this


Code:
long LOCounter;
			do {
			    charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID);
				LOCounter++;
			}while ((zoneID == 0) && (LOCounter > 10000));
This will call the database until the ZoneID is not equal to 0 or the counter hits 10001. You may need to tweek the counter number for your server depending on how fast or slow it is.

**SO
Reply With Quote
  #7  
Old 01-23-2004, 09:05 PM
wize_one
Dragon
 
Join Date: Jan 2004
Location: LasShithole, NV
Posts: 520
Default

8( some of us dont have a compiler..8(
__________________
Perfect quote from another site: it's immature pricks who refuse to read the numerous stickies in every forum pointing out what to do and what not to do that get flamed. Grow up and learn to do your fucking homework before opening your cake hole, junior. EQEmu doesn't like you anymore, and that's why you're getting errors. So go away.
__________________
Reply With Quote
  #8  
Old 01-24-2004, 06:30 AM
Squiffy
Sarnak
 
Join Date: Oct 2002
Posts: 78
Default

Then there's not much you can do, unless you wait for the next version of EQEmu.
Reply With Quote
  #9  
Old 01-24-2004, 08:14 AM
wize_one
Dragon
 
Join Date: Jan 2004
Location: LasShithole, NV
Posts: 520
Default

can some kind soul with a compiler please post up a fixed version.

it's so hard to try and work on everything when you have to cntl-alt-del because the game has locked up.
__________________
Perfect quote from another site: it's immature pricks who refuse to read the numerous stickies in every forum pointing out what to do and what not to do that get flamed. Grow up and learn to do your fucking homework before opening your cake hole, junior. EQEmu doesn't like you anymore, and that's why you're getting errors. So go away.
__________________
Reply With Quote
  #10  
Old 01-24-2004, 09:03 AM
Cyril Gray
Fire Beetle
 
Join Date: Jan 2004
Posts: 4
Default

wize_one,

Have you looked into a free C++ compiler off of the Internet?

While I haven't tried compiling the source code on one, it may be worth a try.

Here is a link to one resource:

http://www.thefreecountry.com/compilers/cpp.shtml
__________________
- Cyril Gray
Reply With Quote
  #11  
Old 01-24-2004, 09:16 AM
Tertiary
Hill Giant
 
Join Date: Nov 2003
Posts: 192
Default

Quote:
Originally Posted by Cyril Gray
wize_one,

Have you looked into a free C++ compiler off of the Internet?

While I haven't tried compiling the source code on one, it may be worth a try.

Here is a link to one resource:

http://www.thefreecountry.com/compilers/cpp.shtml
Dev-C++ works, you could try my guide:

http://www.eqemulator.net/forums/viewtopic.php?t=12313

However, be aware that you won't get any official support with binaries compiled via this method, but I will try and help if you want to give it a try.
Reply With Quote
  #12  
Old 01-24-2004, 07:56 PM
flyonthewall
Fire Beetle
 
Join Date: Jan 2004
Posts: 21
Default

Quote:
Code:
long LOCounter; 
         do { 
             charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID); 
            LOCounter++; 
         }while ((zoneID == 0) && (LOCounter > 10000));
This is awsome bro, I have been having the problem of being booted from the zone and my client hanging quite often and this fixed it. (Even though im running a completly localserver with no lag so apparenty that error isnt based up speed of the server itself)

Did the run from South Qeynos to East Freeport to test it and it worked great, only hit a snag when zonning into West Freeport when I got the dreaded "SOE has detected that your EQ client crashed" thingy but that prob a totally different error.

Finnaly got into looking as to why i couldnt compile under VS6 and found out I had downloaded the wrong zlib files. Didnt know anything about programming but i really wanted to use this code and get that problem fixed so I spent some time and realized my mistake so now i can start implenting code from people that know code into my server so things are starting to look up!

/exhausted ON

Thanks again and again for this nifty quick fix to that prob!

P.S. also getting the group_id error but i got it evertime i zoned and no real issue so i not bothering with it. Now time to work on spawns and zone lines, safe points ect....
__________________
"If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside." Robert X. Cringely
Reply With Quote
  #13  
Old 02-08-2004, 05:34 AM
jbb
Hill Giant
 
Join Date: Mar 2003
Location: UK
Posts: 242
Default

This "fix" doesn't look right to me.,
At the very least you need to initialize the counter variable, and then I think the test is the wrong way round too...
Reply With Quote
  #14  
Old 02-08-2004, 08:16 AM
Monrezz's Avatar
Monrezz
Dragon
 
Join Date: Mar 2003
Location: #loc
Posts: 745
Default Re: Code fix for ZoneID issue

Quote:
Originally Posted by screamingogre
Code:
long LOCounter;
			do {
			    charid = database.GetCharacterInfo(char_name, &tmpaccid, &zoneID);
				LOCounter++;
			}while ((zoneID == 0) && (LOCounter > 10000));
This will call the database until the ZoneID is not equal to 0 or the counter hits 10001. You may need to tweek the counter number for your server depending on how fast or slow it is.
**SO
What values do you mean? Decrease it if you have more power, increase if your running on a less powerful system?
__________________

kRPG Profile
Reply With Quote
  #15  
Old 02-08-2004, 10:37 AM
farce
Hill Giant
 
Join Date: Feb 2003
Posts: 126
Default

no, the other way around... faster machines will complete the loop quicker.. and the value may still not be available.. so you'd increase it.
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 06:34 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