Description:
Baron Longshore cannot respawn after being killed.
Current behaviour:
Sometimes Baron Longshore cannot respawn after being killed. And there are some other creatures (especially quest creatures) have the same problem.
Expected behaviour:
Make the creature respawn after being killed.
Steps to reproduce the problem:
Branch(es):
3.3.5
TC rev. hash/commit:
ba20ca75f87ce8dc2896d6de73cfb712fa1481d2
Operating system: CentOS
Can you try to reproduce the issue with:
DELETE FROM `spawn_group` WHERE `spawnid` IN (84198,84199);
INSERT INTO `spawn_group` (`groupId`, `spawnType`, `spawnId`) VALUES
(2, 0, 84198), (2, 0, 84199);
UPDATE `creature` SET `spawntimesecs`=300 WHERE `guid`=15066 AND `id`=3467;
The npc has a pooling with 3 spawns, and only GUID: 15066 in SPAWNGROUP_FLAG_COMPATIBILITY_MODE
The npc could not respawn if the spawn that was killed is chosen to repawns, we already have an issue for that.
We need just to know if with this sql you still get the log error or not.
Ok thx, will try it asap.
Can you try to reproduce the issue with:
DELETE FROM `spawn_group` WHERE `spawnid` IN (84198,84199); INSERT INTO `spawn_group` (`groupId`, `spawnType`, `spawnId`) VALUES (2, 0, 84198), (2, 0, 84199); UPDATE `creature` SET `spawntimesecs`=300 WHERE `guid`=15066 AND `id`=3467;The npc has a pooling with 3 spawns, and only GUID: 15066 in SPAWNGROUP_FLAG_COMPATIBILITY_MODE
The npc could not respawn if the spawn that was killed is chosen to repawns, we already have an issue for that.
We need just to know if with this sql you still get the log error or not.
Hey Kill, are the guids in table _creature_ and the spawnIds in table _spawn_group_ the same one?
Yes spawnId =guid
Yes
spawnId=guid
I found many rare Elite having more than one guid in _creature_ , but those guids are not in _spawn_group_. when a character appear near their spawnpoints, the worldserver will give a bug report like this: Creature (GUID: XXXX Entry:XXXX) in wrong state: DEAD (3).
And the GUIDS in report cannot match the Entries as what shows in DB table _creature_.
Do you have an example where the GUID doesn't match Entries in the DB ?
Do you have an example where the GUID doesn't match Entries in the DB ?
e.g. Creature (GUID: 16316 Entry: 14488) in wrong state: DEAD (3)
There is no row in _creature_ whose GUID is 16316 and Entry is 14488. In _creature_ id=14488 has followed guids: 134222, 134223, 134224, 134225, 134226, 134227 but no 16316.
Another example is for the above Baron Longshore: Creature (GUID: 22454 Entry: 3467) in wrong state: DEAD (3). GUID:22454 cannot match a Entry:3467 in table _creature_. And I checked the _spawn_group_ before executing your query. I found there are no spawnid: 84198,84199 in _spawn_group_.
btw. when I use command like go. c id 14488, the worldserver always give me a hex GUID, like this : Command: go c id 14488 [Player: 技术 (GUID Full: 0x000000000000003f Type: Player Low: 63) (Account: 36) X: -558.538147 Y: -591.482117 Z: 41.097607 Map: 0 (东部王 国) Area: 267 (希尔斯布莱德丘陵) Zone: Unknown Selected: Starving Mountain Lion (GUID Full: 0xf1300009500020f6 Type: Creature Entry: 2384 Low: 8438)]
I am not a programmer, so maybe what I said is not pro.
I didn't notice it before but in your first log also guid and entry doesn't match
Creature (GUID: 22454 Entry: 3467) in wrong state: DEAD (3)
I need to reproduce it locally, because it's really weird
I didn't notice it before but in your first log also guid and entry doesn't match
Creature (GUID: 22454 Entry: 3467) in wrong state: DEAD (3)
yes. Ok thx a lot!
Can you try to reproduce the issue with:
DELETE FROM `spawn_group` WHERE `spawnid` IN (84198,84199); INSERT INTO `spawn_group` (`groupId`, `spawnType`, `spawnId`) VALUES (2, 0, 84198), (2, 0, 84199); UPDATE `creature` SET `spawntimesecs`=300 WHERE `guid`=15066 AND `id`=3467;The npc has a pooling with 3 spawns, and only GUID: 15066 in SPAWNGROUP_FLAG_COMPATIBILITY_MODE
The npc could not respawn if the spawn that was killed is chosen to repawns, we already have an issue for that.
We need just to know if with this sql you still get the log error or not.
I tried your query, and there is no log error anymore and Baron can respawn normally Thx a lot.
Forgive me for being a bit slow to see the full context; this means that TDB 335 needs this added because the problem exists on clean DB?
Forgive me for being a bit slow to see the full context; this means that TDB 335 needs this added because the problem exists on clean DB?
For my server, yes, the TDB335 0519 lacks some rows in table _spawn_group_.
What do you mean the table spawn_group lacks some rows ?
What do you mean the table spawn_group lacks some rows ?
I drop the DB _world_ and recreate it with TDB335.19051 to check _spawn_group_ again. Just like the Baron Longshore, his guids in table _creature_ are 15066, 84198, 84199, but there is only 15066 in table _spawn_group_. Maybe I misunderstand the structure of the DB? Guids 15066, 84198 and 84199 can link each other with a same pool_entry in table _pool_creature_. So, 84198 and 84199 don't need to appear in table _spawn_group_ ?
No, having 84198 and 84199 missing from spawn_group cannot cause such issue, I tried to reproduce this issue, but no clue.
The respawn Bug is still present
Ps: But it doesn't always happen.
when the server is restarted it works for a while with the respawn
TrinityCore rev. a6a2311b1555 2020-03-08 15:44:08 +0100 (3.3.5 branch) (Win64
Of course it cannot respawn if the same pooled spawn is selected to respawn: https://github.com/TrinityCore/TrinityCore/issues/21331
OMG its generel a Pool Bug
I hope that the evil bug will be fixed.
Thx for your fast answer :+1:
Most helpful comment
Of course it cannot respawn if the same pooled spawn is selected to respawn: https://github.com/TrinityCore/TrinityCore/issues/21331