A technical overview of the Server State ecosystem
These components are "fixed", i.e., they cannot easily be adjusted. We keep them as small as possible, moving as much functionality as possible into modular components.
The Core Components include:
- the Server: The application that runs on your server. It's responsible for hosting necessary APIs as well as managing and running installed extensions
- the Client: A software running on your personal computer which provides a UI for interacting with the Server State Server. The "core" client, however, only manages connecting to the server and installing/uninstalling modular components, and is therefore pretty useless without having modular components installed.
Modular components, on the other hand, are optional, installable, and often interchangeable add-ons to the core components.
The modular components include:
- Extensions: Installable modules running on the Server that can both extend the GraphQL-based API (e.g., for adding new parameters that you can monitor) and take over essential server-side tasks such as logging or notifying you about critical values.
- Plugin (also: Widget): A plugin is, in some sense, to the Client what an Extension is to the Server. It extends the client with functionality. Usually, plugins add additional widgets for visualizing server parameters.