Supervisor Configurator - MikaylaFischler/cc-mek-scada GitHub Wiki
Supervisor Configurator Tool
The supervisor configurator tool can be brought up any time from the terminal by running configure
on a supervisor. It will automatically come up if there is no valid configuration present, as shown in the first screenshot below.
General Tips:
- You can paste values into number/text fields
- You can navigate around with
tab
andshift
+tab
(and arrow keys where applicable) - You can
ctrl
+a
or double click number/text fields to select all - When configuring the system, fields will be pre-filled with any valid existing configuration data
- You will be shown a summary of settings before any are saved
Table of Contents
Main Menu
Below are two examples of the main menu. If the configurator is started by the supervisor app itself due to a lack of configuration, the red warning text in the first example will be present. If a configuration is present, the view option and color options button will be enabled (unlike in the first example).
If a legacy config.lua
file is present, the import option will be shown as seen below.
Change Log
There is an embedded configuration file change log that will show what fields have been changed, added, or removed. This will help you figure out why a previously valid configuration may no longer be valid.
View Configuration
This option shows the currently active configuration of the device. Facility authentication keys will be censored via asterisks, but can be shown via the unhide button.
config.lua
Import Legacy This option is only available if supervisor/config.lua
is found. Those settings will be attempted to be imported and then a summary will be shown before the settings are saved.
Afterwards you will see this prompt.
Or this one if there was somehow a problem saving the settings.
Configure System
This option will walk you through configuring the supervisor. Fields will be pre-filled with existing configuration data if present, otherwise the defaults will be shown.
Facility Configuration
Facility configuration begins with setting the number of reactor units present. The system currently supports 1 to 4 total units.
After setting the number of units, you will need to input the number of boilers and turbines each unit has in addition to if it has a connection to a dynamic tank used for emergency coolant. Each unit can have 0 to 2 boilers and 1 to 3 turbines.
If you have indicated any units have dynamic tank connections, you will then be prompted about facility dynamic tanks. These are configured on an RTU as "for the facility" with an index (#1 for example). #1 would then translate to Tank F1 on the visualization used for dynamic tank mode selection described later.
If you choose to not use facility tanks, which is generally the path to take if you only have one reactor or have one tank per reactor, then the tanks connected to RTUs should be configured as "for a unit" with that unit's ID. If you mix and match these with facility tanks in facility tank mode, you will see these displayed on the right of the unit list as Tank U#, where Tank U1 would be the tank for unit 1.
Facility Tanks
When using dynamic tanks for emergency coolant, you have the option to assign them as facility devices rather than unit devices. Below, I have selected all four units as being connected to tanks in order to show the modes in full. If fewer than 4 tanks are selected, some modes will appear the same. If they appear the same, they will function the same.
Once you have selected facility dynamic tanks, you can then pick which units are using facility tanks and which are using unit tanks, as shown in the first screen below. This allows mixing and matching of tanks in order to match whatever in-world connections are already present, as shown in the second screen below.
There is an "About" button on this page that displays additional information and an example of how configuration works, which is shown below.
All Tank Modes
In order to demonstrate the different modes, this section contains previews for all of them when using 4 facility dynamic tanks. This was done using the below settings:
Below are the previews of all 8 of the different facility tank modes when using 4 facility dynamic tanks.
Network Configuration
You will need to provide channel information next. These are the channels you have chosen per this page, or they may be the defaults. Defaults are perfectly fine on single player, though not recommended on multiplayer if any other people may be using this project.
Next, continuing network configuration, there are some more options. There are the connection timeouts, which decides how many seconds to wait before assuming the connected devices are no longer available. If your server is very laggy, you may need to increase this, but be wary of the RTTs that the supervisor shows on its front panel screens.
After that, for a very basic level of security/utility there is the connection range, which prevents the supervisor from receiving any network packets that are beyond this distance away. A value of 0
disables this feature, allowing packets from any distance. Note, cross-dimensional packets (such as nether to overworld) have a nil distance, so with this feature enabled they will always be ignored.
Finally for network configuration is a more solid security feature (solid enough for a block game). You can provide a passkey as a facility key (same for every device on your network) that will be used to perform an HMAC-MD5 message authentication hash on each packet. This verifies packets received are authentic and from one of your devices. It does NOT encrypt your data (that takes far too long), but there should be no need for it to do so. This feature prevents others from connecting to or even controlling your system.
Please DO NOT USE ONE OF YOUR REAL PASSWORDS. This key is stored in plaintext (human readable), so anyone who has access to that computer or the server's filesystem (like admins) can see it.
Logging Configuration
Before reaching the summary page, you will configure logging. This is likely to be unmodified, unless you want to store log files on a separate disk in-game for storage size reasons. That would allow for larger log files.
- Log file modes are either "replace the log file each time the main supervisor program starts" (not recommended) or "append to the log file each time the main supervisor program starts" (recommended)
- Log path should be a valid path to somewhere that a file can be created, otherwise the system will error on start
- Debug messages are only really valuable for finding bugs of course, so if you have a problem and can send more detailed logs by reproducing the problem with debug messages enabled, that's ideal. If you are out to break the program, you might as well enable debug messages before you attempt to do so so the logs are already there. Do be aware this results in significantly larger log files, which may cause them to be recycled (cleared and restarted) more often if there are space problems.
Color Options
With color options, you can customize themes and color accessibility options. The supervisor has one theme option, which is for its front panel. Sandstone is the "light" theme (default), and Basalt is the "dark" theme.
Color Accessibility
Clicking "Accessibility" will bring up the color accessibility options. Here you will find a set of color modes intended to help with different types of colorblindness, plus options to change indicators to be black when off or change greens to be blues. The three colorblindness modes always set indicators to be black when off and green indicators to be blue, in addition to shifting the other colors used for indicators. For all modes, a preview of what the indicators will look like is shown. Note that exact colors vary by the theme you have selected since contrast needs to be maintained.
See this page for details on colorblindness modes.
Color Modes
Standard
: Standard green/yellow/red shades with color tinted backgrounds.Deuteranopia
: Colorblindness mode targeted for Deuteranopia that uses modified blue/yellow/red shades with black backgrounds. This has the same blue shade as Protanopia, but red and yellow are different.Protanopia
: Colorblindness mode targeted for Protanopia that uses modified blue/yellow/red shades with black backgrounds. This has the same blue shade as Deuteranopia, but red and yellow are different.Tritanopia
: Colorblindness mode targeted for Tritanopia that uses modified blue/yellow/red shades with black backgrounds.Blue for 'Good'
: Swaps blue in place of green in indicators. Uses standard shades for yellow and red, and maintains color tinted backgrounds.Standard + Black
: Same asStandard
, except indicators have black backgrounds.Blue + Black
: Same asBlue for 'Good'
, except indicators have black backgrounds.
Jump to Color Options
If you jump to the color options from the main page, you will be able to apply the settings right away afterwards.
Once you apply, you will see this screen.
Or this one if there was somehow a problem saving the settings.
Apply the Configuration
Lastly, you will see an overview of all the configurations that are going to be applied. Auth keys are hidden in this view until you use the unhide button (this does not affect how they are stored).
Once you apply, you will see this screen.
Or this one if there was somehow a problem saving the settings.