The split server concept splits the traditional SystemWeaver server structure into two processes for better stability. This article describes the SystemWeaver Split Server and how to replace an existing swServer installation.

Examples of the Split Server

Together with a swSlaveServer:

The Split Server consists of two executables:

Executable Files


The swDBServer.exe is the main process which contains the connection to the database, cached data and all API logic.


The Systemite.SystemWeaver.TcpSubServer.exe manages the communication through TCP with all the clients and their connections. You should never start the Systemite.SystemWeaver.TcpSubServer.exe directly. It is automatically started by the swDBServer.exe when it is running.

Configuration Files and Logging

The swDBServer.exe is the main executable. For compatibility with swServer.exe and swTestServer.exe, it uses the same .ini and .props files as :

  • swServer.ini
  • swServer.props

The Systemite.SystemWeaver.TcpSubServer.exe does not need an .ini file. It gets its settings from the swDBServer.exe. It does, however, need its own .prop file for logging:

  • Systemite.SystemWeaver.TcpSubServer.exe.nlog

So, with a split server, there are two .log files – one for the swDBServer (swServer.log) and one for the Systemite.SystemWeaver.TcpSubServer (TCPSubServer.log).

Setting up and Running the Split Server


  • All servers and clients have been stopped
  • A backup copy of your existing SystemWeaver installation is available should a rollback be necessary
  • You have received a delivery of the SystemWeaver SplitServer from Systemite Support
  • You have received a new license file, if applicable, from Systemite Support

Follow the below steps to set up the required files and run the new split server.

  1. The SplitServer directory you received contains some entirely new files. They are:
    • CARoot.pfx
    • liblz4.dll
    • NLog.dll
    • swDBServer.exe
    • Systemite.Lz4.dll
    • Systemite.Lz4.pdb
    • Systemite.SystemWeaver.TcpSubServer.exe
    • Systemite.SystemWeaver.TcpSubServer.pdb
    • Systemite.SystemWeaver.TcpSubServer.exe.nlog
    • vcruntime140.dl
      (Note: This may depend on which version you are upgrading to. Contact to verify contents, if desired)

  2. Add the files from the SplitServer directory to the server directory where your existing swServer.exe is located. Any files in the existing server directory that are named the same should be overwritten. 
  3. The existing swServer.ini and swServer.props should remain in the existing server directory, as they will continue to be used by the new swDBServer.exe. The swServer.exe will no longer be used, but we recommend that you leave it in the directory for now.
  4. Open the Systemite.SystemWeaver.TcpSubServer.exe.nlog file and update the fileName= line to indicate the TCPSubServer.log file name and the correct path to it in your installation. This will differentiate it from the swServer.log and ensure two separate log files.
  5. Save your changes.

    Note: Make sure that the actual log file specified in the new Systemite.SystemWeaver.TcpSubServer.exe.nlog file is different from the log file specified in swServer.props.

  6. Open the installation’s existing swServerMonitorService.settings file.
  7. Replace ‘swServer.exe’ with ‘swDBServer.exe’.

  8. Save your changes.

  9. When you are ready to run the new split server, restart the SystemWeaver Monitor Service.

Activating DLQ Logging

When a split server is initialized for the first time, we typically recommend that you turn on DLQ logging. See Activating DLQ Logging.

In Case of Error

If you are in need of support relating to the Split Server, feel free to contact We can assist with SystemWeaver server application related issues. We may ask for you to provide the log files: 

  • swServer.log
  • swTCPSubServer.log

If you are running DLA logging, it may be sufficient to provide us with that alone.