bluattire reports: Was on a ladder in a 1x1 shaft ... #936

Closed
opened 2021-10-18 10:54:46 +00:00 by yourland-report · 9 comments

bluattire reports a bug:

Was on a ladder in a 1x1 shaft. seemingly the bones couldn't spawn because there was no where for them to spawn.

Player position:

{
	y = 73.5,
	x = 1537.8000488281,
	z = -4915.708984375
}

Player look:

{
	y = -0.39842891693115,
	x = -0.29376259446144,
	z = -0.86888313293457
}

Player information:

{
	min_rtt = 0.25200000405312,
	max_rtt = 32.705001831055,
	connection_uptime = 7335,
	max_jitter = 29.760997772217,
	minor = 4,
	major = 5,
	ip_version = 6,
	formspec_version = 4,
	patch = 1,
	protocol_version = 39,
	serialization_version = 28,
	lang_code = "",
	version_string = "5.4.1",
	avg_rtt = 0.26199999451637,
	state = "Active",
	avg_jitter = 0.020999997854233,
	min_jitter = 0
}

Player meta:

{
	fields = {
		["3d_armor_inventory"] = "return {\"petz:pumpkin_hood 1 700\", \"3d_armor:boots_crystal 1 350\", \"shields:shield_steel 1 23280\", \"3d_armor:leggings_steel 1 15800\", \"\", \"\"}",
		played_time = "807639",
		jointime = "1624263360",
		yl_commons_player_joined = "1634547178",
		["signslib:pos"] = "(3116,70,-7248)",
		digged_nodes = "159014",
		bitten = "0",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		partychat = "party",
		yl_church = "return {[\"last_death\"] = {[\"y\"] = 28872, [\"x\"] = 1950, [\"z\"] = 1572}, [\"last_heal\"] = 1631095987, [\"last_death_portal\"] = 1634551834}",
		["stamina:level"] = "16.925",
		xp = "196840",
		arenalib_infobox_arenaID = "0",
		inflicted_damage = "117580",
		crafted = "774",
		yl_commons_thankyou = "3",
		placed_nodes = "138268",
		punch_count = "9269",
		died = "61",
		hud_state = "on",
		repellant = "0",
		yl_commons_player_created = "1624263360"
	}
}

Log identifier


[MOD] yl_report log identifier = LZH7Fy5KLuZ0WRuH19FnzMok7kDXDYV8

Profiler save:

profile-20211018T125445.json_pretty

Status:

# Server: version=5.4.1-yl, uptime=46200.2, max_lag=15.0963, clients={Flippster, Ally, ding, Arabella, bluattire, UltimateNoob, Pecka, child, hika272, _DRAGON_, FrostRanger, flux, Bailiff, AliasAlreadyTaken, wishingirl, Service}

Teleport command:

/teleport xyz 1538 74 -4916

Compass command:

/give_compass Construction LZH7Fy5KLuZ0WRuH19FnzMok7kDXDYV8 D2691E 1538 74 -4916
bluattire reports a bug: > Was on a ladder in a 1x1 shaft. seemingly the bones couldn't spawn because there was no where for them to spawn. Player position: ``` { y = 73.5, x = 1537.8000488281, z = -4915.708984375 } ``` Player look: ``` { y = -0.39842891693115, x = -0.29376259446144, z = -0.86888313293457 } ``` Player information: ``` { min_rtt = 0.25200000405312, max_rtt = 32.705001831055, connection_uptime = 7335, max_jitter = 29.760997772217, minor = 4, major = 5, ip_version = 6, formspec_version = 4, patch = 1, protocol_version = 39, serialization_version = 28, lang_code = "", version_string = "5.4.1", avg_rtt = 0.26199999451637, state = "Active", avg_jitter = 0.020999997854233, min_jitter = 0 } ``` Player meta: ``` { fields = { ["3d_armor_inventory"] = "return {\"petz:pumpkin_hood 1 700\", \"3d_armor:boots_crystal 1 350\", \"shields:shield_steel 1 23280\", \"3d_armor:leggings_steel 1 15800\", \"\", \"\"}", played_time = "807639", jointime = "1624263360", yl_commons_player_joined = "1634547178", ["signslib:pos"] = "(3116,70,-7248)", digged_nodes = "159014", bitten = "0", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", partychat = "party", yl_church = "return {[\"last_death\"] = {[\"y\"] = 28872, [\"x\"] = 1950, [\"z\"] = 1572}, [\"last_heal\"] = 1631095987, [\"last_death_portal\"] = 1634551834}", ["stamina:level"] = "16.925", xp = "196840", arenalib_infobox_arenaID = "0", inflicted_damage = "117580", crafted = "774", yl_commons_thankyou = "3", placed_nodes = "138268", punch_count = "9269", died = "61", hud_state = "on", repellant = "0", yl_commons_player_created = "1624263360" } } ``` Log identifier ``` [MOD] yl_report log identifier = LZH7Fy5KLuZ0WRuH19FnzMok7kDXDYV8 ``` Profiler save: ``` profile-20211018T125445.json_pretty ``` Status: ``` # Server: version=5.4.1-yl, uptime=46200.2, max_lag=15.0963, clients={Flippster, Ally, ding, Arabella, bluattire, UltimateNoob, Pecka, child, hika272, _DRAGON_, FrostRanger, flux, Bailiff, AliasAlreadyTaken, wishingirl, Service} ``` Teleport command: ``` /teleport xyz 1538 74 -4916 ``` Compass command: ``` /give_compass Construction LZH7Fy5KLuZ0WRuH19FnzMok7kDXDYV8 D2691E 1538 74 -4916 ```
AliasAlreadyTaken was assigned by yourland-report 2021-10-18 10:54:46 +00:00
AliasAlreadyTaken added the
1. kind/bug
label 2021-10-25 16:19:17 +00:00
Styxcolor added this to the (deleted) project 2022-01-02 11:53:28 +00:00
Owner

Isn't that a known problem that could only be fixed upstream?

Isn't that a known problem that could only be fixed upstream?
Member

it's a know problem, but is unlikely to be fixed upstream, because the bones mod from minetest_game can't know about things like ladders, and shouldn't be expected to.

it could present some sort of API for extending the circumstance for storing a bones block, e.g. replacing a ladder node with a bones node. that'd be better than the current situation.

i feel that the proper solution, should be that if bones can't be stored physically in the world, that the game provides you with an alternative way to recover them. i don't have a great solution to that, but perhaps your stuff could be given back to you if you re-visit the area where you died. or perhaps, you could "summon" your bones to a specific location, in exchange for some sort of payment, like what the priest already does.

it's a know problem, but is unlikely to be fixed upstream, because the bones mod from minetest_game can't know about things like ladders, and shouldn't be expected to. it *could* present some sort of API for extending the circumstance for storing a bones block, e.g. replacing a ladder node with a bones node. that'd be better than the current situation. i feel that the proper solution, should be that if bones can't be stored physically in the world, that the game provides you with an alternative way to recover them. i don't have a great solution to that, but perhaps your stuff could be given back to you if you re-visit the area where you died. or perhaps, you could "summon" your bones to a specific location, in exchange for some sort of payment, like what the priest already does.

Maybe we should not make a bones BLOCK, but a bones entity. Why not have some evil twin of you, with same equipment, weapons, ... when you died. And you need to fight it to get your stuff back?

Problem is, that in a 1x1 mineshaft, such a fight will be even more cumbersome than a bones block. And after you defeated your evil twin and your previous inventory drops, we're back where we started: The stuff will fall down the mineshaft.

One solution is to tell people not to make 1x1 mineshafts, for various reasons. Death is usually not planned, but happens.

Another is to make a bones entity, that holds all your gear and which releases your gear directly to your inv again.

We can't have bones blocks replace anything. Imagine a bones blokc replacing not a stone or a ladder, but your one and only electrum block.

Maybe we should not make a bones BLOCK, but a bones entity. Why not have some evil twin of you, with same equipment, weapons, ... when you died. And you need to fight it to get your stuff back? Problem is, that in a 1x1 mineshaft, such a fight will be even more cumbersome than a bones block. And after you defeated your evil twin and your previous inventory drops, we're back where we started: The stuff will fall down the mineshaft. One solution is to tell people not to make 1x1 mineshafts, for various reasons. Death is usually not planned, but happens. Another is to make a bones entity, that holds all your gear and which releases your gear directly to your inv again. We can't have bones blocks replace anything. Imagine a bones blokc replacing not a stone or a ladder, but your one and only electrum block.
Member

a bones entity could easily be lost due to "too many entities in the mapblock", i wouldn't consider such a thing more reliable.

i feel like just providing a whitelist of nodes it can replace would be a huge improvement, and not hard to do. then again, replacing anything other than air could be used to grief something, in some edge case.

i've got an idea, i suppose.

  1. place a bones block if possible
  2. if not possible, place an entity.
    2.A. however, the game would need to occasionally need to check and ensure that if the entity disappears, it re-appears.
    2.B. because there's no synchronization, we also need to make sure that the entity can only have each item in it collected only once.
a bones entity could easily be lost due to "too many entities in the mapblock", i wouldn't consider such a thing more reliable. i feel like just providing a whitelist of nodes it can replace would be a huge improvement, and not hard to do. then again, replacing anything other than air could be used to grief something, in some edge case. i've got an idea, i suppose. 1. place a bones block if possible 2. if not possible, place an entity. 2.A. however, the game would need to occasionally need to check and ensure that if the entity disappears, it re-appears. 2.B. because there's no synchronization, we also need to make sure that the entity can only have each item in it collected only once.
Member

i also think the "pay the priest to summon your lost bones" thing would be the coolest option =D

i also think the "pay the priest to summon your lost bones" thing would be the coolest option =D

There is already some mechanic to determien whether bones can be placed or not. Taka a look at their "may_replace" function.

However I do not want the bones replace any other than air or flowing liquid. Except there are other blocks we can replace without regret. Making this mechanic open to abuse and griefing is out of the question, even if that means we can't have fancy bones. Griefing is way worse.

Pay the priest to summon your bones would most likely make death portals obsolete and could even be used to "send items home". It would also remove a certain incentive not to die.

Creating such an entity and make it non-removable is kind of the same problem NPCs have.

There is already some mechanic to determien whether bones can be placed or not. Taka a look at their "may_replace" function. However I do not want the bones replace any other than air or flowing liquid. Except there are other blocks we can replace without regret. Making this mechanic open to abuse and griefing is out of the question, even if that means we can't have fancy bones. Griefing is way worse. Pay the priest to summon your bones would most likely make death portals obsolete and could even be used to "send items home". It would also remove a certain incentive not to die. Creating such an entity and make it non-removable is kind of the same problem NPCs have.
Member

I should have been more clear - the "pay the priest to summon your bones" should only be available if your bones were not placed normally for whatever reason.

You bring up good points though, and I think I agree w/ you that the entity might be a better option.

I should have been more clear - the "pay the priest to summon your bones" should *only* be available if your bones were not placed normally for whatever reason. You bring up good points though, and I think I agree w/ you that the entity might be a better option.
Styxcolor removed this from the (deleted) project 2022-01-05 06:44:34 +00:00
flux self-assigned this 2022-06-29 18:01:02 +00:00
flux added the
4. step/at work
label 2022-06-29 18:01:10 +00:00
Member

a more thorough attempt to place bones, and a bones entity:

a more thorough attempt to place bones, and a bones entity: * https://gitea.your-land.de/your-land/bones/commit/53ffe12cc0f5a271d06b0867672199989ac89369 * https://gitea.your-land.de/your-land/bones/commit/46ba21285312fb5b5d353e4215f616d9ee2311f4
flux added
4. step/ready to QA test
and removed
4. step/at work
labels 2022-06-30 22:11:37 +00:00
flux added this to the flux's TODO list project 2022-07-02 18:53:27 +00:00
flux added
5. result/fixed
and removed
4. step/ready to QA test
labels 2022-07-17 19:10:33 +00:00
flux removed this from the flux's TODO list project 2022-07-17 19:10:38 +00:00
Member

fix is live

fix is live
flux closed this issue 2022-07-17 19:10:45 +00:00
AliasAlreadyTaken added this to the 1.1.115 milestone 2022-08-06 18:46:08 +00:00
AliasAlreadyTaken was unassigned by flux 2022-09-21 00:06:53 +00:00
flux removed their assignment 2022-09-21 00:06:53 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#936
No description provided.