-
-
Notifications
You must be signed in to change notification settings - Fork 21
Networking

Version 2 of the network architecture identifies devices using their unique computer ID's rather than the channel they are configured to use. This allows using only 5 channels for the whole system, which are common across all the configured devices. The default channels are shown in the diagram above and the table below. On multiplayer servers, it is highly encouraged (and necessary if there is more than one system) to not use the default channels, as having two systems on the same network will cause undesirable behavior, such as devices linking to the wrong system.
Name | Default Channel | Purpose |
---|---|---|
SVR_CHANNEL |
16240 |
Channel for all devices to send messages to the supervisor |
PLC_CHANNEL |
16241 |
Channel for messages from the supervisor to the reactor PLCs |
RTU_CHANNEL |
16242 |
Channel for messages from the supervisor to the RTU gateways |
CRD_CHANNEL |
16243 |
Channel for messages from the supervisor to the coordinator |
PKT_CHANNEL |
16244 |
Channel for messages from the supervisor/coordinator to pocket computers |
Caution
Please DO NOT USE A PASSWORD THAT YOU ACTUALLY USE FOR ANYTHING ELSE! Facility authentication keys are not securely stored, so anyone with access to the server's file system or the computer can view them.
Message authentication is a user-configurable feature that's enabled if an authentication key is provided. Note, computing hashes and serializing the messages takes some additional processing time, though it appears to be worst case in the 10s of milliseconds. Coordinator status packets are the largest, so those take the longest, giving those 10-20ms hash/verify times.
This is authentication, not encryption. Data is still sent in plain text, but it has a message authentication key sent with it that is used to verify that the message contents were not modified and packets are from a trusted device part of the same system.
From Wikipedia: https://en.wikipedia.org/wiki/HMAC
In cryptography, an HMAC (sometimes expanded as either keyed-hash message authentication code or hash-based message authentication code) is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secret cryptographic key. As with any MAC, it may be used to simultaneously verify both the data integrity and authenticity of a message.
HMAC can provide authentication using a shared secret instead of using digital signatures with asymmetric cryptography. It trades off the need for a complex public key infrastructure by delegating the key exchange to the communicating parties, who are responsible for establishing and using a trusted channel to agree on the key prior to communication.
In this case, this prevents message forgery, which then prevents false status information, unauthorized commands, etc.
If you need help beyond this wiki, open a support discussion or ask on Discord! If you prefer videos, they can be found on my YouTube channel.
- User Manual
- Computer Applications
- Notable System Components
- Notes
- Investigations
- References & Resources
- Legacy