Home/ Guides/ Icarus Dedicated Server
🪐 Icarus · Dedicated Server

Icarus Dedicated Server Setup & Settings

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.

Verified vs. the official IcarusDedicatedServer wiki + host docs · June 2026
Quick setup
Install the free server via SteamCMD app 2089300 (login anonymous), launch IcarusServer.exe with -SteamServerName="Name", then edit ServerSettings.ini and forward UDP 17777 + 27015.
📥

Install with SteamCMD

The Icarus dedicated server is a free, separate download — Windows only, no game copy required.

1

Download SteamCMD and extract it to a folder, e.g. C:\SteamCMD.

2

Run steamcmd.exe. At the prompt, set the install folder: force_install_dir C:\IcarusServer

3

Log in anonymously (no account needed): login anonymous

4

Download the server: app_update 2089300 validate — then quit when it finishes.

5

Confirm the folder now has IcarusServer.exe plus Engine\, Content\ and Icarus\. To update later, re-run steps 2–4.

Linux isn't officially supported — Windows is the only supported OS. Wine/Proton works for some people but is unsupported.
🚀

Launch & the SessionName gotcha

Start the server from the install folder. The most important argument is -SteamServerName — because the in-file SessionName setting is currently broken.

Name your server with -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 argumentWhat 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=17777Game traffic port (UDP). Default 17777. Must be forwarded.
-QueryPort=27015Steam query port (UDP) used for browser discovery. Default 27015. Must be forwarded.
-LogOpen 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

⚙️

ServerSettings.ini reference

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.

SettingWhat it doesDefault
JoinPassword=Password players must enter to join. Leave empty for a public server.(empty)
MaxPlayers=8Maximum 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=86400Seconds with nobody joined before auto-shutdown. Use 86400 or -1 to stay up; never 0 (instant shutdown).300
ShutdownIfEmptyFor=86400Seconds after the last player leaves before auto-shutdown. Same rules as above.300
AllowNonAdminsToLaunchProspects=TrueWhether non-admins in the lobby can start prospects/outposts. Set False to require an admin.True
AllowNonAdminsToDeleteProspects=FalseWhether non-admins can delete saved prospects. Keep False to prevent griefing.False
ResumeProspect=TrueAuto-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 & difficulty

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>

Ready-to-paste examples (hit Copy):

CreateProspect lineWhat it makes
CreateProspect=Olympus_Outpost 2 false MyBaseAn Olympus outpost (persistent base) at Medium difficulty, save "MyBase".
CreateProspect=Tier1_Forest_Recon_0 3 false MyDropA Tier-1 Forest Recon mission at Hard, respawns on, save "MyDrop".
CreateProspect=OpenWorld_Styx 1 false StyxWorldA Styx open-world session at Easy (needs Styx DLC), save "StyxWorld".
CreateProspect=STYX_B_Expedition 4 true HardcoreRunA 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.

🔌

Ports & how players join

Forward both of these (UDP) on your router/firewall to the server machine:

PortPurpose
17777 / UDPGame traffic. Default; change with -PORT.
27015 / UDPSteam 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.

Icarus Dedicated Server FAQ

What is the Icarus dedicated server Steam app ID?
2089300. It's free and installs through SteamCMD with login anonymous — no Steam account or game copy required for the server itself.
Why doesn't SessionName work?
It's a known bug — the 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.
What does CreateProspect look like?
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.
My server shuts down immediately — why?
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.
How do I become admin on my server?
Set 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.
Can I run it on Linux?
Not officially — Windows is the only supported OS. Some run it under Wine/Proton, but that's unsupported and can have issues.

More from GamesOMG

Server's up? Here's the rest of the Icarus toolkit.