AliasAlreadyTaken reports: Area borders. Detect switching ... #5128

Open
opened 2023-08-15 15:38:16 +00:00 by yourland-report · 11 comments

AliasAlreadyTaken reports a bug:

Area borders. Detect switching area context. Show area boundaries. Bounce off when changing area context. Area forcefield.

Player position:

{
	y = 18,
	z = 1173.9030761719,
	x = 1979.3000488281
}

Player look:

{
	y = -0.032457422465086,
	z = -0.064149916172028,
	x = 0.99741226434708
}

Player information:

{
	version_string = "5.7.0",
	protocol_version = 42,
	major = 5,
	state = "Active",
	minor = 7,
	ip_version = 6,
	min_rtt = 0.018999999389052,
	avg_rtt = 0.018999999389052,
	min_jitter = 0,
	max_jitter = 0.61699998378754,
	avg_jitter = 0.0010000001639128,
	connection_uptime = 11476,
	serialization_version = 29,
	patch = 0,
	max_rtt = 0.66200000047684,
	formspec_version = 6,
	lang_code = "de"
}

Player meta:

{
	fields = {
		inflicted_damage = "2967230",
		["stamina:level"] = "0",
		["signslib:pos"] = "(1975,19,1170)",
		["stamina:poisoned"] = "no",
		["stamina:exhaustion"] = "40.5",
		["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		yl_church = "return {[\"last_death\"] = {[\"z\"] = 1710, [\"x\"] = 2032, [\"y\"] = 34}, [\"last_death_portal\"] = 1683839371, [\"last_heal\"] = 1683837139}",
		["petz:werewolf_clan_idx"] = "4",
		["ocean_build.last_warning"] = "1.67421e+09",
		["ocean_build.forbidden"] = "true",
		["ocean_build.ocean_built"] = "12",
		repellant = "0",
		xp_redo_hud_color = "0xFFFF00",
		hud_state = "on",
		lagometer = "1",
		partychat = "party",
		["ethereal:fly_timer"] = "-99",
		yl_audio_state = "off",
		crafted = "4786",
		digged_nodes = "140155",
		team = "STAFF",
		yl_commons_player_joined = "1692102450",
		["petz:werewolf_vignette_id"] = "19",
		yl_commons_thankyou = "1139",
		["petz:lycanthropy"] = "0",
		["3d_armor_inventory"] = "return {\"3d_armor:boots_crystal\", \"\", \"\", \"\", \"\", \"\"}",
		["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)",
		szutil_watch = "return {}",
		["arena_lib_editor.spawner_ID"] = "0",
		arenalib_watchID = "0",
		["arena_lib_editor.team_ID"] = "0",
		xp = "0",
		["arena_lib_editor.players_number"] = "0",
		arenalib_infobox_arenaID = "0",
		played_time = "87955966",
		["petz:werewolf"] = "0",
		placed_nodes = "181273",
		died = "1590",
		punch_count = "64729",
		bitten = "0"
	}
}

Log identifier


[MOD] yl_report log identifier = 9yWqwEvWyJYFWW9cBGqW7ir4biCc3Njd

Profiler save:

profile-20230815T153816.json_prettyEE

Status:

# Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 1d 22h 39min 57s | max lag: 0.503s | clients (21/52): 1234, AliasAlreadyTaken, BenOnly, bizon, Boot, daydream, DbBr442, DragonWrangler1, Glacierville, Heron, mahou, mindfrost, MineWorlds, Parrish, Ravise, shanish2, Shortstack07, Sybil, Sysmatic, tagtraum, tururrum

Teleport command:

/teleport xyz 1979 18 1174

Compass command:

/give_compass Construction 9yWqwEvWyJYFWW9cBGqW7ir4biCc3Njd D2691E 1979 18 1174
AliasAlreadyTaken reports a bug: > Area borders. Detect switching area context. Show area boundaries. Bounce off when changing area context. Area forcefield. Player position: ``` { y = 18, z = 1173.9030761719, x = 1979.3000488281 } ``` Player look: ``` { y = -0.032457422465086, z = -0.064149916172028, x = 0.99741226434708 } ``` Player information: ``` { version_string = "5.7.0", protocol_version = 42, major = 5, state = "Active", minor = 7, ip_version = 6, min_rtt = 0.018999999389052, avg_rtt = 0.018999999389052, min_jitter = 0, max_jitter = 0.61699998378754, avg_jitter = 0.0010000001639128, connection_uptime = 11476, serialization_version = 29, patch = 0, max_rtt = 0.66200000047684, formspec_version = 6, lang_code = "de" } ``` Player meta: ``` { fields = { inflicted_damage = "2967230", ["stamina:level"] = "0", ["signslib:pos"] = "(1975,19,1170)", ["stamina:poisoned"] = "no", ["stamina:exhaustion"] = "40.5", ["petz:old_override_table"] = "return {[\"speed\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false, [\"gravity\"] = 1, [\"jump\"] = 1, [\"sneak\"] = true}", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", yl_church = "return {[\"last_death\"] = {[\"z\"] = 1710, [\"x\"] = 2032, [\"y\"] = 34}, [\"last_death_portal\"] = 1683839371, [\"last_heal\"] = 1683837139}", ["petz:werewolf_clan_idx"] = "4", ["ocean_build.last_warning"] = "1.67421e+09", ["ocean_build.forbidden"] = "true", ["ocean_build.ocean_built"] = "12", repellant = "0", xp_redo_hud_color = "0xFFFF00", hud_state = "on", lagometer = "1", partychat = "party", ["ethereal:fly_timer"] = "-99", yl_audio_state = "off", crafted = "4786", digged_nodes = "140155", team = "STAFF", yl_commons_player_joined = "1692102450", ["petz:werewolf_vignette_id"] = "19", yl_commons_thankyou = "1139", ["petz:lycanthropy"] = "0", ["3d_armor_inventory"] = "return {\"3d_armor:boots_crystal\", \"\", \"\", \"\", \"\", \"\"}", ["sethome:home"] = "(1983.4349365234,17.5,1183.5950927734)", szutil_watch = "return {}", ["arena_lib_editor.spawner_ID"] = "0", arenalib_watchID = "0", ["arena_lib_editor.team_ID"] = "0", xp = "0", ["arena_lib_editor.players_number"] = "0", arenalib_infobox_arenaID = "0", played_time = "87955966", ["petz:werewolf"] = "0", placed_nodes = "181273", died = "1590", punch_count = "64729", bitten = "0" } } ``` Log identifier ``` [MOD] yl_report log identifier = 9yWqwEvWyJYFWW9cBGqW7ir4biCc3Njd ``` Profiler save: ``` profile-20230815T153816.json_prettyEE ``` Status: ``` # Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 1d 22h 39min 57s | max lag: 0.503s | clients (21/52): 1234, AliasAlreadyTaken, BenOnly, bizon, Boot, daydream, DbBr442, DragonWrangler1, Glacierville, Heron, mahou, mindfrost, MineWorlds, Parrish, Ravise, shanish2, Shortstack07, Sybil, Sysmatic, tagtraum, tururrum ``` Teleport command: ``` /teleport xyz 1979 18 1174 ``` Compass command: ``` /give_compass Construction 9yWqwEvWyJYFWW9cBGqW7ir4biCc3Njd D2691E 1979 18 1174 ```
AliasAlreadyTaken was assigned by yourland-report 2023-08-15 15:38:16 +00:00
Member

this forcefield should auto-engage when builder flight is used so players don't accidentally sail outside of area and fall to their deaths, which is what is happening now.

it should be tied directly to builder's flight, I can't think of another application for it and staff certainly don't want to ram into barriers while out and about doing staffy things.

it certainly doesn't have to be an actual bounce, per se - when you use area ban now, the trespasser is repositioned at spawn. So this could be like a reverse area ban where the player is repositioned in the center of their area where they qualify for use of builders flight.

This repositioning is already in the game, whereas bouncing off a forcefield, probably not? so quicker dev time, for sure.

this forcefield should auto-engage when builder flight is used so players don't accidentally sail outside of area and fall to their deaths, which is what is happening now. it should be tied directly to builder's flight, I can't think of another application for it and staff certainly don't want to ram into barriers while out and about doing staffy things. it certainly doesn't have to be an actual bounce, per se - when you use area ban now, the trespasser is repositioned at spawn. So this could be like a reverse area ban where the player is repositioned in the center of their area where they qualify for use of builders flight. This repositioning is already in the game, whereas bouncing off a forcefield, probably not? so quicker dev time, for sure.
flux added the
1. kind/enhancement
label 2023-08-15 19:56:01 +00:00
Member

alias vetoed the idea of something to keep builders flight players from accidentally plummeting to their deaths - this must be something else.

Bounce off when changing area context.

this isn't something that can currently be done w/ minetest in its current state, at least not reasonably reliably.

bouncy nodes are a thing (e.g. maptools has some), but they're not super effective in the horizontal directions. we could of course replace all air nodes with solid nodes as needed.

but if we're swapping out nodes, (1) that would affect other players (2) maintaining the state of bouncy/solid nodes would probably be buggy - things might not always get removed correctly.

if we implement something that just adds velocity to a player that's entered somewhere they shouldn't be, then that gets affected by lag, including client/server desync lag, meaning that smart people can abuse it pretty well.

alias vetoed the idea of something to keep builders flight players from accidentally plummeting to their deaths - this must be something else. > Bounce off when changing area context. this isn't something that can currently be done w/ minetest in its current state, at least not reasonably reliably. [bouncy nodes are a thing](https://github.com/minetest/minetest/blob/658bc9fcc896b6987cc7401992c3cb703fbf048e/doc/lua_api.md?plain=1#L2164-L2166) (e.g. maptools has some), but they're not super effective in the horizontal directions. we could of course replace all air nodes with solid nodes as needed. but if we're swapping out nodes, (1) that would affect other players (2) maintaining the state of bouncy/solid nodes would probably be buggy - things might not always get removed correctly. if we implement something that just adds velocity to a player that's entered somewhere they shouldn't be, then that gets affected by lag, including client/server desync lag, meaning that smart people can abuse it pretty well.
Member

Show area boundaries.

the protector block mod has code to visualize area borders using entities, similar to worldedit. this is doable, if that's what's meant.

Area forcefield.

technic (i think?) has one of these - it works by replacing all the air nodes with unbreakable impassible nodes. it's not tied into the area mod in any way, it's set up as a radius from a machine (and requires power). it's not perfect - if you've got non-air but non-walkable nodes at the boundaries, players (and mobs) can still pass through those.

> Show area boundaries. the protector block mod has code to visualize area borders using entities, similar to worldedit. this is doable, if that's what's meant. > Area forcefield. technic (i think?) has one of these - it works by replacing all the air nodes with unbreakable impassible nodes. it's not tied into the area mod in any way, it's set up as a radius from a machine (and requires power). it's not perfect - if you've got non-air but non-walkable nodes at the boundaries, players (and mobs) can still pass through those.

alias vetoed the idea of something to keep builders flight players from accidentally plummeting to their deaths - this must be something else.

After reading the review issue #5025, I'm not so opposed to that idea anymore.

> alias vetoed the idea of something to keep builders flight players from accidentally plummeting to their deaths - this must be something else. After reading the review issue #5025, I'm not so opposed to that idea anymore.
Member

After reading the review issue #5025, I'm not so opposed to that idea anymore.

if you want this feature, the most reliable way to implement it is to copy the tower_crane behavior. when the player is using flight in a bounded area, track where they are. if they leave the area, teleport them back to where they were the last time we were able to note that.

> After reading the review issue #5025, I'm not so opposed to that idea anymore. if you want this feature, the most reliable way to implement it is to copy the [tower_crane](https://content.minetest.net/packages/joe7575/towercrane/) behavior. when the player is using flight in a bounded area, track where they are. if they leave the area, teleport them back to where they were the last time we were able to note that.
Member

if they leave the area, teleport them back to where they were the last time we were able to note that.

Can players instead be gently "pulled" back by adding velocity, until some max distance is reached an only then teleported?

> if they leave the area, teleport them back to where they were the last time we were able to note that. Can players instead be gently "pulled" back by adding velocity, until some max distance is reached an only then teleported?

Wouldn't that mean they can't leave their area then even when on the ground and on purpose?

Wouldn't that mean they can't leave their area then even when on the ground and on purpose?
Member

Can players instead be gently "pulled" back by adding velocity, until some max distance is reached an only then teleported?

not if we want to keep them from dying from lag. our options are limited.

Wouldn't that mean they can't leave their area then even when on the ground and on purpose?

yes. we could give them a chatcommand to disable that though?

overall we don't have any option that's not going to get ugly and gross in some important situations.

> Can players instead be gently "pulled" back by adding velocity, until some max distance is reached an only then teleported? not if we want to keep them from dying from lag. our options are limited. > Wouldn't that mean they can't leave their area then even when on the ground and on purpose? yes. we could give them a chatcommand to disable that though? overall we don't have any option that's not going to get ugly and gross in some important situations.

Still, "switching area context" should trigger some callback we can then detect.

Still, "switching area context" should trigger some callback we can then detect.
Member

Still, "switching area context" should trigger some callback we can then detect.

that's one feature i wish the areas mod had - callbacks for events like "player entered area", "player left area". wasn't someone just discussing doing some major work on it?

> Still, "switching area context" should trigger some callback we can then detect. that's one feature i wish the areas mod had - callbacks for events like "player entered area", "player left area". wasn't someone just discussing doing some major work on it?
Member

wasn't someone just discussing doing some major work on it?

#6497

> wasn't someone just discussing doing some major work on it? https://gitea.your-land.de/your-land/bugtracker/issues/6497
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 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#5128
No description provided.