Getting started
This document will give a detailed overview of the RAVAS Central Server once it has been installed.
First start
Open the web interface in a browser, by default at http://localhost:7080 on the server itself. On first use it leads through these steps:
- Product activation: enter the license, see Activation.
- Welcome: create the first administrator account, see Create an administrator account.
- Authentication: log in with that account.
Server configuration
By default the server listens on http://0.0.0.0:7080, which means port 7080 on all network interfaces. Other computers reach it at http://<server address>:7080.
The configuration files are located in the same folder as the executable (C:\Program Files\RAVAS\Central Server\server):
appsettings.json: the defaults shipped with the server. This file is replaced on every update.appsettings.Production.json: settings that overrideappsettings.json. This file is kept across updates. The installer creates it with the database connection string, including the generated database password, and restricts it to SYSTEM and Administrators, so open it with an editor started as administrator. Installations whose database was created by an installer older than version 1.0 may not have this file; create it when needed.
You can adjust the current port and host by adding a Kestrel:Endpoints section to appsettings.Production.json. An endpoint named HttpApi replaces the default one; endpoints with other names are added to it, so multiple concurrent endpoints may be defined. When this file is updated (provided it is valid) the server applies the changes without a restart.
{
"ConnectionStrings": {
"LocalDocker": "Host=localhost;Port=5432;Database=ravas_rcs;Username=postgres;Password=<generated password>"
},
"Kestrel": {
"Endpoints": {
"HttpApi": {
"Url": "http://0.0.0.0:8080"
}
}
}
}
If the file contains a ConnectionStrings section, keep it as the installer wrote it. The Windows Firewall rule added by the installer applies to the server program, not to a port, so it does not need to change with the port.
HTTPS
By default the server serves the web interface and the API over plain HTTP: passwords, session cookies and access tokens travel unencrypted. This is intended for a trusted local network. There are two ways to use HTTPS.
The server can serve HTTPS itself with a certificate in a .pfx file, by adding an endpoint to appsettings.Production.json:
{
"Kestrel": {
"Endpoints": {
"HttpApi": {
"Url": "http://localhost:7080"
},
"Https": {
"Url": "https://0.0.0.0:7443",
"Certificate": {
"Path": "C:\\ProgramData\\RAVAS\\certificate.pfx",
"Password": "<certificate password>"
}
}
}
}
}
Binding HttpApi to localhost as above keeps plain HTTP reachable only from the server computer. Browsers only trust the certificate if it is issued for the name used to open the web interface by a certificate authority they trust.
Alternatively, put the server behind a reverse proxy that terminates TLS, for example IIS with URL Rewrite and Application Request Routing, nginx or Caddy:
- forward all paths to the server, including WebSocket connections: the web interface receives live updates over
/api/v1/mainhub; - if the proxy runs on the same computer, bind the server to
http://localhost:7080(see above), so it cannot be reached over plain HTTP from the network.
Clients of the legacy routes then also have to use the proxy address. The RDC server and scale discovery do not use HTTP and are not affected.
Activation
A valid license is required in order to use the RAVAS Central Server. To acquire a license, contact Dorin at dorin.cascaval@ravas.com.
Without an active license the web interface only shows the Product activation page. Paste the license key into the License code field, or choose the file containing it under License file, then select Submit. While no license is active, anyone who can open the web interface can activate one.
Once activated, the server stores the license encrypted in the license.key file in the executable folder (C:\Program Files\RAVAS\Central Server\server\license.key). Whenever the server starts it reads this file to retrieve the current activation status. The license is independent of the database installation, and is kept across updates.
The encryption keys belong to the Windows installation the server runs on, so the license is bound to that machine. Moving the server to another computer, restoring it on another computer or reinstalling Windows requires activating the license again: keep the license key. When the stored license cannot be used, the activation page says why, for example that it has expired or that it "was activated on a different machine or installation and must be activated again".
The server checks the license expiration at startup and every hour. Once the license has expired, requests to licensed functions are refused until a new license is activated.
Renewing the license
Once a license is active, only administrators can activate another one, from License → New license. Renewing an active license keeps the application settings. Activating a license while none is active (the first activation, or after the previous one expired or was deleted) resets the application settings to their defaults.
A license cannot be activated more than a day before its start date. A renewal can be activated earlier, as long as it starts no later than one day after the current license expires.
License → Delete license removes the active license. The server is unusable until a new license is activated.
Feature flags
There are 3 feature flags that are controlled by the license the server is activated with. The License page lists them as modules:
rdcFeature(RDC): RDC-compatible functionality allowing RAVAS indicators set in RDC mode to push weights to the server, see the RDC service. This also covers weights uploaded over HTTP to the legacy upload route and the API upload routes.scaleManagementFeature(Scale management): Allows the managing of scales. Once a scale is managed, the server attempts to maintain an active connection to the scale at all times, tracking, remembering and showing its liveliness status in real-time. This feature flag also enables reading weights and sending commands to scales from the web interface and the API, including the legacy RIS routes, and the connectivity settings.dataCollectionFeature(Data collection): Allows the server to collect data from scales. This includes parameter values and updates as well as logs from RedBox devices, weight updates and application logs related to scales from all compatible indicators. Data collection also requires the scale management feature. The server stores information whenever possible: either because a scale is managed, or because a request from an external service was forwarded to the scale. Information on parameters, weights, etc. may be viewed in real-time as well as historically in the web interface.
Saved weights can be viewed and exported with either the RDC or the data collection feature. Accounts, settings, the scale list, adding, editing and deleting scales and the application logs are available with any active license. Requests to a function the license does not cover are refused with status 403.
A common setup is RDC only. Scale management with data collection gives the RIS-like mode, which allows access to scales through the REST API.
License structure
A server license contains the following information encoded in JSON, secured by a digital signature:
- Start & end dates, and the time zone they are shown in
- Enabled features
- Customer name & email
- Other metadata, such as the license type
The key is represented as a fairly lengthy string which can be either pasted into the License code text field or uploaded as a text file containing the key text.
The license key is formed by concatenating the minified JSON-encoded data, followed by a newline character, followed by the digital signature encoded in Base64. Commonly it may look like the following:
{... "dataCollectionFeature":true,"expiresAt":"2026-07-17T09:32:41.8499839+02:00" ...}
...AGOXfycSTUAFUs5SAjod2WqS6HoA...==
Create an administrator account
Similarly to a lack of license, unauthenticated users will not be able to access the central server.
On an empty database without users, you will be prompted to create a default administrator account. This page is only available while the database contains no accounts at all. Make sure to remember the username and password. If every administrator loses access, the accounts can only be reset from the server computer, see Forgotten passwords.
Otherwise, this account is nothing special. Other administrator accounts may be created afterwards, and there is always at least one administrator, because administrators can neither delete their own account nor remove their own Admin role.
For security reasons, the password requirements are a little annoying:
- At least 8 characters
- At least one uppercase letter
- At least one lowercase letter
- At least one digit
- At least one non-alphanumeric character (e.g.
!@#$%^&*-_)
After 5 failed login attempts the account is locked for 5 minutes. The login page shows until when.
You may tick Remember this browser, which keeps the session in a persistent cookie. The session will remain valid until you either log out manually or you do not access the system for 30 days. With regular use it renews itself. Without it, the session ends when the browser is closed.
Most REST API requests must also be authenticated, this is elaborated upon in the API documentation.
Roles and accounts
Each account has zero or more roles:
| Role | Permissions |
|---|---|
Admin |
Everything a Manager can do, plus managing accounts and the license |
Manager |
Changing application settings, adding, editing and deleting scales, restoring or permanently deleting scales from Deleted scales, sending commands to scales, testing scale connections |
| (no role) | Viewing scales, weights, logs and settings |
Administrators manage accounts from Accounts and Add account. When editing another account, an administrator can change its username, email and roles, and set a new password without knowing the old one.
Every user can change their own username, email and password on the My account page, opened from the user menu at the bottom of the sidebar (Settings). Changing the password there requires the current password.
Role and password changes reach sessions that are already open within 5 minutes.
Web interface
The sidebar contains the following pages:
- Monitoring: overview of connected and disconnected scales, uptime and weights.
- Scales: managed scales and other known scales. Selecting a scale opens its page with these tabs:
- Weight: the latest weight and the collected weight updates
- Saved weights: the scale's saved weights
- System: RedBox scales only, device information and parameters
- Commands: get the weight, set zero, automatic and manual tare and, on ASCII scales, ASCII commands
- Configure: network location, protocol, custom ID and name, managed state and, on ASCII scales, the stored ASCII properties
- Logs: the scale's logs
- Add scale (managers): add a scale by its IPv4 address and protocol.
Test connectionconnects to the scale and fills in theScale unique name. - Application logs, Saved weights, Weight updates: see Data collection.
- Settings: the application settings.
- Administration: Accounts, Add account and License (administrators), Deleted scales (managers).
The connection status of a scale is shown as Connected, Connecting, Disconnected, Error or Pending. Pending means the server is waiting before the next reconnection attempt.
Deleting a scale moves it to Deleted scales, from where it can be restored. Deleting it there permanently removes the scale together with all its data, including saved weights.
Application settings
Once you have a licensed, authenticated session, you may begin using the system. There are a few application settings available to configure background operation and system behavior.
Application settings may only be changed by users with the Manager or Admin roles. They are stored in the database.
Some settings are unavailable with a restricted license; they are listed below assuming everything is available.
Services
- RDC server (port &
Enabled)
configures on which port (default 5555 & enabled) the RDC service will listen for push data records (PDR) from RAVAS indicators on the local network set to RDC mode. The port can be between 1 and 65535. Requires the RDC feature. For more details on how the RDC service works, see the Services documentation.
- Discover RedBox scales - default
enabled
configures whether to periodically scan for RedBox scales on the local network. When enabled the server sends a broadcast UDP packet on port 49111 to automatically discover RedBox scales.
- Discover ASCII scales - default
enabled
configures whether to periodically scan for ASCII scales on the local network. When enabled the server sends a broadcast UDP packet on port 30718 to automatically discover RAVAS indicators using the xPico series Wi-Fi module.
Connectivity
These settings require the scale management feature.
- Disconnect timeout (milliseconds) - default
10 000, from 500 to 60 000
time of inactivity in milliseconds after which the server queries a device for activity, reconnecting if it does not answer.
- Reconnection time step (milliseconds) - default
1 500
time in milliseconds that the server adds to the wait before each further reconnection attempt after a connection failure.
- Reconnection maximum time (milliseconds) - default
60 000
maximum time in milliseconds that the server will wait between reconnection attempts.
Data collection
Data collection can also be toggled as a whole. It is disabled if the license does not include both the data collection and the scale management features.
- Collect weight updates - default
enabled
whether to collect weights from connected devices, either because they are managed or because a request is forwarded to them
- Collect device-related application logs - default
enabled
whether to store device-related logs (such as connection events) in the database for easy lookup (all logs are stored regardless in log files on disk)
- Collect RedBox device logs - default
enabled
whether to collect the logs generated by RedBox devices in the database while they are connected (these logs are not stored in the log files). Requires Collect device-related application logs.
Data retention
These settings change how long collected data is kept. The database automatically deletes records older than the time span set.
- Application and device logs retention time - default one month
application logs and device logs stored in the database. The log files on disk are not affected.
- Device weight retention time - default one year
weight updates, along with the connection history of scales (used by the uptime charts on the Monitoring page).
Both can be set from one hour up to 30 years. TimescaleDB deletes data in whole chunks of time, so records may be kept somewhat longer than the time span set.
Saved weights, including weights received through RDC, are never deleted automatically, and neither is the history of RedBox parameter values.
Security
- Require authentication for legacy routes - default
enabled
whether requests to the legacy /rest/scale/ routes (the RIS weight routes and the RDC HTTP upload) and to the weight upload routes /api/v1/devices/save-weight and /api/v1/devices/save-weight/redbox must be authenticated. See the API documentation.
Warning
With this setting disabled, anyone on the network who can reach the server can read weights from scales through the legacy routes and upload weights without logging in. Disable it only for legacy clients that cannot authenticate, on a network where that is acceptable.
Without the scale management feature this setting is always enabled.