Laylem reports: [pipeworks] Could we get a too ... #3302

Open
opened 2022-12-23 07:44:22 +00:00 by yourland-report · 9 comments

Laylem reports a bug:

[pipeworks] Could we get a tool, such that you can click on a tube, to check the priority of each path? It would be great to debug directions items take and if things are being split evenly etc.

Player position:

{
	y = -33.859001159668,
	z = -1992.6868896484,
	x = -966.85302734375
}

Player look:

{
	y = -0.72296714782715,
	z = -0.61198282241821,
	x = -0.32061755657196
}

Player information:

{
	min_jitter = 0,
	max_jitter = 1.3909999132156,
	avg_jitter = 0.0020000040531158,
	connection_uptime = 1765,
	serialization_version = 29,
	protocol_version = 41,
	formspec_version = 6,
	major = 5,
	minor = 6,
	version_string = "5.6.1",
	max_rtt = 1.569000005722,
	state = "Active",
	patch = 1,
	min_rtt = 0.16500000655651,
	lang_code = "",
	ip_version = 6,
	avg_rtt = 0.17299999296665
}

Player meta:

{
	fields = {
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 22040\", \"3d_armor:chestplate_crystal 1 22040\", \"3d_armor:leggings_crystal 1 22040\", \"3d_armor:boots_crystal 1 22040\", \"shields:shield_rainbow 1 8816\", \"\"}",
		partychat = "main",
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		["signslib:pos"] = "(-946,-7,-2015)",
		yl_commons_player_created = "1659420654",
		yl_commons_player_joined = "1671779723",
		jointime = "1659420654",
		["ocean_build.last_warning"] = "1.66072e+09",
		digged_nodes = "285142",
		placed_nodes = "75044",
		died = "32",
		yl_commons_thankyou = "47",
		crafted = "53247",
		xp = "298972",
		arenalib_infobox_arenaID = "0",
		["stamina:level"] = "9",
		bitten = "0",
		repellant = "0",
		hud_state = "on",
		["stamina:exhaustion"] = "66.5",
		["stamina:poisoned"] = "no",
		punch_count = "21813",
		["ocean_build.ocean_built"] = "11",
		inflicted_damage = "450644",
		yl_church = "return {[\"last_death_portal\"] = 1670664823, [\"last_death\"] = {[\"z\"] = -2000, [\"x\"] = -961, [\"y\"] = -26}, [\"last_heal\"] = 1662278340}",
		played_time = "1556000"
	}
}

Log identifier


[MOD] yl_report log identifier = ZakuixaTjqGvTEZO8jJGrRhnhEA2CmWl

Profiler save:

profile-20221223T074421.json_prettyEE

Status:

# Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 18h 56min 15s | max lag: 1.05s | clients (11/42): 9T9, AliasAlreadyTaken, Bailiff, bizon, daydream, floater, Katze, Laylem, marmar22, niceride, Service

Teleport command:

/teleport xyz -967 -34 -1993

Compass command:

/give_compass Construction ZakuixaTjqGvTEZO8jJGrRhnhEA2CmWl D2691E -967 -34 -1993
Laylem reports a bug: > [pipeworks] Could we get a tool, such that you can click on a tube, to check the priority of each path? It would be great to debug directions items take and if things are being split evenly etc. Player position: ``` { y = -33.859001159668, z = -1992.6868896484, x = -966.85302734375 } ``` Player look: ``` { y = -0.72296714782715, z = -0.61198282241821, x = -0.32061755657196 } ``` Player information: ``` { min_jitter = 0, max_jitter = 1.3909999132156, avg_jitter = 0.0020000040531158, connection_uptime = 1765, serialization_version = 29, protocol_version = 41, formspec_version = 6, major = 5, minor = 6, version_string = "5.6.1", max_rtt = 1.569000005722, state = "Active", patch = 1, min_rtt = 0.16500000655651, lang_code = "", ip_version = 6, avg_rtt = 0.17299999296665 } ``` Player meta: ``` { fields = { ["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 22040\", \"3d_armor:chestplate_crystal 1 22040\", \"3d_armor:leggings_crystal 1 22040\", \"3d_armor:boots_crystal 1 22040\", \"shields:shield_rainbow 1 8816\", \"\"}", partychat = "main", ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", ["signslib:pos"] = "(-946,-7,-2015)", yl_commons_player_created = "1659420654", yl_commons_player_joined = "1671779723", jointime = "1659420654", ["ocean_build.last_warning"] = "1.66072e+09", digged_nodes = "285142", placed_nodes = "75044", died = "32", yl_commons_thankyou = "47", crafted = "53247", xp = "298972", arenalib_infobox_arenaID = "0", ["stamina:level"] = "9", bitten = "0", repellant = "0", hud_state = "on", ["stamina:exhaustion"] = "66.5", ["stamina:poisoned"] = "no", punch_count = "21813", ["ocean_build.ocean_built"] = "11", inflicted_damage = "450644", yl_church = "return {[\"last_death_portal\"] = 1670664823, [\"last_death\"] = {[\"z\"] = -2000, [\"x\"] = -961, [\"y\"] = -26}, [\"last_heal\"] = 1662278340}", played_time = "1556000" } } ``` Log identifier ``` [MOD] yl_report log identifier = ZakuixaTjqGvTEZO8jJGrRhnhEA2CmWl ``` Profiler save: ``` profile-20221223T074421.json_prettyEE ``` Status: ``` # Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 18h 56min 15s | max lag: 1.05s | clients (11/42): 9T9, AliasAlreadyTaken, Bailiff, bizon, daydream, floater, Katze, Laylem, marmar22, niceride, Service ``` Teleport command: ``` /teleport xyz -967 -34 -1993 ``` Compass command: ``` /give_compass Construction ZakuixaTjqGvTEZO8jJGrRhnhEA2CmWl D2691E -967 -34 -1993 ```
AliasAlreadyTaken was assigned by yourland-report 2022-12-23 07:44:22 +00:00

Does such a tool exist? Is there a mod for it?

Does such a tool exist? Is there a mod for it?
AliasAlreadyTaken added the
1. kind/enhancement
label 2022-12-23 14:35:28 +00:00

https://github.com/mt-mods/pipeworks/wiki/tube-routing.md

Items traveling through tubes will prefer to take paths of higher priority. The routing decision is being made for each tube segement.

Node/Group Priority
Default for all Tubes 50
One-Way Tube 75
(High) Priority Tube 150
Trashcan 1
Inventories and Tubedevices 100

And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that

https://github.com/mt-mods/pipeworks/wiki/tube-routing.md > Items traveling through tubes will prefer to take paths of higher priority. The routing decision is being made for each tube segement. > | Node/Group | Priority | > | -------- | -------- | > | Default for all Tubes | 50 | > | One-Way Tube | 75 | > | (High) Priority Tube | 150 | > | Trashcan | 1 | > | Inventories and Tubedevices | 100 | And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that
Member

prefer

they don't just prefer it, they'll always take a higher priority path if it's possible

And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that

if there is a tie of any kind (multiple possible tubes/inventories of the same priority) one is chosen randomly. there's no way to ensure things are split evenly, though they'll be split approximately evenly. also note that items will never go back out the way they came in unless there's nowhere else to go.

> prefer they don't just prefer it, they'll always take a higher priority path if it's possible > And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that if there is a tie of any kind (multiple possible tubes/inventories of the same priority) one is chosen *randomly*. there's no way to ensure things are split evenly, though they'll be split approximately evenly. also note that items will never go back out the way they came in unless there's nowhere else to go.

prefer

they don't just prefer it, they'll always take a higher priority path if it's possible

If you think it´s badly worded please report upstream I just quoted from the linked page.

> > prefer > > they don't just prefer it, they'll always take a higher priority path if it's possible > If you think it´s badly worded please report upstream I just quoted from the linked page.

And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that

if there is a tie of any kind (multiple possible tubes/inventories of the same priority) one is chosen randomly. there's no way to ensure things are split evenly, though they'll be split approximately evenly. also note that items will never go back out the way they came in unless there's nowhere else to go.

Was curious and browsed code a bit it´s not random but way to complicate (priority, velocity, last output taken, etc) to explain it in a few lines or to predict it ingame with just looking at the tubes.

@Laylem if you want to split items use the sorting tube.
for example
50/50 split between red and green
In the sorting tube menu place cobble into 1 slot for each output

50/25/25 between red, green and blue
place cobble into 1 output slot for green/blue and into 2 slots for red

> > And if its just tubes it tries to keep going straight or checks left, right, up, down in that order. But Im not 100% sure about that > > if there is a tie of any kind (multiple possible tubes/inventories of the same priority) one is chosen *randomly*. there's no way to ensure things are split evenly, though they'll be split approximately evenly. also note that items will never go back out the way they came in unless there's nowhere else to go. Was curious and browsed code a bit it´s not random but way to complicate (priority, velocity, last output taken, etc) to explain it in a few lines or to predict it ingame with just looking at the tubes. @Laylem if you want to split items use the sorting tube. for example 50/50 split between red and green In the sorting tube menu place cobble into 1 slot for each output 50/25/25 between red, green and blue place cobble into 1 output slot for green/blue and into 2 slots for red

@Laylem if you want to split items use the sorting tube.
for example
50/50 split between red and green
In the sorting tube menu place cobble into 1 slot for each output

50/25/25 between red, green and blue
place cobble into 1 output slot for green/blue and into 2 slots for red

@Bla Can you please share the screenshot, I can place 1 item at a time in the sorting tube. And its not splitting for me

> @Laylem if you want to split items use the sorting tube. > for example > 50/50 split between red and green > In the sorting tube menu place cobble into 1 slot for each output > > 50/25/25 between red, green and blue > place cobble into 1 output slot for green/blue and into 2 slots for red @Bla Can you please share the screenshot, I can place 1 item at a time in the sorting tube. And its not splitting for me

This was the only way I found to split resources

This was the only way I found to split resources

I made example screenshots before but for a different server so dont mind that they look a bit different.

  1. example build

  2. example setup to split into 66% red output, 33% blue output

I made example screenshots before but for a different server so dont mind that they look a bit different. 1. example build ![](https://gitea.your-land.de/attachments/5a8f928d-7a18-487a-9de3-e7f5545a98c2) 2. example setup to split into 66% red output, 33% blue output ![](https://gitea.your-land.de/attachments/5d35cc56-acb0-469a-aa3e-9ac93f9e5a27)
Member

Was curious and browsed code a bit it´s not random

you're correct, it does seem to try to cycle through possible outputs. i swear i've observed multiple items go the same way in succession, but i've just done a test and things do seem to be split evenly.

> Was curious and browsed code a bit it´s not random you're correct, it does seem to try to cycle through possible outputs. i swear i've observed multiple items go the same way in succession, but i've just done a test and things do seem to be split evenly.
AliasAlreadyTaken added the
1. kind/documentation
label 2022-12-25 21:05:58 +00:00
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#3302
No description provided.