Skip to content

Legacy Config

Mikayla edited this page Mar 5, 2024 · 4 revisions

Config Files

These are intended to be self-documenting by the comments, but here are the example ones and I'll attempt to explain details. These files are imported into the lua code and are not parsed. If there is invalid lua code in here the system won't start. Validation of field types/data is performed when possible. The config.lua file can be found in the program directory (such as /rtu/ or /reactor-plc/ or /coordinator/).

Common Configuration

These fields (except for COMMS_TIMEOUT) are used for all devices in their configurations.

  • TRUSTED_RANGE this should be an integer ≥ 1 if you want to use range limiting. This prevents devices from accepting messages from devices outside of this distance (in blocks).
  • COMMS_TIMEOUT this is the time before an existing connection is closed due to no messages being received. Sometimes it will use a different name depending on if a device has more than one connection type.
  • AUTH_KEY this is a string pass-key or nil. Do not use a password that you use for anything else, as these are stored in plain text and therefor viewable by anyone with access to the computer or the server's filesystem. When a string is provided, it is used as the authentication key for HMAC message authentication, preventing message packets from being accepted by that device if they fail authentication. Note, this is not encryption, data is still readable by anyone. What it does protect against is control messages or interference by devices without your authentication key.
  • LOG_PATH the path to the log file to use. This file will be created if not present, and will be 'recycled' if it runs out of disk space (cleared and started fresh).
  • LOG_MODE determines of log files should be 1 cleared on application start or 0 appended to.

Network Channels

As you set up your system, keep in mind (or write down) the network channels you will be using. The defaults are listed below, and anywhere where their names are used in config files, the same number must be used.

  • SVR_CHANNEL : default 16240, channel for supervisor communication (listened on by the supervisor)
  • PLC_CHANNEL : default 16241, channel for PLC communication (listened on by all PLCs)
  • RTU_CHANNEL : default 16242, channel for RTU communication (listened on by all RTUs)
  • CRD_CHANNEL : default 16243, channel for coordinator communication (listened on by the coordinator)
  • PKT_CHANNEL : default 16244, channel for pocket computer communication (listened on by all pocket computers)

Device config.lua Files

Clone this wiki locally