News:

Want to praise Simutrans?
Your feedback is important for us ;D.

[Develnew 750f14c] Absolute block reservations through stations

Started by Ves, August 23, 2016, 12:58:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ves

Hi there!

I have been testing (initially on the server game until I found out that the server was not up to date yet) the new feature of absolute block going through stations. If you put two stations on the same line, the train will revert back to drive by sight after the second station. When the servergame is updated it will be observable on the stretch of test track which i just built there. Also, when attempting to reserve the whole stretch, it will reserve small stretches at a time which looks a little odd. Check the servergame when it gets updated or download a savegame from that and try on a new buildæ

Vladki


jamespetts

This problem is actually very complex because the new reservations through system changed some fairly fundamental things about how trains stopping at stations worked that were assumed in lots of hard to find places scattered all about the code, and it is difficult in many cases to work out with precisely what to replace those assumptions that does not confound a whole set of other assumptions made elsewhere and so on to infinite regress. I have pushed some changes which I think partly resolve this, but not fully yet.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Ok, thanks for looking into it!
On the servergame, I made a new testtrack (the old one probably got lost in the server update) with a similar setup, but with three stations. In the newest version of the game (commit 2a55d97ccf7563ece2251d57197ab2e096416f59) the little train will behave very strange: skipping stops, reversing at random stations even ignoring some signals.
Download the servergame and watch at fast forward with reservation tool selected as well as looking at the current working method of the trains (should be absolute block all the time).

Vladki

Sorry Ves, probably again lost your test track due to update.  I'm not sure when the server does autosave...

Hovewer I have added two stops on the main track - within 3-aspect and 4-aspect track circuit block sections - and the train does weird things: It accelerates on depurture, but slows down to 1 km/h one tile ahead of next signal, crawls that one tile at 1 km/h and then continues in drive-by-sight. Only when approaching second signal it turns back to circuit block.

On the branch line (Trnava - Selpice) I get frequent heads-on collisions, mostly due to choose-signals being ignored and track not being reserved at all after leaving the stop Trnava Predmestie. The train leaving "predmestie" does not reserve the track, but claims to run in track circuit method.

Also the one-train staff has some weird behavior - when the train in the on-staff zone reverses, the track is cleared and another train can enter.

I'm sending all the trains to depot to reset their schedules, and see if it can help.

Ves

Bah, it got lost again ;)
I think there is a simuconf setting somewhere that determines when the game is autosaved (I changed it to every month on my games), however, would it not be possible to save the game manually before the updating takes place?

Vladki

Setting autosave to 1. I'm not sure where I read about it, but the server should save game when someone connects. So I'll try to remember and save games before updates. Sorry about that. Please rebuild your test track

And wow, now the game crashed with: index out of bounds... And only now I realised I did not test online, but locally on my last save...

jamespetts

I have fixed a number of these issues now - I should be grateful for the results of any further testing.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

Wow that is amazing James! Will have to try it out when I get home tonight.

Vladki

I have updated the server game, but it does not seem to be any better.

BTW the remove reservation tool, seems to remove all reservations on the whole map.

I managed to get rid of some of the weird behavior by not using "mirror schedule" for trains, and specifying the route back manually.

Oh no, now I have seen quite funny teleportation of train... Perhaps the changes that were meant to make reservations through stations should be reverted. If that concept is so fundamental, its probably better to focus on other issues. If long block signals would work fine, then this won't be that much necessary.

jamespetts

Can you both give detail as to what problems yet remain?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

The train on the double line still reverts to 1 km/h at the tile in front of next signal.

Trains often keep in drive by sight even after passing a signal (track circuit or on-staff cabinet)

Trains often ignore signals, and drive in full speed, claiming track-circuit method, but not reserving anything, until they "crash" into another train.

one-staff region is temporarily unreserved when the train inside reverses, thus letting another train inside.

edit: I have managed to resolve most of the blockages and teleports, by changes in schedules, and by removing signals and building them again.
Funny stuff happens with respect to one-staff box - if the train "clayton" is sheduled to go non-stop from bohdanovce cattle yard to trnava dairy, thet it is ok, but if you add stops at selpice and nemcanka, it will turn to drive-by sight at the one-staff cabinets.

jamespetts

I have fixed some issues relating to signalling this afternoon, albeit I was testing with a different saved game. Would you be able to re-test and let me know which of these issues are fixed and which remain following the latest fixes? Thank you.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

I have tested the latest build 7f6a43312e4f7c89d7c05f7203056a8ce629bb15 and have been trying to make some conclusions based on my testtrack, albeit it is really hard as the trains behave quite differently every time.

Some quite consistent results:
To investigate these bugs, get rid of the blue train (eg by holding it at a platform)!
* When using the automatic reverse feature on the small train, the train tends to gets stuck in "reverse" mode.
* Probably connected to or even the cause to the above: The sign [<<] appears in the next destination at wrong places. When the train is going from terminus 2 -> terminus 1, the "next destination" field in the convoy window first correctly shows "Line stop 3", but the next shows as "Line stop 2 [<<]" which I guess means it would like to reverse at that point? After the halt at line stop 2, it says "Line stop 1" but the train never stops there. It continue to show "line stop 1" until it reaches the terminus 1.
* Messing with the "reverse route" button while the train is on the route makes it sometimes behave as it is supposed, sometimes not.

* The behavior of the small train can be described this way:
First, open its schedule and manually select "Terminus Station 1". The train will nicely go there and uncheck the "reverse route".
1 - It will drive in absolute block mode with reverse route unchecked and "Destination: Line stop 1" and stop at that stop.
2 - Continue in absolute block with "Destination: Line stop 2" and stop at that stop.
3 - Continue in absolute block with "Destination: Line stop 3" and this time one tile before the platform, slow down to 1km/h and drive that slow towards the stop. When clear of the tilebefore the platform, it accelerates and deccelerate to stop at the stop.
4 - Continue in absolute block with "Destination: Terminus Station 2 [<<]" and stop at that stop. The reverse route are checked.
5 - Reverses in absolute block with "Destination: Line stop 3" and stop at that stop.
6 - Continue in absolute block with "Destination: Line stop 2" and stop at that stop.
7 - Continue in absolute block with "Destination: Line stop 1" but does not deccelerate nor stop. When the train enters the tile before the platform, the line proggresion bar is updated and appears to show the position of the train in relative to the stretch "line stop 2" and "Terminus Station 1".
8 - After passing the "Line stop 1" at full speed, the train continues at full speed towards the terminus.
9 - Upon departure from "Terminus Station 1", the train drives in absolute block with "Destination: Terminus Station 2 [<<]". The reverse route is still checked.
10 - The train drives at full speed through all three line stops.
11 - Reverses again in absolute block with "Destination: Line stop 3" and stop at that stop.
12 - Continue in absolute block with "Destination: Line stop 2 [<<]" and stop at that stop.
13 - Continue in absolute block with "Destination: Line stop 1" but does again not deccelerate nor stop. When the train enters the tile before the platform, the line proggresion bar again is updated and appears. Also, the destination field shows "Destination: Terminus Station 1 [<<]" for a brief second before it returns to "Destination: Line stop 1".
14 - Now the train will continue the step 9 - 13 in eternity....


Bugs in correlation with the blue train:
* The 1km/h issue appears to happen when the signal is at danger. When getting rid of the blue train, the small train appears to approach the signals at expected speed. ALTHOUGH, there is the situation described above!
* The 1km/h issue appears ONLY to happen with the small train, NOT the blue train.

Some inconsistent results:
* Notice that the signals on "Terminus station 1" is placed behind the platforms (on "empty" tracks) and the signals at "Terminus station 2" is placed ON the platformends. The 1km/h doesnt appears to happen from terminus nr 2, so I tried to rebuild the signal at nr 1 to also be at the platform ends and that appears to get rid of the 1km/h issue. HOWEVER, newer runs on the 1km/h bug suggests it still happens while the signal is on its platform.
The above step by step description was performed after I had moved the signals at terminus 1 to the platform ends.


Im sorry for the long, complicated and somewhat inconcistent descriptions. I hope they can be of any help! :)

Incidentally, I would encline to agree with Vladki, that if you think this gets incredible difficult to solve with absolute block signalling through stations, you should only do it if you feel it is neccesary for the project.

Vladki

Server updated to commit 2f7b6f74a8d6dba45e91b09eab7d0eb0c5de6029

jamespetts

My apologies: I have pushed a further fix just as you have updated the server. Would you mind awfully updating it again?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.


jamespetts

More simultaneous than fast, I fear. I see on my local copy that some issues still remain, however.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Ves

I just realized that I forgot to revert the schedule of the small train to use the "reverse route" instead of the manually plotted reversed route! I apologize for that. It is now changed on the server.


jamespetts

I am currently reviewing old bug reports and I notice that this one appears to have no reported resolution. May I ask whether this can still be reproduced?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.