diff --git a/Mixins/FailoverManager/readme.md b/Mixins/FailoverManager/readme.md index 02dcc0a..fcd8e2f 100644 --- a/Mixins/FailoverManager/readme.md +++ b/Mixins/FailoverManager/readme.md @@ -6,7 +6,11 @@ This mixin allows multiple Programmable Blocks to coordinate with each other so * Everything assumes you're using [MDK2](TODO). Using this without MDK is possible, but is outside the scope of this documentation. (You probably just need to copy everything inside the `partial class Program` block for each mixin you're using into your own script, but I can't guarantee support for problems you encounter) * This requires my Console mixin as well. If you don't want to use that mixin's full functionality, you can use an EchoConsole (example below). -* If you aren't using MyIni to configure your script's blocks, you can also just pass `new MyIni()` and avoid instantiating an entire property +* If you aren't using MyIni to configure your script's blocks, you can also just pass `new MyIni()` and avoid instantiating an entire property. + +## Caveats + +* Scripts that are manually invoked via buttons or action bar actions (such as docking sequences, airlocks, scripts that activate mechanical sequences, etc) are typically tied to a specific Programmable Block. You can get around this by using a Timer Block to execute the script on all nodes; the executions will get ignored on the standby nodes. However, since this just introduces a new single point of failure, its utility is somewhat case-specific. This may still be advantageous for an airlock script (with a separate timer block per airlock) but not as helpful for a docking script invoked from a cockpit. Whether or not that's better than just running a separate script per airlock is left as an exercise for the reader. ## Usage