Sphereserver / Source-X

Ultima Online server emulator
Apache License 2.0
58 stars 47 forks source link

BRAIN BERSEK + sleep mode cause server fail #467

Closed Jhobean closed 3 years ago

Jhobean commented 4 years ago

EDIT: Channge the name of issue since i'm sur it's caused by bersek brain.

I have a recurrent bug on my console: ITEM go UP continu infinitely

10:05:WARNING:1225 items at 2622,2178,2. Sector too complex!
10:05:WARNING:1226 items at 2623,2177,2. Sector too complex!
10:05:WARNING:1227 items at 2622,2177,2. Sector too complex!

I found the half of the bug.

At this position, I have NPC with brain bersek hitting an other NPC. When I port on the position, I see this image with all of blood:

image

Instantely all blood dissapear and no more error on console. Look like the blood appear and never decay. I'm not able to confirm it, but it seem appear when sector sleep.

I'm not able reproduce on vanilla.

Theorie: All sleep on the sector except the bersek NPC? Probably because he came from an awake sector.

GitMadKing commented 4 years ago

are you using latest release? this may have been resolved in c97a6bf0f912acd9ad78eabff2e974ecfbad9fa6

Jhobean commented 4 years ago

Yes. And its very intermitent.. it do not happen every time.. i dont know how to test anymore.

Jhobean commented 4 years ago

08:55:WARNING:24808 items at 1343,1844. Sector too complex!

Lol 24808 Blood item

Jhobean commented 4 years ago

I may have a theory... Every time this happen, there is a brain berserk involved. I notice that brain berserk do not respect the tile distance to their home. He go freely where he want. Maybe, the npc walk to a sleeping sector and hit sleeping npc... They cant defend themself and never die.... When I teleport, the npc just die in my face and sometime the attacker are already leaved.

Probably the npc "freeze" when the sector go sleep. If new npc(bersek) come in.. he stay freeze and get hit illimited.

Jhobean commented 4 years ago

I have an other situation where this bug occur. I habe an npc with a memory. The memory is a timer of 5 sec. Each time the timer go to 0 , blades appear 1 sec near npc and dissspear... Whem the sector sleep, these item apear but never dissapear.... So same problem. Sector too complex until a player wake this sector.

Jhobean commented 3 years ago

The problem was 1- Sector do not sleep if a player disconnect on it (already fix) 2- Npc having his feet on active sector was able to hit an sleeping npc on adjacent sector Fix in this https://github.com/Sphereserver/Source-X/commit/3d5e06168f34cfc0d2fcfcde2ba7628a647851f9)