Skip to content

Supervisor Configurator

Mikayla edited this page Dec 31, 2023 · 14 revisions

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 and shift+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

  1. Main Menu
  2. Change Log
  3. View Configuration
  4. Import Legacy config.lua
  5. Configure System
    1. Facility Configuration
    2. Network Configuration
    3. Logging Configuration
    4. Apply the Configuration

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 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.

image image

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.

image

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.

Import Legacy config.lua

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 reactor PLC. Fields will be pre-filled with existing configuration data if present, otherwise the defaults will be shown.

Facility Configuration

TBD

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.

Second, 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.

This may be changed in the future to block packets with nil distance if a max range is configured.

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.

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.

Clone this wiki locally