+ This application was developed by Andrew Lalis + after several years of tinkering with various ways to automate rail + networks in Minecraft. +
++ This web app was built using Quasar + and VueJS. The API that powers this + application was built using Spring + and Java 17. For more technical information, please visit Rail Signal's + GitHub repository. +
++ If you're enjoying this app, please consider making a donation to + Andrew's work on paypal. +
+- This is the index page. -
++ To begin, expand the menu on the left, and select a rail system, or + create a new one. The remainder of this page will serve as a quick + guide on how to use Rail Signal to manage your rail system more + effectively. +
++ The above diagram illustrates all of the basic concepts you need to + know in order to build and manage your rail networks. +
++ Each rail system can be conceptually split up into lots of small + segments, each of which represents a single part of + the network that a single train should go through at once. For + example, in our diagram, each shaded area is a segment. We only want + one train to go through the junction at once, or there might be a + crash! +
++ At the places where segments meet, we see a segment boundary + which is also denoted with a red dotted line for convenience. This is + a physical point on a track where trains travel from one segment to + another. What's special about segment boundaries is that they're where + we can used devices to track trains moving in and out of segments. To + put it simply, imagine there's a little computer next to each segment + boundary point that sends a message saying, "Hey! A train just passed!" + every time that it detects a train going over it. +
++ Now that we've covered segments and segment boundaries, we can now + display a segment's status using a signal. A signal + is a device that is linked to a segment, and whenever the segment's + status updates (when a train enters or leaves it), the signal + will be updated as well. Usually, signals are placed near the segment + boundary, so that approaching trains know whether they're safe to + continue, but with Rail Signal, you can place a signal anywhere, and + connect it to any segment. +
++ Finally, unless you're just making a boring single-line loop, you'll + most likely have some switches + in your network. Switches are just sections of rail that allow trains + to choose between two different paths to take. Rail Signal gives you + the ability to manage these automatically, so you can use this web + interface to configure switches instead of doing it manually. +
++ We mentioned segment boundaries and switches earlier, as simple + components that you can add to your network in order to link it to the + internet. There's more to it than that, however. +
++ Behind the scenes, your Rail Signal models your network as a set of + path nodes, where each node can be connected to any + other number of nodes. A train travels through your network by moving + from node to node, until it reaches its desired destination. Both the + segment boundary and switch are types of path nodes. +
++ The above diagram shows a more typical network arrangement for a large + scale, two-way mainline. Here, we see that each side of the main line + has its own segment, so that trains can travel past each other without + issue. We make the entire junction a single segment, so that only one + train can pass through at a time. More advanced setups might have + separate segments for bypass lines to avoid traffic jams. Beside each + entrance and exit to the junction, we've placed a signal. On the + outbound segments, the signal will report the status of the outbound + segment, while on the inbound segments, the signal will show the + status of the junction segment. +
+