Indeed, I see that now that I've looked in to it. In early years the freight cars are much slower (30 km/h until 1835, then 40 km/h until 1855) and the capacity is very low... so we're stuck using ships for quite some time for freight. It's really not until 1885 that anything viable comes along.

I think the canal cost issue is the problem here. We should favour rail over canal for inland freight, except we have a vast number of inland ship canals which ought not to have happened.

I'm intending to try a coal route on my inter-island rail route if passenger traffic proves insufficient, not sure how it will turn out though.

Remember that we started in 1750... not a lot of freight trains running around at that point. It wasn't until the mid 1800's that you saw much freight travelling by rail - canals were still in heavy use because it was by far the more efficient mode of transport for freight. Actually, even today freight by water is a much cheaper method, as long as the freight isn't time sensitive. The Great Lakes/St. Lawrence River is still a very busy shipping route for freight.

I tried a freight line in offline play and I wouldn't bother at this point... you can barely break even on operational costs with the available equipment in 1830, let alone cover your infrastructure cost. Even a 64-long train can only carry a couple hundred cargo... whereas a ship can carry 1575. At a fraction of the cost. You don't get much financial bonus for quick delivery of freight, unlike for passengers.

Thanks for the heads up. Suspect it's a balancing issue - most of the early railways went for the freight traffic routes, not passenger traffic, so they ought to make money. Although granted many were also industry-to-port types of routes.

Probably... the early cargo cars can only hold 4-6 of each cargo type, so even with 50+ cars, you can only hold 200-300 cargo. Which wouldn't be too bad if you could fill a line up with hundreds of trains to move the cargo, but at over $50/km (using enough locomotives to move it at a decent acceleration/top speed), they are extremely pricey as compared to a ship at $1.80/km. Top speed for 1835 cars is only 40 km/h as well.

In 1855 there are new rail cargo cars that can hold 8 units of cargo, but even that is quite small and hard to make a profit with. I suspect ship based cargo routes will be the norm until at least 1885.

I think the running costs for the ships are unrealistic. Just think of the salary for that many people working for such a long time/hard work, the food/water to supply them?They should be more expensive to run than the trains as far as I concern. So do the maintenance costs for canals.

Thank you for all your feedback. When I rebalance the pakset, I shall explicitly make reference to the number of crew required for a ship in setting the ship's fixed costs, which should greatly increase its cost over that of a railway freight train, requiring a total crew of three people (driver, fireman and guard). Maintenance costs for canals should be relatively modest as they would not need much more than dredging, but their construction cost needs to be increased.

As to the desyncs, TurfIt thinks that he has spotted a possible cause for desyncs and we are working on a solution. Sorry that people are having difficulties.

Thanks, James. For what it's worth, it seems to always be a checklist mismatch with the rand= and traffic= being out of synch. It is happening a lot now, probably 10+ times per game month. I used to just get one in the first ~15 game minutes in each new month.

The server is growing laggier as we add more things, but it is still running considerably faster than it was a few weeks ago before the fixes.

When I rebalance the pakset, I shall explicitly make reference to the number of crew required for a ship in setting the ship's fixed costs, which should greatly increase its cost over that of a railway freight train, requiring a total crew of three people (driver, fireman and guard). Maintenance costs for canals should be relatively modest as they would not need much more than dredging, but their construction cost needs to be increased.

Sounds very good. Not sure how dredging was done before modern ships were available? I suspect it was rather labour intensive (as with digging a railway cutting before steam shovels).

The server has now been restarted with version 11.25, incorporating TurfIt's fixes as well as a fix for the bug that caused it to crash previously. Apologies for the delay - do let me know whether these fixes help.

Wonderful! Thank you James (and TurfIt!). And my wife was happy to have me around all weekend... I was worried that the server would come back up and we were going to hit the rail age just as the Easter weekend hit and I was going to be holed up in front of the computer half the weekend laying tracks instead of attending to the numerous chores around the house and yard.

EDIT Still getting several of these per month: (mismatch on rand/traffic)

I have a problem:Some ships got stuck with "no route" for no apparent reason.They will skip a few waypoints which will make the route-finding system out of range.But when I redirected it to the nearest waypoint, it automatically skip the waypoints again.

Volvo, I had a few occur too. I believe it has to do with the additional code for ship wayfinding that eliminates choices that are farther than it assumes it can wayfind. I had about 20 ships impacted by this and just had to add additional waypoints to the schedule and send them on their way manually and the problem was fixed. All of the schedules in question were fairly distant, so I guess the program assumed they were beyond wayfinding distance, though they worked fine before the change. Didn't take long.

Volvo, I had a few occur too. I believe it has to do with the additional code for ship wayfinding that eliminates choices that are farther than it assumes it can wayfind. I had about 20 ships impacted by this and just had to add additional waypoints to the schedule and send them on their way manually and the problem was fixed. All of the schedules in question were fairly distant, so I guess the program assumed they were beyond wayfinding distance, though they worked fine before the change. Didn't take long.

This depends on what you mean by "skipping" waypoints. In Experimental, a convoy will always compute the full route from one stop to the next, and not simply stop at the next waypoint (this is important for railway signalling to work properly). What it will do is calculate the route from the current location to the next entry on the schedule, and, if the next entry is a waypoint, calculate the route on from that point to the next entry and so on until it reaches either a stop or the same place as it started. Waypoints are thus still effective, but, unless the waypoint is a reversing waypoint (marked with an [R]), which are treated differently, and which do not apply to ships, the next destination shown in a convoy's schedule will not actually be a waypoint, but a stop.

The desynchs you are getting are checklist mismatches between client and server, not time differentials, so setting the delay higher won't help. There is something in the code that is causing these mismatches and it has increased significantly in frequency over the past few weeks. It is consistently in the rand/traffic numbers. If it was just the desynchs and we could immediately reconnect, it wouldn't be too bad, but with a 1-2+ minute download/connection time and multiplied over several players, it is very difficult to get much accomplished.

I constructed most of my lines with a 500-600 tile maximum distance between waypoints so I was only affected in a minor fashion (fortunately).

In months of trying, I have never been able to connect. "Transferring Map" takes about 2 minutes (at up to 7Mbit/sec!) and then "Loading Map" takes another 90 seconds, after which I get an instant "Lost Synchronization." And this is on a 4-core i5 processor. How is this usable?

In months of trying, I have never been able to connect. "Transferring Map" takes about 2 minutes (at up to 7Mbit/sec!) and then "Loading Map" takes another 90 seconds, after which I get an instant "Lost Synchronization." And this is on a 4-core i5 processor. How is this usable?

Being too fast can lead to desync too.

That said, is it possible to save the game when mismatches detected instead of kicking the clients out?I also think a bit more tolerating to minor mismatch can help too?

The system relating to network synchronisation is the same as in Standard - I do not have the necessary (very deep) skills to write the fundamental network code. However, tolerating mismatches is not an option: the client and server would be running games in which totally different things were happening.

W. Lindley - do you still have the problem? What specification computer are you using? Are you able to run it at a reasonable speed locally?

This depends on what you mean by "skipping" waypoints. In Experimental, a convoy will always compute the full route from one stop to the next, and not simply stop at the next waypoint (this is important for railway signalling to work properly). What it will do is calculate the route from the current location to the next entry on the schedule, and, if the next entry is a waypoint, calculate the route on from that point to the next entry and so on until it reaches either a stop or the same place as it started. Waypoints are thus still effective, but, unless the waypoint is a reversing waypoint (marked with an [R]), which are treated differently, and which do not apply to ships, the next destination shown in a convoy's schedule will not actually be a waypoint, but a stop.

After a few observations it's definitely the reduced route finding tiles causing the problems, so it's not a bug or anything like that.

Hmm - I was not aware of this. Thank you for letting me know. The server itself runs Linux, albeit the build without graphics. Do you have any idea when this bug was introduced and whether it is still present on the way-improvements branch?

It is odd that a Windows client should be able to stay in sync with a Linux server better than a Linux client.

I thought that your patches, which I had applied for the 11.25 build, included a patch reverting this change? I have not edited the code specifically for the server: the server is always built from the master branch from which all release builds are compiled.

It seems that I had omitted to apply all of TurfIt's patches, and the get_2d() issue had not been fixed. I have now pushed a new version, 11.26 (now running on the server), which does apply this patch. I should be grateful for feedback as to how this performs. Thank you everyone for your patience.