Stand up your own always-on Icarus server with SteamCMD, name it correctly (the obvious setting is broken), tune the handful of real ServerSettings.ini keys, and start a prospect at the difficulty you want. Verified against the official RocketWerkz dedicated-server wiki.
The Icarus dedicated server is a free, separate download — Windows only, no game copy required.
Download SteamCMD and extract it to a folder, e.g. C:\SteamCMD.
Run steamcmd.exe. At the prompt, set the install folder: force_install_dir C:\IcarusServer
Log in anonymously (no account needed): login anonymous
Download the server: app_update 2089300 validate — then quit when it finishes.
Confirm the folder now has IcarusServer.exe plus Engine\, Content\ and Icarus\. To update later, re-run steps 2–4.
Start the server from the install folder. The most important argument is -SteamServerName — because the in-file SessionName setting is currently broken.
-SteamServerName, not SessionName. The SessionName key in ServerSettings.ini does nothing right now — a confirmed bug. Set the visible browser name with the launch argument -SteamServerName="Your Server" (64-character max) instead.A typical launch line:
| Launch argument | What it does |
|---|---|
| -SteamServerName="Name" | The server's visible name in the Dedicated Servers browser (64-char max). This is how you name it — not SessionName. |
| -PORT=17777 | Game traffic port (UDP). Default 17777. Must be forwarded. |
| -QueryPort=27015 | Steam query port (UDP) used for browser discovery. Default 27015. Must be forwarded. |
| -Log | Open a console/log window — recommended, makes the server debuggable. |
| -UserDir=[path] | Override the base Saved data directory — useful for running multiple instances. |
| -saveddirsuffix=[suffix] | Append a suffix to the Saved folder name — another multi-instance option. |
| -MULTIHOME=[IP] | Bind the server to a specific IP on a multi-homed machine. |
Full example: IcarusServer.exe -SteamServerName="My Icarus Server" -PORT=17777 -QueryPort=27015 -Log
The file lives at <ServerInstallDir>\Icarus\Saved\Config\WindowsServer\ServerSettings.ini under the section header [/Script/Icarus.DedicatedServerSettings]. It's auto-generated on first run — edit it, then restart. Type to filter; hit Copy to grab a ready-to-paste line.
| Setting | What it does | Default |
|---|---|---|
| JoinPassword= | Password players must enter to join. Leave empty for a public server. | (empty) |
| MaxPlayers=8 | Maximum concurrent players. Supported range 1–8. | 8 |
| AdminPassword= | Password for in-game admin. Players run /AdminLogin [password] in chat. Leaving it empty lets anyone /AdminLogin with no password — set one for public servers. | (empty) |
| ShutdownIfNotJoinedFor=86400 | Seconds with nobody joined before auto-shutdown. Use 86400 or -1 to stay up; never 0 (instant shutdown). | 300 |
| ShutdownIfEmptyFor=86400 | Seconds after the last player leaves before auto-shutdown. Same rules as above. | 300 |
| AllowNonAdminsToLaunchProspects=True | Whether non-admins in the lobby can start prospects/outposts. Set False to require an admin. | True |
| AllowNonAdminsToDeleteProspects=False | Whether non-admins can delete saved prospects. Keep False to prevent griefing. | False |
| ResumeProspect=True | Auto-resume the last active prospect on startup (uses LastProspectName). Set False to start in the lobby. | True |
| LoadProspect=[SaveName] | Load a specific saved prospect by name on startup (no .json). Don't combine with CreateProspect. | — |
| CreateProspect=[Type] [1-4] [Hardcore] [SaveName] | Create and launch a new prospect on startup — see Prospects below. Don't combine with LoadProspect/ResumeProspect. | — |
| SessionName= (BROKEN) | Intended server name — currently does nothing. Use the -SteamServerName launch argument instead. | (ignored) |
| LastProspectName= | Auto-written by the server (the last running prospect). Don't hand-edit — editing save data can corrupt it. | (auto) |
Prospects are Icarus's playable sessions — each is its own world with its own save. There are three kinds: Missions (timed, objective drops), Open World (persistent sandbox, no timer), and Outposts (persistent base-building). The base game covers Olympus; Styx, Prometheus and Elysium are paid DLC planets — the server must own the DLC to host them.
Start one from ServerSettings.ini (or a launch arg) with CreateProspect:
CreateProspect=<ProspectType> <Difficulty 1-4> <Hardcore true/false> <SaveName>
1 Easy · 2 Medium · 3 Hard · 4 Extreme. It scales gather rates, creature aggression and hazards.true/false flag. true disables respawning: death ends that character for the run.CreateProspect after first boot so it doesn't overwrite the save.Ready-to-paste examples (hit Copy):
| CreateProspect line | What it makes |
|---|---|
| CreateProspect=Olympus_Outpost 2 false MyBase | An Olympus outpost (persistent base) at Medium difficulty, save "MyBase". |
| CreateProspect=Tier1_Forest_Recon_0 3 false MyDrop | A Tier-1 Forest Recon mission at Hard, respawns on, save "MyDrop". |
| CreateProspect=OpenWorld_Styx 1 false StyxWorld | A Styx open-world session at Easy (needs Styx DLC), save "StyxWorld". |
| CreateProspect=STYX_B_Expedition 4 true HardcoreRun | A Styx Expedition at Extreme, Hardcore (no respawns), save "HardcoreRun". |
The full, current list of prospect type names lives on the official Prospect Names wiki (it grows with each update, and the DLC-planet names aren't fully mirrored elsewhere). To switch prospects later without losing one, use the /ReturnToLobby admin command, then launch another from the lobby.
Forward both of these (UDP) on your router/firewall to the server machine:
| Port | Purpose |
|---|---|
| 17777 / UDP | Game traffic. Default; change with -PORT. |
| 27015 / UDP | Steam query (server-browser discovery). Default; change with -QueryPort. |
Players join from the HAB: pick a character → Join Session → use the toggle (top-right) to switch the browser to Dedicated Servers (it defaults to player-hosted), then find your server by its -SteamServerName. If a JoinPassword is set they're prompted for it. With no prospect running they land in the Server Lobby (and can launch one if allowed); if a prospect is already up, they drop straight in.
login anonymous — no Steam account or game copy required for the server itself.SessionName key has no effect on the browser name right now. Name your server with the -SteamServerName="YourName" launch argument (64-char max) instead. This is confirmed in the official RocketWerkz dedicated-server wiki.CreateProspect=<ProspectType> <Difficulty 1-4> <Hardcore true/false> <SaveName>, space-separated in that order. Example: CreateProspect=Olympus_Outpost 3 false MyBase. Difficulty 1=Easy, 2=Medium, 3=Hard, 4=Extreme; Hardcore true disables respawns. Don't set it alongside LoadProspect or ResumeProspect.ShutdownIfNotJoinedFor is probably set to 0, which triggers an instant shutdown. Set it to a large value like 86400 (24 hours) or -1 to keep it up while empty. The same goes for ShutdownIfEmptyFor.AdminPassword= in ServerSettings.ini and restart. In-game, open chat and type /AdminLogin YourPassword. Admin lasts the session — re-run it after reconnecting. Admin commands include /KickPlayer, /BanPlayer, /ReturnToLobby and /AdminSay.Server's up? Here's the rest of the Icarus toolkit.