Start RoboServer

A RoboServer can be started in several different ways:

  • By invoking it from the command line.

  • By running it as a service. See Start Servers Automatically.

  • By running the Docker container. See the Kofax RPA Administrator's Guide for details.

  • By clicking the RoboServer program icon (or the Start Management Console program icon which starts both the Management Console and RoboServer). For demonstration and testing purposes only.

To invoke a RoboServer from the command line, open a Command Prompt window, navigate to the bin folder in the Kofax RPA installation folder and type:

RoboServer

If all required parameters are specified in the C:Users\[User]\AppData\Local\[Version]\Kofax RPA\Configuration\roboserver.settings configuration file, the RoboServer starts.

If any of the necessary parameters is missing, the RoboServer specifies an error and displays the usage help and available parameters.

RoboServer Parameters

The command line for starting a RoboServer may include the following parameters:

RoboServer [-client] [-MC] [-mcUrl <arg>] [-cl <arg>] [-cpuThreads <arg>] [-h] [-maxConcurrentRobots <arg>] [-maxQueuedRobots <arg>] [-ss <MC Shared Secret>] [-p <arg>] [-pauseAfterStartupError] [-s <arg>] [-sslPort <arg>] [-v] [-V]

RoboServer accepts the parameters in the following table. Note that you can edit all the parameters in the RoboServer Settings application. See RoboServer Configuration for more details.

Parameter

Description

-mcUrl <arg>

This required parameter specifies which Management Console to register to in the following format:

http[s]://<hostname>:<port number>

Example: -mcUrl http://myserver:8080/ManagementConsole

When using Document Transformation step with a Callback option in a robot, use the RoboServer host name or IP address in the -mcUrl parameter. Do not use 'localhost', because the Document Transformation Service will not be able to reach the Management Console, and the callback robot will not be queued.

-ss

--mcSharedSecret <MC Shared Secret>

This required parameter specifies the shared secret used to authenticate RoboServer with Management Console. The shared secret should be copied from the Management Console Service authentication section. See Service authentication for details.

-cl

--cluster <arg>

This required parameter automatically registers a RoboServer with the specified cluster on the Management Console. In the following example the RoboServer registers itself with the Production cluster.

Example: -cl Production

Example: -mcUrl http://myserver:8080/ManagementConsole -ss <MC Shared Secret> -cl Production

-eh

--externalHost <port number>

Explicitly specifies the name or IP address of the RoboServer host.

This parameter should be specified when the host address is different from what a RoboServer discovers on the local machine, such as when running with NAT in the cloud, or when you run the RoboServer in a Docker container.

Example: -eh 10.10.0.123

-ep

--externalPort <port number>

Explicitly specifies the port number of the RoboServer host.

This parameter should be specified when the host port is different from what a RoboServer discovers on the local computer, such as when running with NAT in the cloud, or when you run the RoboServer in a Docker container.

-jmxPass

Sets the JMX password if you monitor a RoboServer with JMX application and require a password.

-v

--verbose

This optional parameter causes a RoboServer to output status and runtime events.

-V

--version

This optional parameter causes RoboServer to output the version number, and then exit.

-h

--help

Displays help.

-pauseAfterStartupError

Pauses if an error occurred at startup.

-s

--service <service-name:service-parameter>

This parameter specifies a RQL or JMX service that a RoboServer should start. This parameter must be specified at least once, and may be specified multiple times to start multiple services in the same RoboServer. The available services depend on your installation.

Example: --service socket:50000

Example: --service jmx:50100

See "Available services" in the table below for more information.

-p

--port <port number>

This is shorthand for calling -s socket:<port-number>

Example: --port 50000

-sslPort <arg>

This is a shorthand for writing -s ssl:<port number>

-nd

--NoDoc

This optional parameter disallows the robot documentation requests to this RoboServer.

-sn

--serverName

This is an optional parameter that sets the server name for logging RoboServer statistics, which is later displayed in Kofax Analytics for RPA. If you do not specify the server name, the statistics is collected based on the server IP address.

-ll

--licenseLimit <arg>

This parameter defines the maximum number of license units that a RoboServer may receive.

-client

Specifies that RoboServer should run as a client to a Management Console cluster. Not supported in High Availability mode.

Available services

--service socket:<portNumber>

Specifies that RoboServer should run as a service to a Management Console cluster.

<portNumber>: The port number for the socket-service to monitor.

--service ssl:<portNumber>

Specifies that RoboServer should run as a service to a Management Console cluster and creates a secure connection.

<portNumber>: The port number for the socket-service to monitor.

--service jmx:<jmx_port_Number>,<jmx_rmi_url>

<jmx_port_Number>: The port number for the JMX service to monitor.

<jmx_rmi_url>: Optional RMI host and port for the JMX service. Use if you need to connect through a firewall.

Example: example.com:51001

To set the connection type between the RoboServer and the Management Console, select one of the following parameters:

  • -client

  • --service socket:<portNumber>

  • --service ssl:<portNumber>

Examples of command lines that connect RoboServer:

  • As a client to a Management Console cluster:

    -client -mcUrl http://localhost:8080/ManagementConsole -cluster <clientCluster> -ss <MC Shared Secret>
    where clientCluster is the name of the cluster of the client connection type created in Management Console.

  • As a service to a Management Console cluster :

    -service socket:50000 -mcUrl http://localhost:8080/ManagementConsole -cluster <serviceCluster> -ss <MC Shared Secret>
    where <serviceCluster> is the name of the cluster of the service connection type created in Management Console.
To set the shared secret, you can use the RoboServer Settings application. For more information, see RoboServer Configuration and Service authentication.

Starting from Kofax RPA version 10, all RoboServers must auto register to the Management Console. Therefore, the URL and shared secret for the Management Console along with the cluster name must be specified when starting a Management Console (either at the command line as in the following example or using the RoboServer Settings application on the General tab under Register to a Management Console option).

RoboServer.exe -mcUrl http://myserver:8080/ManagementConsole -ss <MC Shared Secret> -cluster Production -service socket:50000

Start Servers Automatically

If your installation includes any server functionality, you can configure it to start the servers automatically.

When referring to "server functionality", RoboServers and Management Console (license server) are meant. In fact, these two functionalities are provided by the same server program, RoboServer, depending on the arguments supplied to it when it starts.

The RoboServer Parameters section contains a detailed description of the command-line arguments for the RoboServer program. To enable the RoboServer program to execute robots, specify the -service argument. Similarly, the -MC argument enables the Management Console functionality (see Management Console (License Server) in the Installation Guide).

For information about starting RoboServer and other RPA components as services, see "Run RPA Components As Services" in the Kofax RPA Administrator's Guide.

Shut Down RoboServer

RoboServer can be shut down using the following command line tool. Run ShutDownRoboServer without arguments to see the various options for how to shut down the server, particularly how to handle any robots currently running on the server.