# Icarus Server Launch Parameters Reference (/docs/icarus/launch-parameters)



import { Step, Steps } from 'fumadocs-ui/components/steps';

Most Icarus settings live in `ServerSettings.ini`, but a small set of options can only be set as **command-line parameters** at server launch. These go in **Startup** → startup command in the [XGamingServer Panel](https://panel.xgamingserver.com).

Where to Edit [#where-to-edit]

<Steps>
  <Step>
    In the [XGamingServer Panel](https://panel.xgamingserver.com), click your Icarus server and open the **Startup** tab.
  </Step>

  <Step>
    Find the startup command field (or individual parameter variables). Parameters are space-separated and prefixed with `-`.
  </Step>

  <Step>
    Click **Save** and restart from **Console**.
  </Step>
</Steps>

Network Parameters [#network-parameters]

| Parameter     | Example              | Description                                                               |
| ------------- | -------------------- | ------------------------------------------------------------------------- |
| `-PORT=`      | `-PORT=17777`        | Game port. Default `17777`, UDP.                                          |
| `-QueryPort=` | `-QueryPort=27015`   | Steam query port. Default `27015`, UDP.                                   |
| `-MULTIHOME=` | `-MULTIHOME=0.0.0.0` | Bind the server to a specific IP. Useful when the host has multiple NICs. |

Identity & Display [#identity--display]

| Parameter           | Example                               | Description                                                                                                                               |
| ------------------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `-SteamServerName=` | `-SteamServerName="My Icarus Server"` | Server browser display name. **64 character maximum.** Use this instead of `SessionName=` in the INI — `SessionName` is currently broken. |

Save Directory Control [#save-directory-control]

| Parameter          | Example                     | Description                                                                                                                    |
| ------------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `-UserDir=`        | `-UserDir=/data/icarus`     | Custom base directory for server data (configs, prospects, logs)                                                               |
| `-saveddirsuffix=` | `-saveddirsuffix=instance2` | Append a suffix to the `Saved` folder (e.g. `Saved-instance2`). Required for running multiple Icarus servers on the same host. |

Prospect Loading [#prospect-loading]

| Parameter          | Example                                                | Description                                                                                                                                                                          |
| ------------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `-ResumeProspect`  | `-ResumeProspect`                                      | Resume the last active prospect on startup                                                                                                                                           |
| `-LoadProspect=`   | `-LoadProspect=MyOpenWorld`                            | Load a specific saved prospect by name                                                                                                                                               |
| `-CreateProspect=` | `-CreateProspect="OpenWorld_Styx 1 false MyOpenWorld"` | Create a new prospect on startup. Format: `[Type] [Difficulty 1-4] [Hardcore true/false] [SaveName]`. **Remove this after first boot** or it will create a fresh save every restart. |

See [Prospect Management](/docs/icarus/prospect-management) for the full prospect workflow.

Logging [#logging]

| Parameter  | Example                       | Description                                               |
| ---------- | ----------------------------- | --------------------------------------------------------- |
| `-log`     | `-log`                        | Show the server log in the console window                 |
| `-LOG=`    | `-LOG=server.log`             | Write logs to a specific filename inside the Saved folder |
| `-ABSLOG=` | `-ABSLOG=/var/log/icarus.log` | Write logs to an absolute filesystem path                 |

Example Startup Commands [#example-startup-commands]

Basic always-on Open World [#basic-always-on-open-world]

```
IcarusServer.exe -log -SteamServerName="My Open World" -PORT=17777 -QueryPort=27015 -ResumeProspect
```

Multi-instance host (second server) [#multi-instance-host-second-server]

```
IcarusServer.exe -log -SteamServerName="Icarus #2" -PORT=17779 -QueryPort=27017 -saveddirsuffix=instance2 -ResumeProspect
```

The `-saveddirsuffix=instance2` keeps `Saved-instance2/` separate from the first instance's `Saved/`, so prospects, configs, and logs don't collide.

First-time prospect creation [#first-time-prospect-creation]

```
IcarusServer.exe -log -SteamServerName="Olympus Outpost" -CreateProspect="Olympus 2 false OlympusBase"
```

After first boot, edit `ServerSettings.ini` to set `ResumeProspect=true` and remove `-CreateProspect` from the startup command.

Related Guides [#related-guides]

* [Server Configuration](/docs/icarus/server-config)
* [Prospect Management](/docs/icarus/prospect-management)
* [Auto-Shutdown Settings](/docs/icarus/auto-shutdown)
