Trains get removed from request schedule due to bug

Fixed Trains
slopth [discord] · 11 months ago

Aprox every 50-100 years, with 50+ trains, one of my trains stops just short of the destination it was originally headed to. There is no reason it should be stopped, the station arrival conditions are sending multiple trains per year to these stations. My best guess is that this likely is a very strange, rare, edge case race condition.

The train which was supposed to head to this station, in this save, stopped just before the station, being replaced by 3 other trains which fulfil the request requirements.

file is over 50mb so here is the direct link

I am using the following mods, also attached here:

https://drive.google.com/file/d/1ukccursfZt3uJMFNU26WBRx_snzx6Dwk/
https://drive.google.com/file/d/1PXmL4ZopodPDhyWsYvDFdvWztx-j58pt/

image.jpg

Files not imported: COIExtended.rar

eryk500 [discord] · 11 months ago

I think that this is a matter of a missconfiguration, rather than it being a bug.

Every train re-evaluates their choice of destination as they're going to their destination,
if the only destination that they are allowed to go to is suddenly not accepting trains anymore,
then what is that train supposed to do? Clearly, since the conditions of that say that
it is not ready to accept more trains, so no trains can go there.

The only way out of this is to either set a train limit of 1, so that only at most only 1 train
can go there, adding a stacker/holding station before it that accepts the spare train/-s,
or just remove that arrival condition from exsisting & allow the trains to go to the station.

DeletedAccount20950 · 11 months ago

My bet though in this case, is that train was waiting in that configuration when the condition was recinded. You can clearly see this is possibel by the fact the trains behind are doing the exact same thing.

slopth [discord] · 11 months ago

eryk500 [discord] wrote:

I think that this is a matter of a missconfiguration, rather than it being a bug.

this is a mis-interpretation of the problem imo

the train is already en route and assigned to the station

I have a network of 50 trains running this precise setup on this map, making hundreds of trips a year

all of them running this exact configuration, where I pull from the source and push to the destination with sackers.

and I only v ery rarely get failures in PRECISELY the same location

1 train length before the entrance to the station

not on any other part of the train network

if a train is scheduled as "arriving" to the station, why should it fail to reach the station?

and furthermore, why should a train depart a station in the first place if it cannot go to a destination station?

all requesting stations are set to unrestricted, with sufficent buffer to allow stackign

image.jpg

all demand stations are setup to request trains when they are full

image.jpg

I suspect there is an issue with having the "train limit" being higher than 2 under this configuration

because this all begs the question - how did that train even get to that location in the first place to become stuck, if it wasn't requested in the first place?

DeletedAccount20950 · 11 months ago

Hmm, it is a strange system. Are all these trains(the rock ones for example) all originating at the same provider, or seperate; and do they have more than one option to deliver to as well?

slopth [discord] · 11 months ago

and why was it unable to fulfil the request

multiple providers, multiple destinations

image.jpg

it should never leave any of the unloading stations until it has a full load to pick up

the request stations are where I have the stacker built. on the supply side, there is no need for stackers

image.jpg

DeletedAccount20950 · 11 months ago

well where is it supposed to go? if there is no avail place to take the product that you have sent too much of? I guess it could go to that station it delivering to? but that what about if there is more than one train in this predicament?

I think, but not certain, I understand what you're doing; I'm not certain it is the way they intend for the system.

But, it should certainly be looked at, by the amount of players experiencing this. I will load your save and have a look just to see what is different from my systems.

The obvious fix for now, is to send less trains. or change the system.

slopth [discord] · 11 months ago

I mean you can only build the system one of two ways. you build stackers at the supply, or you build stackers at the requester.

on this system, I've built it so that trains just depart the moment they're full so there is no backup on the supply side. the demand side has all of the storage capacity for trains, and where they wait to depart

the system should work equally well in both configurations

as it's the same basic set of rules

and a train should never be dispatched to a supply station until the supply station is full. once the # of trains reaching that supply station reaches the threshold (in this case, 3), no further trains should be dispatched.

furthermore, a train should never have a scheduled dispatch interupted

why should a train have its schedule changed mid-route?

the train will never move

because it permentally blocks access to that station

well then how would a train get stopped where it is?

this has happened 3x or 4x now, always in the exact same location

1 train length away from a requesting station

not in any other location on this 100km train network

DeletedAccount20950 · 11 months ago

By the fact not one but two trains are behind it stuck, i cna only assume it was waitng for the trian in front to exit, but at the same time it was no longer needed at that point in time.

it it was on a waiting lane, where it can never block, this would not be an issue IMO

slopth [discord] · 11 months ago

So train A, B, C get dispatched to the rock requesting station #14.

Trains A, B, load cargo, emptying the station, the only way for it to become stuck is if the train were to be kicked off the schedule because the station is no longer full. Then, once the station re-triggers and fills back up, trains D, E and F get dispatched instead leaving train C to be deadlocked.

The issue is, train C never gets requested by any other rock demand sites. There are 16 trains on this network and lots of available capacity along with very high throughput of rock being generated to where it actually needs 16 trains of throughput.

DeletedAccount20950 · 11 months ago

Ok, I don't want to disagree with you, you maybe right, I'm just trying to suggest what may be the issue or how to prevent it. But maybe I dont fully understand, sorry.

I will have a look at your save and see.

slopth [discord] · 11 months ago

I'd like to hope I understand the mechanics of how it should work

I appreciate you taking time to look into it

I think the issue is train C should never have been removed from the requesting schedule of station #14, after trains A and B left the station. And, I believe, the train becomes unavailable to any other station to be requested and must be manually cleared.

the interm fix I think would be to limit the requesting station to 2 arrivals I think

eryk500 [discord] · 11 months ago

Yes that should fix this. Although I suggest making it only accept at most 1 train at a time,
because there could be a reason for the 2-nd train to be.

Also, as a complete side note, attempting to recreate the functionality of LTN in any capacity
in this game with the currently available train system is a bad idea, as you'll end up with something
that will both be unstable and take a lot of time to implement even with said inherent instability.
I'd advise on creating separate train "lines" for separate things, have train limits set accordingly,
to the actual capacity (both train space & cargo space of it's modules specifically) of each station.
Maybe this is a complete tangent from this issue, but I've seen players attempting this,
but the game isn't really ready for anything like this, so I'm putting this in here in the hopes that players
won't actively try to overcomplicate their solutions to issues & create more avoidable issues in the process.

slopth [discord] · 11 months ago

oh I know LTN style with mixing and matching cargo types doesn't work

we're a ways off from that functionality

these are just single-cargo type routes

as I examine this closer, I think the issue may also be due to the demand side being clogged. if the demand side is unable to accecpt a new train, train A may become paused at the station shortly until space clears out on the demand side. This may contribute to the buggy behavior

and it may cause issues with the scheduler

I disagree that limiting to 1 is necessary, 2 should be completely fine as none of my other stations which run on the 2 train rule have ever had issues

it's only stations with >3

as on large maps with long distances, having multiple incoming t rains helps speed throughput per station

oh interesting. I just realized this station had a bad text input too. it had 4. as the quantity of trains

image.jpg

image.jpg

eryk500 [discord] · 11 months ago

Then add stacker / holding / parking stations that always accept trains,
or just make the main station accept trains always (and then set
a reasonable train limit to prevent the over-requesting of trains).

slopth [discord] · 11 months ago

I've been wondering for weeks why the hell that station wasn't getting more than 1 train sent to it at a given time

even though it has top priority

that also might be contributing. I will keep the demand side of the equation at 3 for the moment, and see if these other two fixes cure the issue

eryk500 [discord] · 11 months ago

slopth [discord] wrote:

oh interesting. I just realized this station had a bad text input too. it had 4. as the quantity of trains

I mean, it still is just a "decimal point", maybe it supports partial trains 🙃.

DeletedAccount20950 · 11 months ago

I think what maybe the issue, and my last contribution to this is you're misunderstanding the function of the request train.

When a train is requested, it is dispatched from the station to the destination. If the destination becomes full( which it ideally shouldn't, it does not go to the next stop, it waits in the parking.

That is from observation, and before I set on my principals of my network design. please correct me if im wrong?

eryk500 [discord] · 11 months ago

A succesfull fullfilment of the arrival condition, while under the set train limit.

Closed as ✅ Fixed

22 Showing 1–20 of 117