Command Line Options

The following command-line options are supported by the ts3d_sc_server application:

Setting

Description

Notes

``–id ``

This should be an identification string that can uniquely identify this invocation of the Stream Cache Server application. While the HOOPS Server application uses a standard UUID for this setting when it spawns a Stream Cache Server, no actual format for the string is enforced when not using the HOOPS Server. It is recommended that format be safe for URLs and filenames, especially if the liveliness reporting feature is used.

Required: yes

``–sc-port ``

The port number that will be used for websocket communication with an associated HOOPS Web Viewer client.

Required: yes

--license

A valid HOOPS Communicator license key must be specified. If this setting is omitted, then the --license-file setting must be used instead.

One of either this setting or --license-file setting is required. Default: empty

--license-file

A filesystem path to a valid license file can be used in place of using the --license setting

Required: One of either this setting or --license-file setting is required. Default: empty

--csr

If set to true, then client-side rendering will be enabled. This setting is independent from --ssr in that it is allowed to have both client-side and server-side rendering enabled. Note that if neither --csr or --ssr is specified, then the application will default to only enabling client-side rendering

Required: no, Default: true

--ssr

If set to true, then server-side rendering will be enabled. Note that if neither --csr or --ssr is specified, then the application will default to only enabling client-side rendering.

Required: no, Default: false

--ssr-gpu-index

For systems that have more than one GPU available, this value will indicate which GPU should be used if server-side rendering is enabled. The index value is zero-based, and should therefore be in the range 0 . If this setting is omitted, the system-defined default GPU will be used.

Required: no, Default: system-defined

--ssr-egl

When this option is enabled, EGL will be used to create the GL context if --ssr true is specified. Enabling this option removes the need for an X server to be running for hardware accelerated Server Side rendering. This option is reccomended on headless server environments and is currently only supported on Linux.

Required: no, Default: system-defined default

--log-file

Specifies a path to a file that will be used for diagnostic logging. The specified file should not be used simultaneously by any other Stream Cache Servers; therefore, we recommend using the unique identifier specified by the --id setting in the file name. If this setting is omitted or set as an empty string, then no logging will occur.

Required: no, Default: empty string

--log-file-category-mask

Used to indicate which categories of logging information should be recorded into the log file as specified by --log-file. The categories and associated mask value that can be bitwise OR’d together are: error=1, warning=2, informational=4, debug=8.

Required: no, Default: info|error|warning

--log-stdout-category-mask

Used to indicate which categories of logging information should be recorded to stdout. The categories and associated mask value that can be bitwise OR’d together are: error=1, warning=2, informational=4, debug=8

Required: no, Default: 0 (none)

--log-style-delta

If true, log entries using delta time format, otherwise absolute time.

Required: no, Default: true

--initial-use-duration

Specifies a time duration in floating-point seconds in which websocket activity from a HOOPS Web Viewer client is expected. If the duration is exceeded with no activity, then the Stream Cache Server will exit. Use ‘0’ to indicate no exiting due to inactivity.

Required: no, Default: 15.0

--model-search-directories

Specifies one or more paths to directories that contain CAD models available for streaming. When more than one directory is specified, each directory should be separated by a single ‘;’ character. Example: ‘/models1;/data/models2;/models3’

Required: no, Default: empty string

--model-file

Path to a model file that will override any client-specified models. When specified, the Stream Cache Server will only stream the specified model regardless of any HOOPS Web Viewer model requests.

Required: no, Default: empty string

--workspace-dir

Specifies a path to a directory that will be used for any temporary files generated by the Stream Cache Server.

Required: no, Default: empty string

--session-token

Specifies a token string that must match a token string supplied by any connected HOOPS Web Viewer, otherwise streaming will be disabled. There is no enforced format for this string, the server just requires it to simply match that provided by the HOOPS Web Viewer. An empty string for both the Stream Cache Server and HOOPS Web Viewer is the default and allows normal streaming.

Required: no, Default: empty string

--ssl-certificate-file

Specifies a path to an SSL Certificate file, which is necessary to enable the secure websocket protocol (wss) with any connected HOOPS Web Viewer. To use SSL, a private key must also be specified with --ssl-private-key-file. If this setting is omitted, non-secure websocket protocol (ws) will be enabled.

Required: no, Default: empty string

--ssl-private-key-file

Specifies a path to an SSL Private-Key file, which is necessary to enable the secure websocket protocol (wss) with any connected HOOPS Web Viewer. To use SSL, a certificate must also be specified with --ssl-certificate-file. If this setting is omitted, non-secure websocket protocol (ws) will be enabled.

Required: no, Default: empty string

--liveliness-endpoint

Specifies a base URL indicating where to report liveliness. Liveliness updates will be sent as an empty HTTP POST request to /?liveliness= where the liveliness value can be ready, ping, or disconnect.

Required: no, Default: empty string

--liveliness-update-frequency

Determines how often (in seconds) the liveliness state will be reported when --liveliness-endpoint has been specified.

Required: no, Default: 5.5

--exit-on-load-finish

When specified as ‘true’, the Stream Cache Server will automatically exit after the first requested model has finished streaming.

Required: no, Default: false

--sc-tick-timeout-ms

Specifies the amount of time in milliseconds that the Stream Cache Server will idle during its processing loop. A value of ‘0’ will cause no idling, which may help streaming performance slightly but will likely cause the application to continuously consume a high amount of CPU resource. Larger values will cause longer idling, which will reduce performance but also reduce overall CPU usage.

Required: no, Default: 10

--sc-verbose-logging

When set to true, this will enable more diagnostic logging to the debug category as mentioned in the earlier category-mask settings.

Required: no, Default: false

--service-respawn

This setting is useful when running the stream-cache server as a Windows Service and needing SSR support. A process spawned normally by a Windows Service will not have access to the GPU, and thus for this application would not be able to support SSR mode. However, when this setting is true, the ts3d_sc_server will ‘respawn’ itself using the originating command line arguments and the same user credentials as the winlogon.exe process for the current user. This will cause the respawned version to run in a different Windows terminal mode that is allowed access to the GPU, and thus enables SSR ability. The respawned version will perform all normal operations of the stream-cache server, including rendering and communication with the HOOPS server. The originating version will only forward standard out from the respawned version, and exit in unison with the same exit code. Important: Only available on the Windows Platform.

Required: no, Default: false

--service-respawn-log-suffix

When --service-respawn is ‘true’ and this application respawns itself, there is the potential for two distinct log files (one per process). This setting will control the naming for the originating process log file by appending this suffix to the standard log file name. If this value is unspecified or the empty string, then file logging for the originating process will be disabled. Regardless of this setting, the respawned process will utilize the standard log file name. This setting has no effect if --service-respawn is ‘false’. Important: Only available on the Windows Platform.

Required: no, Default: empty string