[2.0.20] Force-build elevated rails fails under circumstance

This subforum contains all the issues which we already resolved.
liamcole99
Manual Inserter
Manual Inserter
Posts: 1
Joined: Thu Nov 21, 2024 7:43 pm
Contact:

[2.0.20] Force-build elevated rails fails under circumstance

Post by liamcole99 »

When a rail support is deconstructed, and a new support is built partially overlapping it, not all elevated rails from the blueprint are placed.
Image
Image
Image
the two rails highlighted in green here are supported by rail supports, but have not been built.

Blueprint at start

blueprint i attempted to build
robot256
Smart Inserter
Smart Inserter
Posts: 1133
Joined: Sun Mar 17, 2019 1:52 am
Contact:

Re: [2.0.20] Force-build elevated rails fails under circumstance

Post by robot256 »

When I tried it on 2.0.21, the bot got stuck just like you showed. It's trying to place the elevated curve rail above the opposite-angled ground curve rail. For some reason it won't place it, but when I remove the ghost and build manually it works fine. The other missing piece, in your case the straight rail on the left, and in my case, the curve rail on the ground, appears to be random because that's the second job in the stuck robot's queue.

When I placed the second blueprint by itself, the bots placed it fine. And when I tried again to force-place the blueprint, I got into a different state where some of the straight rails were just missing, so the remaining curve rail couldn't be placed. Manually placing the missing straight rails allowed the stuck bot to complete its job.
Untitled.png
Untitled.png (4.07 MiB) Viewed 517 times
I have a theory for reproduction based on this:
1. Force-place a blueprint that overlaps many existing straight rails, but has entities on the ground or curved elevated rails that conflict with an existing rail support.
2. Additional rail ghosts are created, such as the curved rails in this example.
3. The existing rail support is marked for deconstruction. Ghost for new supports are created nearby.
4. Critically, the straight rails that overlap with the blueprint are given neither deconstruction orders nor placement ghosts, since they are already there.
5. Bots are dispatched, and the bot deconstructing the old rail support gets there before the bots placing the new rail supports.
6. When the old rail support is deconstructed, it automatically deconstructs some of the straight rails on either side that can't be supported without the new supports that haven't been built yet.
7. No ghosts are created for the automatically removed straight rails, so they are not replaced after the new supports are built.
8. Bots attempt to place the remaining rail ghosts but can't because they are meant to be supported by the straight rails that were removed.

I'm not sure there's a one-size-fits-all solution here. In OP's case, they really need to deconstruct the existing straight rails anyways since they aren't part of the blueprint and don't get removed just because of force-building. (Sometimes some unneeded straight rails are left over rather than missing, depending on the order the supports were built/removed in.)
User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 3788
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.20] Force-build elevated rails fails under circumstance

Post by boskid »

Given that pictures are not loading i will move this to pending because i am not sure how to classify this.
Post Reply

Return to “Resolved Problems and Bugs”