Appearance
Configuration
The configuration of the server is organized into several sections, each is accessible via a menu. This section covers all settings that should be reviewed or adjusted before regular use. All settings are saved in a control file, which can be loaded or saved as needed. Operational instructions (such as starting/stopping or automation) are covered in the next section.

Databases
Several databases can run simultaneously on the server. The data of each database is located in a directory. This directory contains subfolders for different database objects like dimensions, tables or users. In Databases, the directories of the databases are specified.

Parallel Load/Save
Loads and saves the databases in parallel (multithreaded).
Directories
List of database directories. The databases are loaded in the order of the list.
Bottom Menu
Add
Adds an existing database directory to the list.
Edit
Edits a database directory.
Delete
Deletes a database directory from the list. The directory in the file system is not deleted.
Up
Moves a database directory up in the list.
Down
Moves a database directory down in the list.
Menu
Back to main menu.
Database Control File
The text file Control.txt is located in each database directory that contains settings and information about the database.
Example:
Database=Finance
Catalog=False
OffsetMonth=1
Saved=2023-04-12 11:51:29
Version=20
WebDirectory=/home/taurec/web/protectedDatabase
Name of the database. It is used when the user logs on. The name can differ from the directory name. If a database directory is copied and should be run in parallel with the original, the Database name must be changed. Otherwise, an error message is displayed. If the control file does not contain the Database parameter, the name of the database directory is used.
Catalog
If True, the database is visible in the SHOW DATABASE CATALOG command. The default value is False.
OffsetMonth
Start month of the fiscal year (1=jan. till 12=dec.). The default value is 1 (jan.).
Saved
Last date and time when the database was saved from memory to disk. This parameter is used internally and should not be changed.
Version
The version of the database. An outdated server might not be able to load a database that was saved with a newer server version. This parameter is used internally and should not be changed.
WebDirectory
The web directory of the server is defined in the Endpoints menu. A database can be used to protect the entire web directory or subdirectories of the web server. In this case, a user must log on with a valid username and password of the database to access a web page. Basic-Access-Authentication is used for logon.
Passwords
Each database has two fixed users for administration. Sys and SysTech. The passwords for these users are not saved inside the database. They are set by the server at start. Every database of a server uses the same passwords for Sys and SysTech. The initial password is pass.

Sys
The user Sys has all privileges.
SysTech
The user SysTech can manage databases (e.g. create, load, or save databases) but cannot see data.
Bottom Menu
Menu
Back to main menu.
Services
The server not only delivers data, but can also deliver websites.

Data Service
Delivers the data that is queried.
Enabled
The data service can be enabled or disabled.
Port
Data service port. The default is 8700. The port must be enabled as an inbound connection in the firewall.
Max Threads per Query
Queries can be processed in parallel. This parameter specifies the maximum number of threads used by a query. The number of available threads on the server is shown in parentheses.
Web Service
Standard HTTP web service, which can be used to deliver static HTML files or a single page application (SPA).
Enabled
Enables or disables the web service.
Port
Web service port. The default port without TLS is 80. With TLS it is 443. The port must be enabled as an inbound connection in the firewall.
Directory
Root directory for the files that are served. The start file is index.html.
Bottom Menu
Menu
Back to main menu.
Server IPs
Enables or disables the TCP/IP addresses used by the server. If no IP is selected, all available IPs are used.

Bottom Menu
All
Enables all IPS.
None
Disables all IPs.
Change
Changes an IP.
Ask
Asks for each IP.
![]()
Menu
Back to main menu.
Connection

Auto Disconnect Minutes
Minutes after which an inactive connection is closed.
Max Connections
Indicates the maximum number of simultaneous http connections allowed for the server. If the value is 0, unlimited http connections are allowed.
Thread Pool
Every query/request runs in its own thread. Since it takes some time to initialize a thread, a thread pool is used that initializes and holds the number of threads specified by Thread Pool.
Bottom Menu
Menu
Back to main menu.
TLS
TLS encrypts the communication between server and client with OpenSSL. A valid certificate is required, which is stored in the Certificate File and Key File.

Enabled
Enables or disables TLS.
Certificate File
Path to the public certificate file. It contains the signed X.509 certificate. The file extension is normally .cer, .cert, .crt, or .pem.
Key File
Path to the private key file. It must be kept secure. The file extension is normally .key or .pem.
Key Password
Password for the private key (if protected).
Root Certificate File
Path to the root certificate file. It is used to protect/validate the public certificate. The file extension is normally .cer, .cert, .crt, or .pem.
DH Parameters File
Path to the DH parameters file (Diffie Hellman key exchange).
Bottom Menu
Menu
Back to main menu.
TLS Uses OpenSSL
If TLS is enabled, OpenSSL 3.x must be installed on the server.
Proxy
Proxies can be used when the server is located behind a reverse or edge proxy, like Nginx, Traefik, or Haproxy. When a proxy is used, some information of the server request (e.g. the requested URL or the IP of the client) is provided as if the proxy is the client. In this case, the IP of the client will always be the IP of the proxy server, not of the original client. Similarly, the requested URL is the one requested by the proxy itself, which might be different from the original URL requested by the client.
When proxies are allowed, the server will process the X-Forwarded headers sent by the proxy server, which hold information about the original client. The server modifies the request based on that information, so the request contains the original requested URL and IP.
Information about X-Forwarded headers:

Enabled
Enables or disables proxy IPs.
Allowed Proxy IPs
List of the allowed proxy IPs. If the list is empty, all proxy IPs are allowed.
Bottom Menu
Add
Adds a proxy IP.
Edit
Edits the selected proxy IP.
Delete
Deletes the selected proxy IPs.
Menu
Back to main menu.
CORS
CORS (Cross-Origin Resource Sharing) will allow clients to access the server even if it is in a different domain than the domain of the requested url. A * means that the server can be accessed by any origin. CORS sets the Access-Control-Allow-Origin header of the http response.

Bottom Menu
Add*
Adds a CORS.
Edit
Edits the selected CORS.
Delete
Deletes the selected CORS.
Menu
Back to main menu.
CSRF
CSRF (Cross-Sight Request Forgery) ToDo

Server Header
ToDo
Client Header
ToDo`
Bottom Menu
Menu
Back to main menu.
Client

Dynamic User Agent
Usually, a client uses the same user agent for each query. This is checked by the server. If different user agents are used for each query, Dynamic Client IP needs to be set.
Dynamic Client IP
Usually, a client uses the same IP address for each query. This is checked by the server. If a client uses different IP addresses for each query, Dynamic Client IP must be set.
Allowed Client IPs
Only specified client IPs are allowed to log in (whitelist). These can be single IPs or IP ranges. If no allowed client IP is set, every client IP is allowed.
Bottom Menu
Add
Opens an input to add a client IP to the list. An IP range needs to be separated by a minus sign.
![]()
Edit
Opens an input to change the selected client IP. An IP range needs to be separated by a minus sign.
Delete
Deletes the selected client IP from the list.
Load
Opens an input to load the allowed client IPs from a text file. IP ranges need to be separated by a minus sign.
Example:
127.0.0.1
192.168.179.10
192.168.178.40 - 192.168.178.50Save
Opens an input to save the allowed client IPs to a text file.
Menu
Back to main menu.
Log
Each database activity can be stored in a log file. The log files are stored in a directory of the server.

Directory
Directory for the log files.
Data Server
System
Logs the changes of databases (start, stop...), users (create, delete, new password...) or roles.
Connect
Logs connecting or disconnecting to a database.
Read
Logs reading data.
Write
Logs writing or changing data.
Error
Logs invalid commands.
Web Server
Web
Logs web server requests.
Bottom Menu
All
Enables all logs.
None
Disables all logs.
Menu
Back to main menu.
Log Files
Log files are created in Concatenated JSON format. Each log record is a JSON object. It starts with { and ends with }.
Example:
json
{
"info": {
"id": "{C2659CBE-57B4-4547-8A88-0EA912716AEA}",
"localdatetime": "2023-06-02 07:49:20",
"utcdatetime": "2023-06-02 05:49:20",
"database": "Demo",
"user": "Sys",
"endpoint": "Rpc",
"kind": "Read"
},
"connection": {
"clientuseragenthash": "1582899277",
"clientiphash": "1532542490",
"serverhost": "192.168.178.179",
"serverport": 8700
},
"requestheader": [
"accept-encoding=gzip, deflate",
"accept=application/octet-stream",
"authentication=`* Uid - Replaced in log `*"
"user-agent=Windows Console",
"content-type=text/plain; charset=utf-8",
"connection=Keep-Alive",
"content-length=103",
"host=192.168.178.179:8700"
],
"requestcontent": [
"SHOW ITEMS",
"DIMENSION=[Product]"
],
"responsestatus": {
"code": 200,
"reason": "OK"
},
"input": [
"SHOW ITEMS",
"DIMENSION=[Product]",
"// `* Uid - Replaced in log `*"
],
"output": [
"OK"
],
"statistic": [
"Records=7",
"Server Milliseconds=0",
"Stream Bytes=656"
]
}The log files are saved in the directory specified in Directory. New log files are created for every day. The file name contains the date. Different log files are created in several categories:
System Log
General changes are saved in the system log file (server start or stop, edit users, etc.).
System_YYYY_MM_DD.logDatabase Log
Each database has its own log file. The name of the database is included in the file name.
Data_❮Database❯_YYYY_MM_DD.logIndividual Database Log For a User
An individual log file can be created for a user. This parameter must be enabled for each user.
Log_❮Database❯@❮User❯_YYYY_MM_DD.logWeb Server Log
The web server has its own log file.
Web_YYYY_MM_DD.logLicense
The license determines how many users can be activated in a database. Name, user, and key must match and are assigned by support. An empty Name field starts the community edition. It is limited to 10 users and has no other restrictions. Any number of users can be created in a database, but users who exceed the number of licensed users will be deactivated, but not deleted.

Name
Name for which the license was issued.
Users
Number of licensed named users. Any number of users can be created in a database, but users who exceed the number of licensed users will be deactivated, but not deleted.
Key
Key that matches the name and the number of concurrent users.
Bottom Menu
Menu
Back to main menu.
Control File
The server settings are stored in a control file. This file can be located in different directories. The default location for the control file is the startup directory of the server. At startup, the server searches for the Control.txt file in this directory.
Alternatively, a custom control file can be used. With the start parameter ControlFile=, the absolute or relative path to the control file can be specified at startup.
Example:
./server.exe ControlFile=/home/taurec/application/temp/mycontrol.txt
Current Control File
Shows the latest loaded or saved control file.
Bottom Menu
Load
Loads the server settings from a control file.
Save
Saves the server settings to the current control file.
Save As
Saves the server settings to another control file.
Save To Startup
Saves the server settings to the startup directory of the server.
Menu
Back to main menu.
Control File Format
The control file saves the configuration parameters of the tabs in a text file. The parameters can be edited directly in the file if needed. Passwords are stored as hashes and cannot be changed in the control file.
Example:
# Databases
Parallel=True
DatabaseDirectory=/home/taurec/application/database/Finance
# Passwords
SysPasswordHash=e81e7562c094540a05c960e855f9e5eb7
SysTechPasswordHash=64f94284c259589c364783023bf8e9740
# Services
DataService=True
DataServicePort=8700
DataServiceMaxThreads=8
WebService=True
WebServicePort=443
WebServerDirectory=/home/taurec/application/web
# Server
ServerType=BuiltIn
AutoDisconnect=240
# Server, BuiltIn Server IPs
BuiltInIp=127.0.0.1
BuiltInIp=192.168.178.113
# Server, BuiltIn Connection
BuiltInMaxConnections=10000
BuiltInThreadPool=10
# Server, BuiltIn TLS
BuiltInTls=True
BuiltInTlsCertificateFile=/home/taurec/application/company.cer
BuiltInTlsKeyFile=/home/taurec/application/company.cer
BuiltInTlsKeyPassword=
BuiltInTlsRootCertificateFile=
BuiltInTlsDhParametersFile=
# Server, HTTP.sys (Windows)
HttpSysTls=False
# Security, Proxy
Proxy=True
ProxyIp=192.168.178.12
ProxyIp=192.168.178.22
# Security, CORS
Cors=*
# Security, Client
DynamicUserAgent=False
DynamicClientIp=False
AllowedClientIp=192.168.178.100
AllowedClientIp=192.168.178.110
AllowedClientIp=192.168.178.200 - 192.168.178.250
# Log
LogDirectory=C:\MyServer\Log
LogSystem=True
LogConnect=True
LogRead=True
LogWrite=True
LogError=True
LogWeb=True
# License
LicenseName=MyCompany
LicenseUsers=0
LicenseKey=09DA5171
# Startup (Windows)
Priority=Normal
ServiceName=TaurecServerLoaded Databases
If the server is running, the Loaded Databases command shows the list of loaded databases.

Bottom Menu
Create
Creates a new database.
Load
Loads an existing databases.
Save
Saves a database from memory to disk.
Reload
Reloads a database from disk to memory. All active users will be disconnected from the database.
Unload
Unloads a database.
Menu
Back to main menu.
Creating a Database
The Create command creates a new database. Each database is located in a directory and has a unique name. The database directory contains subfolders for different database objects like dimensions, tables, or users.

Name
Unique name of the new database. The name is stored in the file Control.txt, which is located in the database directory.
Directory
An empty directory, where the data is stored. After creation, this directory contains other directories like dimensions, tables, or users and the configuration file Control.txt. If the directory does not exist, it can be created.
Offset Month
The start month of the fiscal year (1=Jan. till 12=Dec.).
Create Admin User
Creates an Admin user with administrator permissions. In that case, the Sys user does not have to be used.
Admin Password
Initial password for the Admin user.
Add to Databases
After creation, the database can be added to the database directories.
![]()