# Replication Server CLI

{% hint style="info" %}
The easiest way to start a local Replication Server is by copying the CLI commands from the **coherence Hub > Replication Server** tab. Pasting this into a terminal allows you to quickly launch a Replication Server from the CLI with the right settings for your project.

<img src="https://content.gitbook.com/content/CMCtKgV0bk1lwR4tWK3W/blobs/UbYnXzBkuD3LFhJfnqVi/replication-server.png" alt="" data-size="original">
{% endhint %}

If you want to manually run the the Replication Server for local development there are only a few options to consider. There are more options used when [self hosting](https://docs.coherence.io/hosting/self-hosting).

### 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 to.
--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.
--ping-port=0                               The port for ping service to listen to. Service disabled if 0.
--ping-rate-limit=1000                      Maximum pings per second for the ping service. Use 0 to disable rate limiting.
--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.
--auto-shutdown-timeout-ms=0                Empty Replication Server auto shutdown timeout (in milliseconds), minimum 10000, disabled if 0.
--host-authority-features=,...              Set which host authority features are enabled for this World.
```

To launch the replication server in World mode you need to pass in the `world` mode followed by a number of options. For example:

<kbd>`replication-server world [options]`</kbd>

For help with which options are available use this command:

`replication-server --help world`

Most of the options have reasonable defaults. However, there are two that you should set:\
`--env` and `--schema`

The `--env` option tells the replication server what the environment is for running. Choose `"dev"` for local testing.

The `--schema` option tells the replication server what the schema definitions are for the baked code generated by [baking](https://docs.coherence.io/manual/baking-and-code-generation).

Minimal parameters set is presented in the example below:

`replication-server world --env dev --schema "<path-to-coherence-SDK-package>/Coherence.Toolkit/Toolkit.schema,<path-to-project>/Assets/coherence/Gathered.schema"`

### Rooms

Launching the Replication Server in **Rooms** **mode** is similar to Worlds, except the schema definition options is `--default-schema` not `--schema` as when launching in World mode.

Similar to starting the Replication Server in World mode, the Replication Server is started in Rooms mode with the `rooms` option, followed by options:

`replication-server rooms [options]`

For help with which options are available in Rooms mode, use this command:

`replication-server --help rooms`

Minimal parameters set is presented in the example below:

`replication-server rooms --env dev --default-schema "<path-to-coherence-SDK-package>/Coherence.Toolkit/Toolkit.schema,<path-to-project>/Assets/coherence/Gathered.schema"`

For further information and for more complex use of local Replication Servers, see the [Self-Hosting](https://docs.coherence.io/hosting/self-hosting#launching-the-replication-server) section.
