Grasscutters / Grasscutter

A server software reimplementation for a certain anime game.
https://grasscutter.io/
GNU Affero General Public License v3.0
16.29k stars 4.48k forks source link

[Bug] Random character deaths #2204

Open ghost opened 1 year ago

ghost commented 1 year ago

Posted in the server's development channel by XereniX:

This issue with Faruzan dying after using Elemental Burst is not exclusive to Faruzan herself It also happens in following situations: -Unleashing Yae Miko's Elemental Burst if any turrets are active (which means destroying turrets) -Unleashing Gorou's Elemental Burst while General's War Banner (skill) is active (which means destroying the banner) -Spawning new Albedo's flower while there is already one active -The exact moment Faruzan's Elemental Burst duration expires (the moment Dazzling Polyhedron disappears)

ImperadorSid commented 1 year ago

The same occurs to me when Kaveh explodes Dendro Cores using his Elemental Skill

KingRainbow44 commented 1 year ago

these are normal things with the new ability system, the issues are mostly resource-related

ghost commented 1 year ago

these are normal things with the new ability system

Characters randomly dying should not be considered normal.

the issues are mostly resource-related

Patching resources that were extracted from the game client is not a good idea unless there's something very bad with them, like missing important data or being unreadable. I don't think any other private servers have had the same issue with the same resources. Whatever happened to the activity handler that causes this is definitely a bug with GC itself.

KingRainbow44 commented 1 year ago

Patching resources that were extracted from the game client is not a good idea

i was more referencing the changes for KillSelf

Whatever happened to the activity handler

how are these related to the activity handler?

ghost commented 1 year ago

how are these related to the activity handler?

I meant ability system, my bad.

i was more referencing the changes for KillSelf

I don't know what this means.

KingRainbow44 commented 1 year ago

I don't know what this means.

the cause of the random avatar deaths is the KillSelf ability action handler, which is usually meant to be invoked on the gadgets which abilities spawn. the current resources have KillSelf over a previous action which killed the spawned gadget, making this a "resources issue"

ghost commented 1 year ago

Oh, I see. Thanks for the information.

scooterboo commented 1 year ago

I had a similar problem in https://github.com/Grasscutters/Grasscutter/pull/2163 where some code was killing config.id 0 in a scene, which happens to be the player.

scooterboo commented 1 year ago

A stack trace on the kill code (in player.java)? Might find where and why the player is being killed.

StartForKiller commented 1 year ago

Okey, i pushed a fix for KillSelf a few hours ago, when magix merge it to developemtnt this should be fixed, but we need testing, because i'm working on 3.2

KingRainbow44 commented 1 year ago

can anyone confirm these bugs still occur?

BurningFlareX commented 1 year ago

I can confirm this issue is back in 4.0 and worse than ever.

My Layla randomly died while off-field and I can't even revive her. No revive sources work, including statue of the 7, food or /heal command.

Do not play without Godmode on right now.

StartForKiller commented 1 year ago

I can confirm this issue is back in 4.0 and worse than ever.

My Layla randomly died while off-field and I can't even revive her. No revive sources work, including statue of the 7, food or /heal command.

Do not play without Godmode on right now.

Probably it's a resource problem. Make sure you have your resources set up correctly for 4.0. And maybe the ability resources are incorrect for this version and needs to be fixed manually.

BurningFlareX commented 1 year ago

i downloaded the all-in-one install from Cultivation and didn't touch anything else afterwards.

scooterboo commented 1 year ago

If you do a /pos in the location it happens, I might be able to help you. Error codes would be nice too.