Royal Server Releases

Royal Server 4.00.50617

2021-06-17

Royal Server

Fixed

Fix incorrect version information suffix "beta" in About Dialog and Status Bar

Fixed

Fix automatic V3 to V4 migration of settings from to Windows Registry to %ProgramData%\RoyalServer\appsettings.json

Document Store

Fixed

Fix automatic V3 to V4 database migration

Royal Server 4.00.50610

2021-06-10

Royal Server

New

Royal Server V4 has been ported to a .Net 5.0 self-contained application. The installation contains all components of the app, including the .NET libraries and target runtime. Please consult the section V3 to V4 Migration Notes below.

New

Upgraded rights database. An existing V3 database will we migrated to a new database file at %ProgramData%\RoyalServer\royalserverV4.db.

New

Moved to file based JSON configuration stored in %ProgramData%\RoyalServer\appsettings.json

New

Royal Server IPAddress defaults to 0.0.0.0

New

SecureGateway.GatewayIPAddress defaults to 0.0.0.0

New

Added optional configuration using environment variables pre-fixed with RS_

New

Added customizable headers with configuration section CustomHeaders in %ProgramData%\RoyalServer\appsettings.json

New

Support for console logging

Improved

Added configurable rolling file behaviour for file logging with configuration key FileLogRollingInterval in %ProgramData%\RoyalServer\appsettings.json

Possible Values: Infinite (0), Year (1), Month (2), Day (3), Hour (4), Minute (5). Default Value: Day (3)

Improved

Changes in log format

Issue

Dropped support for HTTP only mode to improve security

Configuration Tool

New

Save configuration on pressing CTRL+S

New

Update UI on %ProgramData%\RoyalServer\appsettings.json changes

Improved

Modernized look using a vector graphic skin

Document Store

Improved

Disable all input elements on Document Store Configuration while Document Store is disabled

Improved

DUO dialog improvements

Modules

New

Support ignoring certificate errors when using HTTPS in VMWare module

Improved

Update VMware Tools mapping

Licensing

New

Royal Server V4 does not contain a default license anymore, but we will gladly extend a trial license if needed. Please request trial versions under https://royalapps.com/trial/.

V3 to V4 Migration Notes

Royal Server V4 has been ported to .Net 5.0 and is now a self-contained application targeting win10-x64 (Windows 10 / Windows Server 2016). The installation contains all components of the app, including the .NET libraries and target runtime. The app is isolated from other .NET apps and doesn't use a locally installed shared runtime. So you do not have to download and install a specific .NET framework in addition. For this reason the resulting installer is a larger in size (~140MB).

Configuration

Configuration settings are primarily stored in %ProgramData%\RoyalServer\appsettings.json.

However, there are a couple of settings that can only be managed via the Royal Server V4 Configuration Tool to keep them properly protected:

  • Worker Account Settings
  • Proxy Settings
  • MFADuoSecretKey
  • MFADuoIntegrationKey
  • MFADuoHost

Apart from that you can either use the Royal Server V4 Configuration Tool, or you can just modify it in the appsettings.json and then restart the Royal Server Service.

If the appsettings.json file is not present on start-up, it will automatically be generated and your settings from a previous Royal Server V3 installation will be imported. If no previous Royal Server V3 installation can be detected, default values will apply.

Furthermore, trace flags have been moved from app.config to %ProgramData%\RoyalServer\appsettings.json. They values can be configured in the section TraceFlags.

In addition, we added the possibility to optionally set configuration values using environment variables. Royal Server V4 environment variables have to be prefixed with RS_ followed by the corresponding key in the appsettings.json. As for hierarchical keys, the separator is a double underscore (__).

Examples:

 set RS_IPAddress="127.0.0.1"
     set RS_Port=8888,
     set RS_SecureGateway__GatewayEnabled=false
    

Database Migration

The underlying database used for storing access rules and multi factor authentication has been upgrade to the latest version which is not compatible with the old format. The database file from a previous Royal Server V3 installation at %ProgramData%\RoyalServer\royalserver.db will not be touched but migrated to a new database file at %ProgramData%\RoyalServer\royalserverV4.db. This way you can switch back to the a previous version.

Custom Header

You can add or disable headers using the section CustomHeaders in %ProgramData%\RoyalServer\appsettings.json if needed.

Example:

{
      "CustomHeaders": [

        {
            "Name": "X-Frame-Option",
            "Value": "SAMEORIGIN",
            "Disabled": false
        }
      ]
    }
    

File Logging

The file log provider uses a rolling interval and appends the time period between file name and file extension. The rolling interval is set using FileLogRollingInterval in %ProgramData%\RoyalServer\appsettings.json and the default is a Day (3).

Allowed values:

Name Value Description
Infinite 0 The log file will never roll. Appends no time period information.
Year 1 Roll every year. Appends yyyy.
Month 2 Roll every calendar month. Appends yyyyMM.
Day 3 Roll every day. Appends yyyyMMdd.
Hour 4 Roll every hour. Appends yyyyMMddHH.
Minute 5 Roll every minute. Appends yyyyMMddHHmm.

Dropped support for HTTP only

The flag UseSSL has been removed from configuration. Royal Server V4 requires now a certificate at all times to improve security. Please use the Royal Server V4 Configuration Tool to assign certificates.

Console Logging

For debugging purposes you might want to run ** Royal Server V4** directly with console logging enabled.

To do this, add these logging options in %ProgramData%\RoyalServer\appsettings.json:

{
        "LoggingOptions": {
            "WriteTo": [
                {
                    "Name": "Console",
                    "Enrich": [
                        "WithCategory"
                    ],
                    "Args": {
                        "restrictedToMinimumLevel": "Debug",
                        "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] [{Category}] {Message:lj} {Exception}{NewLine}"
                    }
                }
            ]
        }
    }
    

Then stop Royal Server, open a console window, navigate to the server's installation directory, and execute RoyalServer.exe.