Train reserves track ahead while stopped and waiting

Fixed Trains
super_aardvark [discord] · 1 year ago

I have a train that was headed for a station. For whatever reason, the train decided to check the arrival conditions when it was almost there. Since the station has a train limit of 2 and another train was dispatched also, the station's modules are no longer empty and so the arrival condition was not met. Therefore, this train just stopped where it was (which also kind of seems like a bug -- seems like it should at least go back to the station it came from, which has no arrival conditions, though in this case I'd rather it just continue to its destination).

Anyway, so this train (Train #12, on the right in the screenshot) is stopped and waiting for the station to accept it. But meanwhile, it's still holding on to its reservation of the no-stopping zone ahead of it. This prevents other trains (Train #15, on the left in the screenshot) from going about their business when they should be able to.

image.jpg
image.jpg

Train #12's green path line extends to the station -- I cut it off when I made the composite screenshot. Here it is on its own.

image.jpg

1 attachment only for registered users
eryk500 [discord] · 1 year ago

That makes perfect sense. It's because all of the no-stop zones.

If a train must navigate through one, then it must reserve a path through it
& then also enough track after it to be able to stop right there.

super_aardvark [discord] · 1 year ago

It would make sense if the train was actually navigating through it. But it's not; it's just parked there, waiting for the station's arrival condition to be met.

eryk500 [discord] · 1 year ago

The fact that the train station's conditions aren't met,
is likely because you have multiple trains coming to that station,
but there is no "train limit" set, so when the station requests "more stuff",
then it will ask every available train throughout the duration of it lacking stuff,
until that's fulfilled. If you want trains to approach conditionally,
then you must make sure that the station doesn't over-request trains
(as this is likely the cause).

Also, a train won't start to navigate to a station with it's arrival condition unfulfilled,
that is done to allow trains not picking stations that aren't ready,
when departing from their previous station & any time during their traveled
to the picked destination (as they are allowed to change their mind mid-travel).

super_aardvark [discord] · 1 year ago

I agree, that's how this train came to be stopped on the track. I said as much in my post.

That doesn't change the fact of this bug. A train shouldn't reserve a section of track (in front of it -- I'm not talking about a block it currently occupies) and also refuse to travel through it, regardless of the reason. Out of fuel? Release the reservation. Workers all dead? Release the reservation. Station's arrival condition no longer met, as in this case? Release the reservation.

eryk500 [discord] · 1 year ago

🤔, technically there is also the fact that every train reserves
an "edge" (a.k.a. one of the on-track boxes visible in the overlay)
in front & behind itself to space itself from others I'd imagine.
This could play a role in this, although it shouldn't affect the entire
reserved track segment through the no-stop zone because of that
(as no train is allowed to stop there, so it can't permanently reserve
a segment on such a zone, causing this issue to show up).

Actually, scratch that, the train isin't up-against a no-stop zone,
so this doesn't apply here. Although it's still a valid concern.

Captain Marek Captain Marek · 10 months ago

This was fixed (by Jeremy) in patch v0.7.9a currently live on the Experimental branch. Struck trains won't unstuck themselves, so you need to either recover them or toggle their goal station, but trains should not get stuck again. If they do, please ping Jeremy. It will be available on the main branch in a few days. Please let us know if you test the experimental patch! Thanks for the report.

Closed as ✅ Fixed

6 Showing 1–7 of 7