AliasAlreadyTaken reports: area in nether ... #3870

Closed
opened 2023-02-23 01:53:08 +00:00 by yourland-report · 11 comments

AliasAlreadyTaken reports a bug:

area in nether

Player position:

{
	y = -10827.25,
	z = 4020.2199707031,
	x = 3101.0258789063
}

Player look:

{
	y = -0.22614130377769,
	z = 0.15288542211056,
	x = 0.96202194690704
}

Player information:

{
	max_rtt = 0.63999998569489,
	lang_code = "",
	formspec_version = 6,
	protocol_version = 41,
	major = 5,
	version_string = "5.7.0-dev-6e1c70e02",
	minor = 7,
	min_rtt = 0.01799999922514,
	avg_rtt = 0.01799999922514,
	min_jitter = 0,
	max_jitter = 0.55400002002716,
	avg_jitter = 0.0010000001639128,
	connection_uptime = 4071,
	serialization_version = 29,
	patch = 0,
	state = "Active",
	ip_version = 6
}

Player meta:

{
	fields = {
		["signslib:pos"] = "(2139,17,1227)",
		xp_redo_hud_color = "0xFFFF00",
		["petz:werewolf"] = "0",
		["petz:lycanthropy"] = "0",
		hud_state = "on",
		["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}",
		punch_count = "62572",
		inflicted_damage = "2581354",
		["petz:werewolf_vignette_id"] = "19",
		["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)",
		yl_commons_thankyou = "830",
		["petz:werewolf_clan_idx"] = "4",
		arenalib_watchID = "0",
		["arena_lib_editor.players_number"] = "0",
		["arena_lib_editor.spawner_ID"] = "0",
		xp = "0",
		played_time = "74015612",
		digged_nodes = "137824",
		arenalib_infobox_arenaID = "0",
		["stamina:poisoned"] = "no",
		crafted = "4557",
		bitten = "0",
		yl_church = "return {[\"last_heal\"] = 1622459682, [\"last_death\"] = {[\"z\"] = 307, [\"x\"] = 2876, [\"y\"] = 64}, [\"last_death_portal\"] = 1670634104}",
		partychat = "party",
		team = "STAFF",
		lagometer = "1",
		["stamina:exhaustion"] = "155",
		repellant = "0",
		["stamina:level"] = "0",
		["ocean_build.forbidden"] = "true",
		yl_commons_player_joined = "1677113124",
		["ocean_build.last_warning"] = "1.67421e+09",
		placed_nodes = "178822",
		["arena_lib_editor.team_ID"] = "0",
		szutil_watch = "return {}",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		died = "1583",
		["3d_armor_inventory"] = "return {\"\", \"\", \"\", \"\", \"\", \"\"}",
		yl_audio_state = "off",
		["ethereal:fly_timer"] = "-99",
		["ocean_build.ocean_built"] = "12"
	}
}

Log identifier


[MOD] yl_report log identifier = V6pCQUapOBzxRXkpTnUbojVa3YkXFdLO

Profiler save:

profile-20230223T015308.json_prettyEE

Status:

# Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 21h 33min 43s | max lag: 2.62s | clients (22/52): AliasAlreadyTaken, Aliza, AspireMint, Bailiff, Boris, DanteLives, daydream, Diorx, DVgaming, Elias, flux, HorusDamocles, labrat, mahou, Minetest13, niceride, rheo, Service, shanish3, Sokomine, Uinicorn2, yourgodsatan

Teleport command:

/teleport xyz 3101 -10827 4020

Compass command:

/give_compass Construction V6pCQUapOBzxRXkpTnUbojVa3YkXFdLO D2691E 3101 -10827 4020
AliasAlreadyTaken reports a bug: > area in nether Player position: ``` { y = -10827.25, z = 4020.2199707031, x = 3101.0258789063 } ``` Player look: ``` { y = -0.22614130377769, z = 0.15288542211056, x = 0.96202194690704 } ``` Player information: ``` { max_rtt = 0.63999998569489, lang_code = "", formspec_version = 6, protocol_version = 41, major = 5, version_string = "5.7.0-dev-6e1c70e02", minor = 7, min_rtt = 0.01799999922514, avg_rtt = 0.01799999922514, min_jitter = 0, max_jitter = 0.55400002002716, avg_jitter = 0.0010000001639128, connection_uptime = 4071, serialization_version = 29, patch = 0, state = "Active", ip_version = 6 } ``` Player meta: ``` { fields = { ["signslib:pos"] = "(2139,17,1227)", xp_redo_hud_color = "0xFFFF00", ["petz:werewolf"] = "0", ["petz:lycanthropy"] = "0", hud_state = "on", ["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}", punch_count = "62572", inflicted_damage = "2581354", ["petz:werewolf_vignette_id"] = "19", ["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)", yl_commons_thankyou = "830", ["petz:werewolf_clan_idx"] = "4", arenalib_watchID = "0", ["arena_lib_editor.players_number"] = "0", ["arena_lib_editor.spawner_ID"] = "0", xp = "0", played_time = "74015612", digged_nodes = "137824", arenalib_infobox_arenaID = "0", ["stamina:poisoned"] = "no", crafted = "4557", bitten = "0", yl_church = "return {[\"last_heal\"] = 1622459682, [\"last_death\"] = {[\"z\"] = 307, [\"x\"] = 2876, [\"y\"] = 64}, [\"last_death_portal\"] = 1670634104}", partychat = "party", team = "STAFF", lagometer = "1", ["stamina:exhaustion"] = "155", repellant = "0", ["stamina:level"] = "0", ["ocean_build.forbidden"] = "true", yl_commons_player_joined = "1677113124", ["ocean_build.last_warning"] = "1.67421e+09", placed_nodes = "178822", ["arena_lib_editor.team_ID"] = "0", szutil_watch = "return {}", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", died = "1583", ["3d_armor_inventory"] = "return {\"\", \"\", \"\", \"\", \"\", \"\"}", yl_audio_state = "off", ["ethereal:fly_timer"] = "-99", ["ocean_build.ocean_built"] = "12" } } ``` Log identifier ``` [MOD] yl_report log identifier = V6pCQUapOBzxRXkpTnUbojVa3YkXFdLO ``` Profiler save: ``` profile-20230223T015308.json_prettyEE ``` Status: ``` # Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 21h 33min 43s | max lag: 2.62s | clients (22/52): AliasAlreadyTaken, Aliza, AspireMint, Bailiff, Boris, DanteLives, daydream, Diorx, DVgaming, Elias, flux, HorusDamocles, labrat, mahou, Minetest13, niceride, rheo, Service, shanish3, Sokomine, Uinicorn2, yourgodsatan ``` Teleport command: ``` /teleport xyz 3101 -10827 4020 ``` Compass command: ``` /give_compass Construction V6pCQUapOBzxRXkpTnUbojVa3YkXFdLO D2691E 3101 -10827 4020 ```
AliasAlreadyTaken was assigned by yourland-report 2023-02-23 01:53:08 +00:00

Somehow the user yoneda managed to create an area in the nether.

2023-02-19 00:19:16: ACTION[Server]: [yl_areas_addon] /protect_this invoked, owner=yoneda AreaName=yoneda StartPos=(2132,29705,1541) EndPos=(2196,29833,1605)

There are no peculiar actions before or after. As planned, an explosion occurred at the position of the person who issued the command:

2023-02-19 00:19:16: ACTION[Server]: A TNT explosion occurred at (2163.7211914063,29768.5,1573.1989746094) with radius 2
2023-02-19 00:19:16: ACTION[Server]: TNT owned by  detonated at (2164,29769,1573) with radius 2

Why did that happen twice??

Somehow the user yoneda managed to create an area in the nether. ``` 2023-02-19 00:19:16: ACTION[Server]: [yl_areas_addon] /protect_this invoked, owner=yoneda AreaName=yoneda StartPos=(2132,29705,1541) EndPos=(2196,29833,1605) ``` There are no peculiar actions before or after. As planned, an explosion occurred at the position of the person who issued the command: ``` 2023-02-19 00:19:16: ACTION[Server]: A TNT explosion occurred at (2163.7211914063,29768.5,1573.1989746094) with radius 2 2023-02-19 00:19:16: ACTION[Server]: TNT owned by detonated at (2164,29769,1573) with radius 2 ``` Why did that happen twice??
Member

still reviewing, but i see this logic:

bc9e732832/chatcommand_protect_this.lua (L56-L62)

local canAdd, errMsg = areas:canPlayerAddArea(pos1, pos2, name)
if not canAdd then
        return false, errMsg
end

local id = areas:add(name, param, pos1, pos2, nil)
areas:save()

where are the consequences for creating areas in the nether defined?

still reviewing, but i see this logic: https://gitea.your-land.de/your-land/yl_areas_addon/src/commit/bc9e732832a33900034452a3dcc1e8ea2d1ece2b/chatcommand_protect_this.lua#L56-L62 ```lua local canAdd, errMsg = areas:canPlayerAddArea(pos1, pos2, name) if not canAdd then return false, errMsg end local id = areas:add(name, param, pos1, pos2, nil) areas:save() ``` where are the consequences for creating areas in the nether defined?
Member

so, it looks like, areas.registered_on_adds is invoked after the area is created. i'm actually not sure how it prevents normal areas from being created. in any event, we're not using the API properly. for one, we don't override canProtectArea or (whatever API action is appropriate). i'll take a look at this tomorrow, marking as high priority.

so, it looks like, `areas.registered_on_adds` is invoked *after* the area is created. i'm actually not sure how it prevents normal areas from being created. in any event, we're not using the API properly. for one, we don't override canProtectArea or (whatever API action is appropriate). i'll take a look at this tomorrow, marking as high priority.
flux added the
1. kind/bug
3. source/integration
2. prio/critical
4. step/at work
labels 2023-02-23 03:59:39 +00:00
flux added this to the 1.1.118 milestone 2023-02-23 04:02:25 +00:00

Actually we do overwrite areas:registerOnAdd

https://gitea.your-land.de/your-land/yl_nether/src/branch/yl_stable/compat/areas.lua#L9

That's where we remove the area in the next step if it was created in the nether ... ???

Actually we do overwrite areas:registerOnAdd https://gitea.your-land.de/your-land/yl_nether/src/branch/yl_stable/compat/areas.lua#L9 That's where we remove the area in the next step if it was created in the nether ... ???
Member

Actually we do overwrite areas:registerOnAdd

https://gitea.your-land.de/your-land/yl_nether/src/branch/yl_stable/compat/areas.lua#L9

that's not an override of that function, that's a call to that function, which adds the defined callback, which is triggered after the area is created.

> Actually we do overwrite areas:registerOnAdd > > https://gitea.your-land.de/your-land/yl_nether/src/branch/yl_stable/compat/areas.lua#L9 that's not an override of that function, that's a call to that function, which adds the defined callback, which is triggered after the area is created.
flux added this to the flux's TODO list project 2023-02-23 16:53:31 +00:00
Member

actually, the old behavior of the callback was almost right, but there's a race condition on removing the "invalid" area, and in some cases the removal won't get registered. i've written some code to avoid that by preventing the creation of the area in the first place:

da0808c0c4

actually, the old behavior of the callback was almost right, but there's a race condition on removing the "invalid" area, and in some cases the removal won't get registered. i've written some code to avoid that by preventing the creation of the area in the first place: https://gitea.your-land.de/your-land/yl_nether/commit/da0808c0c4b6ff81866bc7130550d43b1e9c419a
flux added
4. step/ready to QA test
and removed
4. step/at work
labels 2023-02-23 17:00:28 +00:00
AliasAlreadyTaken added the
ugh/QA main
label 2023-02-28 10:36:09 +00:00

That's how we can test whether it worked:


/area_pos1 30927 25000 30927
/area_pos2 -30912 30500 -30912
/protect temp
/area_inside AREAID
That's how we can test whether it worked: ``` /area_pos1 30927 25000 30927 /area_pos2 -30912 30500 -30912 /protect temp /area_inside AREAID ```
Member

That's how we can test whether it worked:

currently, staff can protect areas in the nether, so make sure to test w/ a non-staff account.

> That's how we can test whether it worked: currently, staff can protect areas in the nether, so make sure to test w/ a non-staff account.

Those commands are meant to create a giant area over all the nether, then test whether there's an area inside or intersects with and area someone else might have created ;)

Ofc after a clandestine check I'll immediately remove the area again.

Else I'd have to go through the areas.areas and check myself

Those commands are meant to create a giant area over all the nether, then test whether there's an area inside or intersects with and area someone else might have created ;) Ofc after a clandestine check I'll immediately remove the area again. Else I'd have to go through the areas.areas and check myself

Ofc after a clandestine check I'll immediately remove the area again.

Else I'd have to go through the areas.areas and check myself

You could also use areas:getAreasIntersectingArea(pos1, pos2) directly and skip creating+deleting an area

> Ofc after a clandestine check I'll immediately remove the area again. > > Else I'd have to go through the areas.areas and check myself You could also use [areas:getAreasIntersectingArea(pos1, pos2)](https://gitea.your-land.de/your-land/areas/src/branch/yl_stable/api.lua#L57) directly and skip creating+deleting an area
flux added
5. result/fixed
and removed
4. step/ready to QA test
labels 2023-04-25 20:02:39 +00:00
flux removed this from the flux's TODO list project 2023-04-25 20:02:41 +00:00
AliasAlreadyTaken was unassigned by flux 2023-04-25 20:02:44 +00:00
Member

this is live

this is live
flux closed this issue 2023-04-25 20:03:01 +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#3870
No description provided.