# Replication Server CLI

Found in `<package-root>/.Runtime/<platform>/`.

### Worlds

`replication-server --help world`

```

--log-target=LOG-TARGETS                    One or more log targets separated by comma or in separate arguments (console|file):(plain|colored|json):(trace|debug|info|warn|error):[filePath]
--log-file=LOG-FILE-STRING                  [Obsolete - use --log-target] log output file
--log-level=LOG-LEVEL-STRING                [Obsolete - use --log-target] the log level
--log-format=LOG-FORMAT                     [Obsolete - use --log-target] output format of the log
--eula                                      If true, prints the end-user license agreement and quits
--env="enduser"                             Environment in which the server is executed
--local-ip-override="127.0.0.1"             IP to bind the http servers too.
--port=0                                    [Obsolete] The port to listen to.
--stats-port=32000                          The port to listen for stats scrapers. Also enables pprof.
--udp-port=32001                            The port to listen to.
--tcp-port=32001                            The port for TCP to listen to
--signalling-port=32002                     Port for signalling, only used if --web-support is true
--web-port=32003                            Port for webrtc, only used if --web-support is true
--api-port=32004                            The port for api to listen to.
--use-p-prof                                Enable pprof on APIPort
--frequency=20                              [Obsolete] use SendFrequency instead.
--send-frequency=20                         The server send frequency.
--recv-frequency=60                         The server packet receive frequency packets/s. Packets received faster than this will be dropped and the connection throttled.
--disable-throttling                        Disable all packet throttling. Best used with 3rd party network relays that already support DDOS detection and throttling.
--schema=STRING                             The schema file (.schema).
--disconnect-timeout=5000                   Disconnect timeout (in milliseconds).
--retry-delay=1000                          Connect retry delay (in milliseconds).
--debug-streams                             Use debug streams.
--max-entities=65536                        Maximum number of entities allowed.
--max-clients=200                           Expected maximum number of clients.
--max-queries-per-client=15                 Maximum number of queries per client allowed.
--min-query-distance=0.1                    Minimum distance for query change.
--web-support                               [Deprecated] Does this support web connections.
--public-ip=""                              Public IP of the replication server, used by webrtc.
--out-stats-freq=1                          Frequency, in seconds, of updates to prometheus stats
--log-stats-freq=0                          Frequency, in seconds, of output of stats to INFO logs. 0 - no output
--secret="local-development"                Secret used for API request and client authentication. The default value is used during local development only.
--project-id="local"                        ID of the project as assigned by the portal.
--unlock-token=""                           Token to remove RS restrictions.
--analytics-enabled                         
--version-override=""                       Override the RS version. For debug purposes.
--persistence-enabled                       [Experimental] If enabled, starts replication server with persistence attached.
--persistence-target-format="binary"        [Experimental] Serialization target format. If format is different than 'binary' a migration will happen.
--persistence-save-file-name="world"        [Experimental] The name of the persistent save file. Extension is based on the target format.
--persistence-save-folder="."               [Experimental] The folder where the save file is written.
--persistence-save-frequency=30             [Experimental] The frequency in which the save file is written (in seconds).
--persistence-query-world-position="0,0,0"  [Experimental] Position of the center of the entity query.
--persistence-query-radius=10000            [Experimental] Radius of entity query.
--persistence-disable-s-3-storage           [Obsolete] Enable to disable storing to S3.
--persistence-upload-size-threshold=1024    [Obsolete] Difference in bytes to cause an s3 upload.
--persistence-upload-frequency-forced=3600  [Obsolete] The maximum number of seconds between forced s3 uploads.
--wait-for-persistence                      [Experimental] If enabled, replication server waits for persistent data to fully load before allowing any clients to connect.
--auto-shutdown-timeout-ms=0                Empty replication server auto shutdown timeout (in milliseconds), minimum 10000, disabled if 0
```

To start the Replication Server, you need to give it the location of the schema.

{% hint style="info" %}
You can copy the CLI commands to start the replication server form *coherence Hub > Servers* tab.

<img src="/files/DRoV2FArP4WZlqZM2bEI" alt="" data-size="original">
{% endhint %}

You can also define other parameters like `min-query-distance` (the minimum distance the LiveQuery needs to move for the Replicator to recognize a change), send and receive `frequency`, `ip` and `port` number.

Minimal parameters set is presented in the example below:

`replication-server serve --port 32001 --signalling-port 32002 --send-frequency 20 --recv-frequency 60 --web-support --env dev --schema "/Users/coherence/unity/Coherence.Toolkit/Toolkit.schema,/Users/coherence/MyProject/Library/coherence/Gathered.schema"`

### Rooms

`replication-server --help rooms`

```
--log-target=LOG-TARGETS         One or more log targets separated by comma or in separate arguments (console|file):(plain|colored|json):(trace|debug|info|warn|error):[filePath]
--log-file=LOG-FILE-STRING       [Obsolete - use --log-target] log output file
--log-level=LOG-LEVEL-STRING     [Obsolete - use --log-target] the log level
--log-format=LOG-FORMAT          [Obsolete - use --log-target] output format of the log
--eula                           If true, prints the end-user license agreement and quits
--env="enduser"                  Environment in which the server is executed
--local-ip-override="127.0.0.1"  Local IP to bind http servers too.
--port=0                         [Obsolete] The port for api to listen to.
--udp-port=42001                 Port for udp traffic.
--tcp-port=42001                 Port for tcp traffic.
--signalling-port=42002          Port for signalling, only used if --web-support is true
--web-port=42003                 Port for webrtc, only used if --web-support is true
--api-port=64001                 The port for api to listen to.
--stats-port=64000               The port to listen for stats scrapers. Also enables pprof
--default-frequency=20           [Obsolete] use SendFrequency instead.
--send-frequency=20              The frequency to send data to the clients. Packets/s.
--recv-frequency=60              The server packet receive frequency packets/s. Packets received faster than this will be dropped and the connection throttled.
--disable-throttling             Disable all packet throttling. Best used with 3rd party network relays that already support DDOS detection and throttling.
--default-schema=""              The default schema file (.schema).
--use-p-prof                     Enable pprof on APIPort
--web-support                    [Deprecated] Does this support web connections.
--public-ip=""                   Public IP of the replication server, used by webrtc.
--disconnect-timeout=5000        Disconnect timeout (in milliseconds).
--out-stats-freq=1               Frequency, in seconds, of updates to prometheus stats
--log-stats-freq=0               Frequency, in seconds, of output of stats to INFO logs. 0 - no output
--region=""                      Region in which the server is located
--secret="local-development"     Secret used for API request and client authentication. The default value is used during local development only.
--room-size-limit=100            The hard limit of max clients in a room enforced at room creation
--cleanup-interval-sec=60        Interval, in seconds, between attempts to clean up empty rooms.
--analytics-enabled              
--unlock-token=""                Token to remove RS restrictions.
--version-override=""            Override the RS version. For debug purposes.
--has-persistence                Does this support enabling persistence.
--grpc-address=""                Address for realtime streaming of room/world updates
--rsid=""                        Replication server unique ID
--auto-shutdown-timeout-ms=0     Empty replication server auto shutdown timeout (in milliseconds), minimum 10000ms, disabled if 0
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherence.io/1.6/manual/advanced-topics/command-line-interface.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
