Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bug Reports

Development::Bug Reports Post detailed bug reports and what you would like to see next in the emu here.

Reply
 
Thread Tools Display Modes
  #1  
Old 08-31-2007, 05:58 PM
sonicintuition
Hill Giant
 
Join Date: Jan 2005
Posts: 124
Default NPCSPAWN command ..broken?

Hello,

I think the NPCSPAWN command might be broken. Using build 1035, myself and others noticed that #npcspawn add doesn't do anything ...the chat window reports that it does, but it doesn't add NPC's to the database ...any info on this?

Kind Regards
Sonic
Reply With Quote
  #2  
Old 09-01-2007, 02:09 PM
GeorgeS
Forum Guide
 
Join Date: Sep 2003
Location: California
Posts: 1,475
Default

I would suggest you check in your database, the last npc_id used. If' it's over 100K I think then that's the problem. JMO

try - SELECT MAX(id) FROM NPC_TYPES

GeorgeS
__________________
Your source for EQ database tools
Toolshop is open for business


http://www.georgestools.chrsschb.com//
Reply With Quote
  #3  
Old 09-02-2007, 01:42 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I think we figured out the problem on our server tonight with #npcspawn add.

If the mob we're adding has 2 names "a_Ghost", it works.

If it has 3 names "a_Spectral_Ghost", it does not.

Our workaround was to change the names til spawning is done, then rename the base npcs.
Reply With Quote
  #4  
Old 09-04-2007, 01:48 PM
gernblan
Discordant
 
Join Date: Aug 2006
Posts: 394
Default

That may be true, but it's something else as well.

npcspawn only seems to work "part of the time" -- sometimes the new mob gets added or created, sometimes not.

For instance, say I create 10 new mobs, I zone out, only 3 may be there when I zone back. It seems random.

Add, same thing. Say I add 20 mobs based off of a dbspawn, when I zone back after the zone shutdown, not all will be there. Sometimes 1 or 2.
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast
Reply With Quote
  #5  
Old 09-04-2007, 02:20 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I noticed the same thing trying to add mobs in cshome to test some disciplines on. I tried to create 6 mobs, all identical except for level, and 1 had a different name. When I restarted the zone, only 1 had popped. The 3 name theory is debunked on my end at least, 5 of the mobs had 3 names and as I said 1 of them did pop. A single mob with 2 names (keeping this thread in mind) did not pop.
Reply With Quote
  #6  
Old 09-04-2007, 06:35 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I think it's working for us mostly now. I'll have to ask my content masters. Cavedude, you are right - there could have been that one other odd bit of data that caused them to not insert. If I can find the patience, I'll see if I can fire up some logging and maybe catch a DB insert error...
Reply With Quote
  #7  
Old 09-05-2007, 08:03 PM
sonicintuition
Hill Giant
 
Join Date: Jan 2005
Posts: 124
Default

Something else I noticed which kind of falls into this category - Sometimes zones don't pop all the mobs that are in the database - whether using the npcspawn command or not. I start my server, log in, go to my zone, and a few of the NPC's aren't even there, but they show up when I repop the zone. Sometimes I have to repop 2 or 3 times before all my npc's show up.

Sonic
Reply With Quote
  #8  
Old 09-06-2007, 04:22 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I'm sure you've checked `spawnentry`s for that zone, the "chance" factor? 100 is what it needs to be for a 100% spawn chance. The worst thing I've seen with spawning is the mobs/pets that appear at the safe coords, but I think they are now warping back to where they belong after a bit. Odd.
Reply With Quote
  #9  
Old 09-06-2007, 07:57 PM
sonicintuition
Hill Giant
 
Join Date: Jan 2005
Posts: 124
Default

Yes, I did check that - 100% chance on everything. It seems that every time I #repop, an NPC is missing. I'll #repop again, and he/she will be back, but then a different NPC is missing. And so the cycle repeats, over and over ..while I bash my head against the keyboard. Ugh!!
Reply With Quote
  #10  
Old 09-08-2007, 06:26 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

You are not nuts, sonic. I too saw this happen just today myself with a new boss I created. Upon zone startup (zone in), nothing was in place - then a #repop caused him to appear. Subsequent repopping over and over caused him to always appear, so I don't know what's going on. Maybe new spawns only are effected?

Has to be something in the "chance" code check. Or maybe even a timeout trying to fetch the data... shrug. Let us know when you fix it. ~grin~
Reply With Quote
  #11  
Old 09-18-2007, 02:31 AM
soulshot
Hill Giant
 
Join Date: Jun 2006
Posts: 142
Default

<bump>

Testing this out last night.

Mobs with names like killer_mob have a somewhat random chance of actually taking place in the database. I had killer_mob000 - killer_mob004 spawned and added into the database, brought the zone down and came back to 1 spawn. Respawned the same mobs again.. and they still took on the killer_mob001 - killer_mob004 profiles like they had never existed. Again I let the zone shut down and came back - no new mobs.

Went into the database and changed the name of the mob to KillerMob... went back into the game - my original killer_mob had changed to KillerMob of course, so I went about #dbspawning/adding the area just as I had before and EVERY MOB STAYED. Woohoo! So I don't know if something got broken in the latest builds but thats the only work around I can use for the moment.

-Mard
Reply With Quote
  #12  
Old 10-17-2007, 02:52 PM
gernblan
Discordant
 
Join Date: Aug 2006
Posts: 394
Default

I figured this out.. it's because the spawngroup names in your DB are getting longer and longer and are exceeding 30 characters (which is what the field is defined as).

I am NOT sure what changing the field itself would do to the emu.. but it does seem that some are running up against this with long mob names in long named zones.

I changed mine to varchar(50) and I get no more add or create errors and my mobs always stay, but this DOES seem to be affecting performance in a big way.

Can anyone more knowledgeable than me chime in on this please and perhaps suggest a solution now that I have at least defined the problem?

For example... here's one in my DB now...

growthplanea_serene_forest_spirit02654599733

That is longer than 30 chars obviously. And when I try to #npcspawn add another one in game, I get a server error messages in my logs that the query failed. So the spawn did not get added.
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast

Last edited by gernblan; 10-17-2007 at 10:55 PM..
Reply With Quote
  #13  
Old 10-20-2007, 06:38 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

I am not sure changing the varchar(30) to varchar(50) should effect performance (or it shouldn't really). I'd also guess the Emu doesn't really care what the name of the group is for anything important. spawngroup.name is supposed to only be a friendly name field, yes? The only place I really see it used is during the insert. I thought everything went off the spawngroupid?

But you could be onto something with truncating the name, and attempting to insert duplicate spawngroup.name data. Cuz "name" is Unique.
Reply With Quote
  #14  
Old 10-20-2007, 08:44 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

Quote:
Originally Posted by John Adams View Post
But you could be onto something with truncating the name, and attempting to insert duplicate spawngroup.name data. Cuz "name" is Unique.
I just encountered this same thing yesterday. The spawngroup wouldn't create because the spawngroup name was too long so identical names could not be created, only the first worked. Shortening the NPC's name, creating my groups, then changing it back worked perfectly.

Changing the column is a viable solution and it won't cause issues from a technical standpoint. But, that begs do the question do you really want names that long? Heh.
Reply With Quote
  #15  
Old 10-22-2007, 03:44 AM
gernblan
Discordant
 
Join Date: Aug 2006
Posts: 394
Default

Quote:
Originally Posted by John Adams View Post
I am not sure changing the varchar(30) to varchar(50) should effect performance (or it shouldn't really). I'd also guess the Emu doesn't really care what the name of the group is for anything important. spawngroup.name is supposed to only be a friendly name field, yes? The only place I really see it used is during the insert. I thought everything went off the spawngroupid?

But you could be onto something with truncating the name, and attempting to insert duplicate spawngroup.name data. Cuz "name" is Unique.
Well yes but if the insert fails because of the field length, it doesn't get in at all.

Thus, the mobs not showing up later.

So the emu may not care in practice what the name is when reading it... but it sure does care when creating the record in the first place.

Hence changing it to varchar(50).

It does solve thr problem.

And no I do not want the names that long, but what else can I do without adding a bunch of extra (tedious) steps?
__________________
--
Keelyeh
Owner, ServerOp and Developer
Jest 4 Server
Linux (Jest3 runs on Fedora, our Dev servers usually run on Ubuntu and/or Gentoo), OC-12 Connection = Hella Fast
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 09:10 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