copper248 reports: total block deletion glitch: e ... #5044

Closed
opened 2023-08-02 02:05:13 +02:00 by yourland-report · 16 comments

copper248 reports a bug:

total block deletion glitch: edit to previous bug, it is all nodes, the previous setup can result in a way to delete any block, to sum up the setup a block with a door pushed underneath and through it will just get deleted

Player position:

{
	y = -30902.5,
	z = 1445.9389648438,
	x = 1917.9788818359
}

Player look:

{
	y = -0.17003750801086,
	z = -0.33331206440926,
	x = 0.92735660076141
}

Player information:

{
	minor = 6,
	min_rtt = 0.12399999797344,
	avg_rtt = 0.19099999964237,
	max_rtt = 16.316999435425,
	max_jitter = 16.180000305176,
	avg_jitter = 0.024000003933907,
	connection_uptime = 4524,
	serialization_version = 29,
	patch = 0,
	state = "Active",
	formspec_version = 6,
	ip_version = 6,
	protocol_version = 41,
	major = 5,
	version_string = "5.6.0",
	min_jitter = 0,
	lang_code = ""
}

Player meta:

{
	fields = {
		["stamina:exhaustion"] = "0",
		jointime = "1662436925",
		["ocean_build.last_warning"] = "1.66667e+09",
		["ocean_build.forbidden"] = "true",
		["petz:lycanthropy"] = "0",
		["stamina:level"] = "20",
		["ocean_build.ocean_built"] = "12",
		hud_state = "on",
		punch_count = "51733",
		["3d_armor_inventory"] = "return {\"shields:shield_rainbow 1 4278\", \"3d_armor:chestplate_rainbow 1 4278\", \"3d_armor:leggings_rainbow 1 4278\", \"3d_armor:helmet_rainbow 1 4278\", \"3d_armor:boots_crystal 1 10380\", \"\"}",
		inflicted_damage = "1104386",
		["signslib:pos"] = "(3645,28,1586)",
		arenalib_infobox_arenaID = "0",
		["petz:werewolf_vignette_id"] = "19",
		yl_commons_thankyou = "15",
		digged_nodes = "626363",
		["petz:werewolf"] = "0",
		["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"speed\"] = 2, [\"sneak\"] = true, [\"jump\"] = 1.5, [\"gravity\"] = 1, [\"sneak_glitch\"] = false}",
		yl_commons_player_created = "1662436925",
		yl_commons_player_joined = "1690930243",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"water_life:croc_bag\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		["stamina:poisoned"] = "no",
		xp = "605222",
		["petz:werewolf_clan_idx"] = "3",
		repellant = "0",
		played_time = "1600070",
		yl_church = "return {[\"last_death\"] = {[\"x\"] = -13054, [\"y\"] = 3, [\"z\"] = 12839}, [\"last_death_portal\"] = 1686291282, [\"last_heal\"] = 1664922768}",
		placed_nodes = "99004",
		died = "81",
		crafted = "73772",
		bitten = "0"
	}
}

Log identifier


[MOD] yl_report log identifier = J0Nrxk1f4z3DmPGVZku2f8ZgVKZxPpqr

Profiler save:

profile-20230802T000513.json_prettyEE

Status:

# Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 1d 11h 27min 46s | max lag: 0.756s | clients (19/52): 9T9, AliasAlreadyTaken, copper248, daydream, Ecklair, flux, Garag_Enthor, InitialD, IVARDI, jackofthebean000, JeCel, Joebanana, MicaelStarfire, nazthelizard122, rewired_X, Service, shanish2, tururrum, whosit

Teleport command:

/teleport xyz 1918 -30903 1446

Compass command:

/give_compass Construction J0Nrxk1f4z3DmPGVZku2f8ZgVKZxPpqr D2691E 1918 -30903 1446
copper248 reports a bug: > total block deletion glitch: edit to previous bug, it is all nodes, the previous setup can result in a way to delete any block, to sum up the setup a block with a door pushed underneath and through it will just get deleted Player position: ``` { y = -30902.5, z = 1445.9389648438, x = 1917.9788818359 } ``` Player look: ``` { y = -0.17003750801086, z = -0.33331206440926, x = 0.92735660076141 } ``` Player information: ``` { minor = 6, min_rtt = 0.12399999797344, avg_rtt = 0.19099999964237, max_rtt = 16.316999435425, max_jitter = 16.180000305176, avg_jitter = 0.024000003933907, connection_uptime = 4524, serialization_version = 29, patch = 0, state = "Active", formspec_version = 6, ip_version = 6, protocol_version = 41, major = 5, version_string = "5.6.0", min_jitter = 0, lang_code = "" } ``` Player meta: ``` { fields = { ["stamina:exhaustion"] = "0", jointime = "1662436925", ["ocean_build.last_warning"] = "1.66667e+09", ["ocean_build.forbidden"] = "true", ["petz:lycanthropy"] = "0", ["stamina:level"] = "20", ["ocean_build.ocean_built"] = "12", hud_state = "on", punch_count = "51733", ["3d_armor_inventory"] = "return {\"shields:shield_rainbow 1 4278\", \"3d_armor:chestplate_rainbow 1 4278\", \"3d_armor:leggings_rainbow 1 4278\", \"3d_armor:helmet_rainbow 1 4278\", \"3d_armor:boots_crystal 1 10380\", \"\"}", inflicted_damage = "1104386", ["signslib:pos"] = "(3645,28,1586)", arenalib_infobox_arenaID = "0", ["petz:werewolf_vignette_id"] = "19", yl_commons_thankyou = "15", digged_nodes = "626363", ["petz:werewolf"] = "0", ["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"speed\"] = 2, [\"sneak\"] = true, [\"jump\"] = 1.5, [\"gravity\"] = 1, [\"sneak_glitch\"] = false}", yl_commons_player_created = "1662436925", yl_commons_player_joined = "1690930243", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"water_life:croc_bag\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", ["stamina:poisoned"] = "no", xp = "605222", ["petz:werewolf_clan_idx"] = "3", repellant = "0", played_time = "1600070", yl_church = "return {[\"last_death\"] = {[\"x\"] = -13054, [\"y\"] = 3, [\"z\"] = 12839}, [\"last_death_portal\"] = 1686291282, [\"last_heal\"] = 1664922768}", placed_nodes = "99004", died = "81", crafted = "73772", bitten = "0" } } ``` Log identifier ``` [MOD] yl_report log identifier = J0Nrxk1f4z3DmPGVZku2f8ZgVKZxPpqr ``` Profiler save: ``` profile-20230802T000513.json_prettyEE ``` Status: ``` # Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 1d 11h 27min 46s | max lag: 0.756s | clients (19/52): 9T9, AliasAlreadyTaken, copper248, daydream, Ecklair, flux, Garag_Enthor, InitialD, IVARDI, jackofthebean000, JeCel, Joebanana, MicaelStarfire, nazthelizard122, rewired_X, Service, shanish2, tururrum, whosit ``` Teleport command: ``` /teleport xyz 1918 -30903 1446 ``` Compass command: ``` /give_compass Construction J0Nrxk1f4z3DmPGVZku2f8ZgVKZxPpqr D2691E 1918 -30903 1446 ```
AliasAlreadyTaken was assigned by yourland-report 2023-08-02 02:05:13 +02:00
flux added the
1. kind/bug
2. prio/critical
labels 2023-08-02 02:54:18 +02:00
Member

image

image

image

notice the diamond block disappears in the last image

![image](/attachments/775b189d-4746-4338-a6f9-1a1bdd3a6384) ![image](/attachments/c326f326-fe71-4fac-97d9-967f240048df) ![image](/attachments/a14da0c1-8fc8-4b47-bae7-785a44306c13) notice the diamond block disappears in the last image
144 KiB
160 KiB
162 KiB
flux added the
3. source/mod upstream
3. source/integration
labels 2023-08-02 03:02:06 +02:00
Member

all doors, as multi-node structures, should probably be MVPS stoppers

all doors, as multi-node structures, should probably be MVPS stoppers
Member

also, this is an upstream issue with minetest game. the code which deletes the node above the door should verify that the node is actually the doors:hidden node

also, this is an upstream issue with *minetest game*. the code which deletes the node above the door should verify that the node is actually the `doors:hidden` node
Member

i may still end up writing some integration code for yl_commons after i report this upstream, to prevent this from being exploited. this can e.g. be used to destroy a chest along the lower edges of a protection area.

i may still end up writing some integration code for yl_commons after i report this upstream, to prevent this from being exploited. this can e.g. be used to destroy a chest along the lower edges of a protection area.
Member
upstream PR: https://github.com/minetest/minetest_game/pull/3045
flux added the
4. step/blocked
label 2023-08-02 03:41:39 +02:00

i may still end up writing some integration code for yl_commons after i report this upstream, to prevent this from being exploited. this can e.g. be used to destroy a chest along the lower edges of a protection area.

I highly doubt it could be exploited in that way since areas typically extend far below the actual used area

I don't know what exactly this could be exploited for, perhaps some sort of tunnel bore type thing? idk, anyway, what pushable multinode structures are there other than doors? I tried electrum crystals and cannons, they don't work what else is there

> i may still end up writing some integration code for yl_commons after i report this upstream, to prevent this from being exploited. this can e.g. be used to destroy a chest along the lower edges of a protection area. I highly doubt it could be exploited in that way since areas typically extend far below the actual used area I don't know what exactly this could be exploited for, perhaps some sort of tunnel bore type thing? idk, anyway, what pushable multinode structures are there other than doors? I tried electrum crystals and cannons, they don't work what else is there
Member

what pushable multinode structures are there other than doors? I tried electrum crystals and cannons, they don't work what else is there

those other things aren't multi-node structures. all doors have an invisible node above them to keep you from placing other things in that position.

i think armor stands might have something similar, i'm not sure we've got anything else. i know techpack has some multinode machines, but we don't use that.

> what pushable multinode structures are there other than doors? I tried electrum crystals and cannons, they don't work what else is there those other things aren't multi-node structures. all doors have an invisible node above them to keep you from placing other things in that position. i think armor stands might have something similar, i'm not sure we've got anything else. i know techpack has some multinode machines, but we don't use that.
Member

3d armor stand appears to check that it's the expected node before removing it.

3d armor stand appears to check that it's the expected node before removing it.
flux added the
4. step/ready to QA test
label 2023-08-03 01:28:14 +02:00
Member

made doors MVPS stoppers 08de7a5840

i discovered after i'd manually typed in the name of every door that the doors mod actually publishes the names of all the registered ones. wasted a good hour or so on that.

made doors MVPS stoppers https://gitea.your-land.de/your-land/yl_commons/commit/08de7a5840dafbd6b107dcd9a3732ee00564bdc5 i discovered after i'd manually typed in the name of every door that the doors mod actually publishes the names of all the registered ones. wasted a good hour or so on that.
AliasAlreadyTaken added this to the 1.1.120 milestone 2023-08-03 18:45:01 +02:00

If a chest is deleted with this glitch while someone has the GUI open a blank chest is created

If a chest is deleted with this glitch while someone has the GUI open a blank chest is created
Member

If a chest is deleted with this glitch while someone has the GUI open a blank chest is created

this is ... "expected". ish. when the inventory is modified (removed), the formspec updates to reflect the clients new knowledge of the chest contents (nothing). there's no way for the server to tell if a player has a node formspec open, so we couldn't even tell it to close if we wanted to.

actually, could the client should be able to detect if a node formspec was modified or removed and update accordingly?

> If a chest is deleted with this glitch while someone has the GUI open a blank chest is created this is ... "expected". ish. when the inventory is modified (removed), the formspec updates to reflect the clients new knowledge of the chest contents (nothing). there's no way for the server to tell if a player has a node formspec open, so we couldn't even tell it to close if we wanted to. actually, could the client should be able to detect if a node formspec was modified or removed and update accordingly?

there appears to be something special about nodes that change when interacted with like chest to chest_open, the rest just kick you out like the block was destroyed normally

there appears to be something special about nodes that change when interacted with like chest to chest_open, the rest just kick you out like the block was destroyed normally
flux removed the
4. step/blocked
label 2023-08-11 20:07:29 +02:00
Member

mtg fix was merged https://github.com/minetest/minetest_game/pull/3045

doors will remain MVPS stoppers though.

mtg fix was merged https://github.com/minetest/minetest_game/pull/3045 doors will remain MVPS stoppers though.

QA:

There is no door group that unites all doors.

Some doors are not yet MVPS stoppers. Those are examples, not ALL doors were tested. It can be assumed that if one door is not a MVPS stopper, a similar one isn't as well.

cottages:half_door_inverted
cottages:half_door
doors:gate_aspen_wood_closed
doors:gate_junglewood_closed

apparently all pkarcs_doors

Many other doors and trapdoors are MVPS stoppers (now), among the even more obscure ones, like shared_doors, xpanes or locks

QA: There is no door group that unites all doors. Some doors are not yet MVPS stoppers. Those are examples, not ALL doors were tested. It can be assumed that if one door is not a MVPS stopper, a similar one isn't as well. ``` cottages:half_door_inverted cottages:half_door doors:gate_aspen_wood_closed doors:gate_junglewood_closed apparently all pkarcs_doors ``` Many other doors and trapdoors are MVPS stoppers (now), among the even more obscure ones, like shared_doors, xpanes or locks
AliasAlreadyTaken added the
4. step/QA NOK
label 2023-09-05 01:28:33 +02:00

QA

Apparently all the doors I found lacking MVPS stoppers do not exhibit the faulty behaviour.

QA Apparently all the doors I found lacking MVPS stoppers do not exhibit the faulty behaviour.
AliasAlreadyTaken added
4. step/QA OK
and removed
4. step/QA NOK
labels 2023-09-21 06:10:02 +02:00
flux added
5. result/fixed
and removed
4. step/ready to QA test
labels 2023-11-17 01:08:20 +01:00
AliasAlreadyTaken was unassigned by flux 2023-11-17 01:08:23 +01:00
Member

this is live

this is live
flux closed this issue 2023-11-17 01:08:34 +01: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#5044
No description provided.