Simulate IO
RustEdit PlusSimulate in the IO Circuit window runs the map's IO entities as a Rust server runs them, but without playing. You see the power move through the circuit in the graph, one step at a time if you want. Use it to find out in which order a circuit works, or why a light stays off.
When the simulation stops, the map is as it was.
How to simulate a circuit
- Open .
- Select an IO entity in the scene, so the graph shows its circuit. Or turn on Show All.
- Click Simulate on the bar at the top of the window. The map's IO entities start. After about a second, generators, batteries and other power sources start to send power.
- Watch the graph. Each time an IO entity sends something along a wire, a pulse runs along that wire.
- Click Stop to end the simulation.
What you see
- Pulses. A bright pulse runs along a wire each time an IO entity sends something along it. A gray pulse means it sent 0, for example a switch that was turned off.
- Marked nodes. The node that sends has a colored border while its pulse runs. The node that gets it has the border when the pulse lands.
- Wires with power are thicker, with short marks that move from the output to the input. Wires without power are faint.
- Amounts. Each port shows its amount after its name: what an output passes on, and what comes into an input.
- The step list on the right of the graph. It has one row for each step: the step number, which IO entity and slot sent to which IO entity and slot, and the amount. The newest step is at the bottom.
The step list
- The list follows the newest step while you are at its end. Scroll up, and it stays where you are.
- Click a row to show that step in the graph. Its wire pulses again, its two nodes are marked, and the view moves to them.
- Click Steps on the bar to hide or show the list.
- The list keeps about the last 1000 steps.
Speed, pause and step
| Button | What it does |
|---|---|
| Pause | Stops the simulation where it is. The timers of IO entities stop too. Resume lets it go on. |
| Step | Runs the next step: one IO entity sends along its wires. It pauses the simulation first. If nothing waits to run, the next timer runs at once, for example a timer switch or the start of a power source. |
| Speed | The button shows the speed. Click it to pick one: Slow (one step a second), Normal (four steps a second), Fast (sixteen steps a second) or Game Speed (as fast as on a server: a circuit settles at once). |
When there is nothing left to run, Step says so in the Notifications panel. Use a switch, or feed an input power.
Use switches and buttons
Double-click a node to use its IO entity, as the player does with the use key. Or right-click the node and pick the action, for example Turn On.
Some IO entities need a player near them, for example a wheel switch you turn by holding the use key, a laser detector or an HBHF sensor. They do not work in the simulation. Try them in Play mode.
Feed power into an input
You can test a part of a circuit that has no power source, or a monument circuit that gets its power from outside.
- Right-click a free input port, one without a wire.
- Pick Feed Power, then an amount. The input gets this amount, as if a generator was wired to it. The port shows the amount with "fed" after it.
- To take the feed out, right-click the port and pick Stop Feeding.
A feed shows as a step in the step list. All feeds end when the simulation stops. An input with a wire cannot be fed: feed the input the wire comes from.
While the simulation runs
- You can move the camera in the scene view. The rest of the editor is dimmed and cannot be used, as in Play mode.
- Wires cannot be changed, and you cannot place or import IO entities.
- RustEdit does not save the map, also not with autosave.
- The play button in the middle of the scene view's header shows stop. Click it to stop the simulation.
- Closing the IO Circuit window or opening another map stops the simulation.
When the simulation stops, lights, doors, switches and the other IO entities are as they were before it started. The map's undo history does not change.
Troubleshooting
| Problem | What to do |
|---|---|
| Nothing happens after Simulate | Wait about a second: power sources start then. If still nothing happens, the circuit may have no power source. Feed an input power. |
| "Nothing is waiting to run" | The circuit is settled. Use a switch, or feed an input power. |
| An IO entity stays off | Look at the amount on its input. An IO entity needs at least the power it uses. |
| "Wires cannot be changed while the simulation runs" | Stop the simulation first. |
| Feed Power is not in the menu | The input has a wire. The menu shows "Has a wire". Feed the input the wire comes from. |