PDA

View Full Version : Loading spawn groups failed


narcberry
02-09-2007, 11:31 AM
My error comes when a sleeping zone tries to activate when someone enters the world. What information I can find on these and other forums either dont apply or are still awaiting a solution.

On the server I start things by:
1)running my start script as defined here (http://www.eqemulator.net/wiki/wikka.php?wakka=LinuxServer) (scroll to very bottom)
2) I still have to manually start zones by:
./zone . myIP 192.168.0.5
which starts without error.

On my client I try to play by:
1)connecting to my server via normal login server at eqemulator.net
2)create character (success)
3)enter world
Error generated in client:
zone is not available

My server shows:
[Status] Booting cabeast
Map header: 44303 faces, 648 nodes, 62493 facelists
Loaded map: 132909 vertices, 44303 faces
Map BB: (-1161.53 -> 573.78, -741.72 -> 1377.44, -129.94 -> 167.94)
Map ./Maps/cabeast.map loaded.
Path File ./Maps/cabeast.path not found.
[Status] Weather should change in 3664 seconds
[Status] Loading spawn conditions...
[Status] Loading static zone points...
[Status] Loading spawn groups...
Error3 in PopulateZoneLists query 'SELECT spawnentry.spawngroupID, npcid, chance, spawnentry.spawn_limit AS gsl, npc_types.spawn_limit AS sl FROM spawnentry, spawn2 LEFT JOIN npc_types ON spawnentry.npcID = npc_types.id WHERE spawnentry.spawngroupID=spawn2.spawngroupID AND zone='cabeast' ORDER by chance' #1054: Unknown column 'spawnentry.spawn_limit' in 'field list'
[Error] Starting Log: logs/eqemu_error_zone.log
[Error] Loading spawn groups failed.
Zone->Init failed

Im running a Ubuntu server, with a successful install on everything except a partial Maps directory. I do have the map file for east cabilis.
EQEmu 0.7.0
PEQ luclin database and quests

The only information I can gather that seems relevant/useful is that others have gotten this error from binaries that arent compatable with their database. However, I selected source code and a database that are rumored to be the most compliant with each other at the present.


My understanding of how to run eqemu is based off of tens of documents written by different authors at different times. Please correct any errors you think I may have made.

krusher
02-09-2007, 02:14 PM
Your missing a column in the database table spawnentry called spawnlimit.

narcberry
02-09-2007, 05:59 PM
Can I just blindly add the column? Or does there need to be data to populate it with?

Thanks for the help.

narcberry
02-09-2007, 06:30 PM
I went ahead and added the column with default data ('0' as per the schema)

ALTER TABLE spawnentry ADD COLUMN spawn_limit tinyint(4) NOT NULL DEFAULT '0';

It took care of the error but I get a new error that seemed to be the same problem revisited:

Error3 in PopulateZoneLists query 'SELECT spawnentry.spawngroupID, npcid, chance, spawnentry.spawn_limit AS gsl, npc_types.spawn_limit AS sl FROM spawnentry, spawn2 LEFT JOIN npc_types ON spawnentry.npcID = npc_types.id WHERE spawnentry.spawngroupID=spawn2.spawngroupID AND zone='cabeast' ORDER by chance' #1054: Unknown column 'spawnentry.npcID' in 'on clause'

So I went ahead and tried to add that column too:

ALTER TABLE spawnentry ADD COLUMN npcID int(11) NOT NULL DEFAULT '0';
ERROR 1060 (42S21): Duplicate column name 'npcID'

I dont understand why it reports an unknown column when it exists... or why there are multiple database errors with a fresh install.

narcberry
02-09-2007, 07:10 PM
Actually this last error is related to a parsing bug in newer versions of mysql. The bug is intentional but it isnt backwards compatable with, oh say, this sql statement.

more info here. (http://bugs.mysql.com/bug.php?id=13551)

WildcardX
02-10-2007, 05:08 AM
A couple things about this error.

1. What version of EQEMu are you running? The latest build of EQEMu, EQEmu-0.7.0-965, has the following sql query for PopulateZoneLists:


MakeAnyLenString(&query, "SELECT id, spawngroupID, x, y, z, heading, respawntime, variance, pathgrid, timeleft, _condition, cond_value FROM spawn2 WHERE zone='%s'", zone_name);


Obviously this query does not match the one your log shows so I have to believe you are running an older version of EQEmu, right?

2. Its not the Spawnentry table that has the 'spawn_limit' column... its Spawngroup table. Well atleast that is how it is now and has been for some time for PEQ database anyway. Again, you must have an older version of EQEmu.

narcberry
02-10-2007, 07:35 AM
Im using version EQEmu-0.7.0, since its the latest stable release. I added the column with the sql command above and it works fine now, although its all default data.

Do most people use newer builds without problems? If so, I would like to as well. I stayed up most of last night making the current build mysql5 compatable and Im worried that was a big waste of time.

edit: and as of late last night, my server is up and mostly working.

WildcardX
02-10-2007, 08:28 AM
Its up to you.. none of the builds are guaranteed at all to be "stable" or whatever other terms you want to toss around. With that said, a lot of people run on the bleeding edge. If you are already having problems with what you have now, then you likely have little to loose.

Sorry to hear to you probably did waste a lot of time last night fixing items that are already fixed in the latest release :-)

WildcardX
02-10-2007, 08:31 AM
at the very least, if you are going to run the last "official" release, then you should probably not use MySQL 5.0. However, if you really do want to use MySQL 5.0, then you should use the latest build available and make sure your database is current to all the database structure changes that have taken place since..

narcberry
02-10-2007, 10:08 AM
Thanks for the help.

Angelox
02-10-2007, 12:30 PM
Any of the DB will run with MySql 5x.
Probably the most important and only thing you need to know for MySql5 is this line;
SET PASSWORD FOR eq@localhost = OLD_PASSWORD('eq');
For now, my DB is up to date with all SQL fixes, you can download it at my web.