Player died, other player looted the bones in less than 15 minutes #3082
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#3082
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From first glance, Koolk7474mine died from fall damage near the Battle Royale Arena. Only seconds after the bones were created, player zanezand got hold of the items.
Parts of the death:
What's this?
The log says Koolk7474mine went to the priest and took the items from the bones.
How did the items then end up with zanezand? zanezand is a new player, nothing in the log indicates where he would have gotten those items from. Still, he suddenly "had" them. He took them from the bones, which were generated two seconds earlier. But how? They should have been "fresh" ?
I tried to kill Boris at the location and grab the bones contents with Violetta. No chance.
did the items get duped?
now, for things to get even weirder: here's what the rollback logs say (times are in UTC)
according to this, Koolk7474 removed bones from that spot almost 26 days ago, and not sooner. and 2 other players removed bones from that spot as well, before zanezand came along.
what???
that's an artifact of the fix for #720. here it means they got their hp reset to 20. it probably doesn't need to be logged.
i reviewed the bones logic, and there was an error which would result in the bones becoming "old" whenever the timer triggers, no matter how much time has elapsed. i'm not sure why a timer would trigger early though.
i've reworked the logic so that the bones only become old when wall-time says they should:
9cd73daa90
also, bones now log when they become old, in case there's some other issue going on here which allowed a player to loot another's fresh bones.
hm. to QA test this, the following snippet will help:
before this fix, this will cause a fresh bones node to become old immediately. now, it will reset the timer and continue waiting.
Apparently we're on some outdated bones branch. We should switch to flux' bones mod: https://github.com/fluxionary/minetest-bones_redo
Unfortunately there is already a yl_stable branch, so we can't add our own.
This makes the bones near-instantly old on the testserver. We're on https://gitea.your-land.de/your-land/minetest-bones_redo.git commit 05f96940000ad5fe994f93bb8e8ba2b6a5cfbc3d of origin/yl_stable
If you're right and this is a surefire way to prove the issue is still there, then the Issue is NOK. Otherwise I'd say we need to wait for the issue happening again on main.
whoops, removed that
yeah, we probably need to switch to use my repo as the new upstream. i think the current situation is a result of me trying to push changes from my repo directly into yl_stable on gitea at some point in the past.
We switched to https://github.com/fluxionary/minetest-bones_redo as upstream :)