Sokomine reports: "this block is protected! your ... #3788

Closed
opened 2023-02-12 03:13:28 +00:00 by yourland-report · 4 comments

Sokomine reports a bug:

"this block is protected! your hit glanced off of the protection and turned you around. the protection deals you 3 damage." clicked on a button on a digiline control panel. severe bug that most likely resides in register_protection_violation or so. needs fixing.

Player position:

{
	y = 3.5,
	z = -6150.171875,
	x = -4642.8237304688
}

Player look:

{
	y = -0.38912391662598,
	z = -0.044036000967026,
	x = -0.9201323390007
}

Player information:

{
	major = 5,
	version_string = "5.7.0-dev-4cd6b773b-dirty",
	max_rtt = 6.8810000419617,
	protocol_version = 41,
	formspec_version = 6,
	ip_version = 6,
	min_rtt = 0.01799999922514,
	avg_rtt = 0.018999999389052,
	min_jitter = 0,
	max_jitter = 6.7979998588562,
	avg_jitter = 0,
	connection_uptime = 31274,
	serialization_version = 29,
	patch = 0,
	minor = 7,
	state = "Active",
	lang_code = ""
}

Player meta:

{
	fields = {
		["ocean_build.ocean_built"] = "5",
		["signslib:pos"] = "(-114,9,22492)",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"water_life:croc_bag\"}",
		xp = "1830581",
		bitten = "0",
		partychat = "main",
		repellant = "0",
		played_time = "11443922",
		yl_commons_thankyou = "255",
		jointime = "1617905120",
		died = "37",
		["stamina:exhaustion"] = "9.5",
		crafted = "495563",
		["3d_armor_inventory"] = "return {\"\", \"3d_armor:helmet_crystal 1 560\", \"shields:shield_rainbow 1 224\", \"3d_armor:chestplate_crystal 1 560\", \"3d_armor:boots_crystal 1 560\", \"3d_armor:leggings_crystal 1 560\"}",
		yl_church = "return {[\"last_death\"] = {[\"z\"] = 1632, [\"x\"] = 3484, [\"y\"] = 25}, [\"last_death_portal\"] = 1675209497, [\"last_heal\"] = 1673909657}",
		placed_nodes = "281767",
		arenalib_infobox_arenaID = "0",
		["ocean_build.last_warning"] = "1.65032e+09",
		digged_nodes = "1606357",
		hud_state = "on",
		["stamina:level"] = "18",
		punch_count = "179411",
		["stamina:poisoned"] = "no",
		inflicted_damage = "3674218",
		yl_commons_player_created = "1617905120",
		yl_commons_player_joined = "1676140358",
		["ethereal:fly_timer"] = "-99"
	}
}

Log identifier


[MOD] yl_report log identifier = plrlQG2P71S9Laiv7vmmf8VOnIiukk3O

Profiler save:

profile-20230212T031328.json_prettyEE

Status:

# Server: version: 5.6.1-yl | game: Minetest Game | uptime: 6d 51min 46s | max lag: 3.42s | clients (25/52): AliasAlreadyTaken, annah, Arsten, Azelf, Bailiff, bess, Chache, darealbang, daydream, Ernesto, flux, Hydra, jackofthebean000, labrat, Lotus_Trails, MeseCity, niceride, Parrish, Penelopee, santino, SArpnt, Service, Shin_, Sokomine, yourgodsatan

Teleport command:

/teleport xyz -4643 4 -6150

Compass command:

/give_compass Construction plrlQG2P71S9Laiv7vmmf8VOnIiukk3O D2691E -4643 4 -6150
Sokomine reports a bug: > "this block is protected! your hit glanced off of the protection and turned you around. the protection deals you 3 damage." clicked on a button on a digiline control panel. severe bug that most likely resides in register_protection_violation or so. needs fixing. Player position: ``` { y = 3.5, z = -6150.171875, x = -4642.8237304688 } ``` Player look: ``` { y = -0.38912391662598, z = -0.044036000967026, x = -0.9201323390007 } ``` Player information: ``` { major = 5, version_string = "5.7.0-dev-4cd6b773b-dirty", max_rtt = 6.8810000419617, protocol_version = 41, formspec_version = 6, ip_version = 6, min_rtt = 0.01799999922514, avg_rtt = 0.018999999389052, min_jitter = 0, max_jitter = 6.7979998588562, avg_jitter = 0, connection_uptime = 31274, serialization_version = 29, patch = 0, minor = 7, state = "Active", lang_code = "" } ``` Player meta: ``` { fields = { ["ocean_build.ocean_built"] = "5", ["signslib:pos"] = "(-114,9,22492)", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"water_life:croc_bag\"}", xp = "1830581", bitten = "0", partychat = "main", repellant = "0", played_time = "11443922", yl_commons_thankyou = "255", jointime = "1617905120", died = "37", ["stamina:exhaustion"] = "9.5", crafted = "495563", ["3d_armor_inventory"] = "return {\"\", \"3d_armor:helmet_crystal 1 560\", \"shields:shield_rainbow 1 224\", \"3d_armor:chestplate_crystal 1 560\", \"3d_armor:boots_crystal 1 560\", \"3d_armor:leggings_crystal 1 560\"}", yl_church = "return {[\"last_death\"] = {[\"z\"] = 1632, [\"x\"] = 3484, [\"y\"] = 25}, [\"last_death_portal\"] = 1675209497, [\"last_heal\"] = 1673909657}", placed_nodes = "281767", arenalib_infobox_arenaID = "0", ["ocean_build.last_warning"] = "1.65032e+09", digged_nodes = "1606357", hud_state = "on", ["stamina:level"] = "18", punch_count = "179411", ["stamina:poisoned"] = "no", inflicted_damage = "3674218", yl_commons_player_created = "1617905120", yl_commons_player_joined = "1676140358", ["ethereal:fly_timer"] = "-99" } } ``` Log identifier ``` [MOD] yl_report log identifier = plrlQG2P71S9Laiv7vmmf8VOnIiukk3O ``` Profiler save: ``` profile-20230212T031328.json_prettyEE ``` Status: ``` # Server: version: 5.6.1-yl | game: Minetest Game | uptime: 6d 51min 46s | max lag: 3.42s | clients (25/52): AliasAlreadyTaken, annah, Arsten, Azelf, Bailiff, bess, Chache, darealbang, daydream, Ernesto, flux, Hydra, jackofthebean000, labrat, Lotus_Trails, MeseCity, niceride, Parrish, Penelopee, santino, SArpnt, Service, Shin_, Sokomine, yourgodsatan ``` Teleport command: ``` /teleport xyz -4643 4 -6150 ``` Compass command: ``` /give_compass Construction plrlQG2P71S9Laiv7vmmf8VOnIiukk3O D2691E -4643 4 -6150 ```
AliasAlreadyTaken was assigned by yourland-report 2023-02-12 03:13:28 +00:00
AliasAlreadyTaken added the
1. kind/bug
label 2023-02-12 18:12:47 +00:00
Member

solution is that the digiline control panel should not record protection violations. protection violations are for events where client-side prediction can be used to get around restrictions. pressing a button you can't use will always just do nothing.

solution is that the digiline control panel should not record protection violations. protection violations are for events where client-side prediction can be used to get around restrictions. pressing a button you can't use will always just do nothing.
AliasAlreadyTaken added the
3. source/mod upstream
label 2023-02-12 19:37:47 +00:00
Member

per the documentation, protection violation callbacks are responsible for checking that the violation is something they should handle, though that is hard when there's no way to tell how the protection was violated. either way, this is an integration issue, not an upstream mod issue.

so, i've whitelisted a number of machines w/ buttons that trigger protection violations, which should keep this from recurring: 65714e7c35

[per the documentation](https://github.com/minetest/minetest/blob/6e1c70e02b00df94a584bb4247cfa4f4c616c8d5/doc/lua_api.txt#L5336-L5343), protection violation callbacks are responsible for checking that the violation is something they should handle, though that is hard when there's no way to tell how the protection was violated. either way, this is an integration issue, not an upstream mod issue. so, i've whitelisted a number of machines w/ buttons that trigger protection violations, which should keep this from recurring: https://gitea.your-land.de/your-land/yl_areas_addon/commit/65714e7c354ac2ca4565a682b9243ee4dfe43906
flux added
3. source/integration
4. step/ready to QA test
and removed
3. source/mod upstream
labels 2023-02-28 22:43:05 +00:00
Member

Thanks! That helps a bit. The protection violation function is still my enemy. Prevending players from doing the change is fine - trying to kill players is not. But that's not your fault.

Thanks! That helps a bit. The protection violation function is still my enemy. Prevending players from doing the change is fine - trying to kill players is not. But that's not your fault.
AliasAlreadyTaken added this to the 1.1.118 milestone 2023-03-02 16:37:58 +00:00
AliasAlreadyTaken added the
ugh/QA OK
label 2023-04-13 21:40:33 +00:00
flux added
5. result/fixed
and removed
4. step/ready to QA test
labels 2023-04-25 22:37:13 +00:00
AliasAlreadyTaken was unassigned by flux 2023-04-25 22:37:17 +00:00
Member

this is live

this is live
flux closed this issue 2023-04-25 22:37:26 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 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#3788
No description provided.