servedat Configuration File

If you simply install servedat by running the "Install servedat" script, the default settings will allow clients to access the server using their existing system authentication credentials, and the default options should be adequate for most scenarios.

You may customize servedat by following the steps below to edit, install, and load a configuration file.  For the common task of customizing authentication and adding private users, the "Adding Users" chapter provides additional step-by-step details.


1.  Locate
A default configuration file is in the "Server Files" folder of your installation package.  If you have previously made changes to servedat's configuration, you may wish to start with your previous instead.

2.  Edit
If you are familiar with unix-style configuration files, you may edit directly using any text editor.  See the Format section below for specifications.  Remember to remove the leading hash mark "#" from a line to activate that setting.

Alternatively, you can edit or create files using DEI's secure online editor:

3.  Save
After making your changes, remember to save the file from your text editor or download it from the online form.  Keep a copy in a safe place for future reference.

4.  Install
For Windows and macOS, you may copy your edited into the "Server Files" folder of the installation package, then run the "Install Config" script.  This will copy the file into the System location.  Under Windows, you will need to right click on "Install Config" and select "Run as Administrator".  The macOS script may prompt you to enter your administrator password, and it will offer to restart the server.

You may also install the file manually by copying it into the appropriate location for your operating system.

5.  Restart servedat
An easy way to restart servedat, and ensure that you are running the correct version, is to re-install it.  Under Windows, right-click on "Install Servedat" and select "Run as Administrator".  For other systems, double click on the install script, or run it from the command line, and enter your administrator password.  You can skip this step if you already used the macOS "Install Config" script to restart.

Under macOS and other unix systems, you may signal the existing servedat process to reload its configuration without exiting the process by sending it the HUP signal.  For example, "sudo killall -HUP servedat".

Under Windows, you may restart the servedat Windows Service by using the Services administration utility.  Find the "ServeDat" service (or whatever name you have set as the ServiceName), right click, and select "Restart".

Note that any active transactions will be immediately terminated when servedat is restarted or reloaded.  By default, clients should resume interrupted transactions after a minute or two.  You can also use the mtping utility or check the server log file to see when the server is idle.

Locations and Load Order

On startup, servedat will attempt to load configuration information from three locations: a system-wide file, a home directory file, or a path given with command line option -f.

Mac / Unix Windows
System /etc/ %SystemRoot%\
Home $HOME/ %AppData%\DEI\
-f <path> <path> <path>

Settings will be honored in the following order of increasing precedence: built-in defaults, system configuration file, home configuration file, command line configuration file, then command line options.

You can disable all configuration files by using a blank path with -f.  This ensures that only built-in defaults and command line options are used.  For example:

servedat -f "" ...

Note that if the "-f" option is not empty, then the settings in the specified file will be merged with those of the System and Home configurations as described above.  Only a blank "-f" prevents those configuration files from being loaded.


The configuration file must encoded as UTF-8 (no BOM) or ASCII.  Each line in a configuration file must consist of up to 1022 bytes of text.  For Windows systems, lines should end with CR-LF.  For all other systems, lines should end with LF.

A line whose first byte is a hash (#) character or which consists entirely of spaces and tabs is ignored.  Leading spaces and tabs on an otherwise valid line are skipped.  Valid lines have one of the following formats:

<variable>=<value> <variable> <value>

The second form ignores any leading white space in <value>.  Variable names are not case sensitive.  See the enclosed file for an example.

Configuration variables, along with their corresponding command line options, are described in the Options section.

A configuration file must contain the following line to work with this version of servedat:

ServedatConfigVersion 1

Do not change or remove that value as it defines the format of the file and servedat may reject or incorrectly parse the file if it has a different number.

Values are set in the order they are read.  If you are enabling diagnostics, it is recommended that you do this as early as possible so that you can see diagnostics for the settings that follow.