An Icarus dedicated server is a copy of the game’s server that runs on its own machine, so your crew can drop into prospects without one player hosting from their game. RocketWerkz ships it as a free Windows app (Steam app 2089300) that anyone can download through SteamCMD, no Icarus licence needed on the server. You open UDP ports 17777 and 27015, set a password in ServerSettings.ini, and up to 8 players can join. This guide covers the setup, the settings that trip people up, admin commands, Linux and Docker, moving a save, and the errors you’ll actually see.
What an Icarus dedicated server does (and doesn’t)
A dedicated server runs prospects for your group: the missions, outposts and open worlds you’d otherwise host from your own game. It doesn’t make Icarus a bigger game. The player cap stays at 8, the same as hosting yourself, because that limit comes from Icarus itself. What changes is that nobody’s PC has to carry the world, and the server can keep an outpost or open world ready for whoever logs in.
| Hosted from your game | Dedicated server | |
|---|---|---|
| Players per prospect | Up to 8 | Up to 8 (MaxPlayers, 1 to 8) |
| Does the host need to be in game? | Yes | No, the server runs on its own |
| Who can start or delete prospects | The host | Anyone or admins only, your choice |
| Password and bans | Limited | JoinPassword, BanPlayer, admin login |
| Hardware load on the host’s PC | Game plus server | None |
One thing to know before you start: an Icarus server idles in a lobby when no prospect is loaded. From the lobby, players pick, create or resume a prospect. If nobody joins for five minutes after a prospect starts, the server drops back to the lobby by default. More on that under settings.
Icarus dedicated server requirements
Plan on 8 to 12 GB of RAM for the server alone. Prospects load big chunks of terrain, and Icarus is heavy for an 8-player game. The maintainers of the most-used Docker image say more than 8 GB, with 16 GB recommended. Beyond that, you need a CPU with strong single-core speed, around 20 GB of disk, and an upload connection that doesn’t fall over when four people are fighting a storm.
- RAM: 8 to 12 GB for the server process. More if you run several prospects back to back on a long-lived outpost.
- CPU: at least 2 cores, and single-core speed matters more than core count.
- Storage: about 20 GB, on an SSD if you can. The Docker image below notes that an update temporarily needs up to twice the game size.
- OS: the official server is a Windows program (
IcarusServer.exe). Linux works through Wine, usually in Docker (see below). - Network: a public IPv4 and the ability to forward UDP ports on your router.
Can you run the dedicated server and play on the same PC? Yes, for a small crew, but you’re then running the game and the server side by side, and both want a lot of RAM. A 16 GB gaming PC will struggle. A spare machine, or Icarus server hosting, avoids that.
How to set up an Icarus dedicated server on Windows
The setup takes four steps. Download the server with SteamCMD, give it a start shortcut with a few launch parameters, forward two UDP ports, and create ServerSettings.ini with your passwords. Steps 1 to 3 are one-time. Step 4 is where you’ll come back to change things.
1. Download the server files
The quickest way is SteamCMD, Valve’s command-line Steam client. Install it, then run:
force_install_dir C:\IcarusServer
login anonymous
app_update 2089300 validate
quit
Or as one line from a command prompt in the SteamCMD folder:
steamcmd +force_install_dir C:\IcarusServer +login anonymous +app_update 2089300 validate +quit
If you own Icarus, the Icarus Dedicated Server app also shows up in the Tools section of your Steam library, and it installs to steamapps\common\Icarus Dedicated Server.
2. Make a start shortcut with launch parameters
Create a shortcut to IcarusServer.exe (or a .bat file) and add your parameters. -Log opens a log window; without it, the server runs with nothing on screen and you can’t tell whether it started.
IcarusServer.exe -Log -SteamServerName="Our Crew Server" -PORT=17777 -QueryPort=27015
| Launch parameter | What it does |
|---|---|
-SteamServerName="…" |
The name in the server browser, up to 64 characters |
-PORT= |
Game port (default 17777) |
-QueryPort= |
Steam query port (default 27015) |
-Log |
Shows the log window |
-UserDir= |
Moves the folder that holds Saved/ (config, logs, prospects) |
-saveddirsuffix= |
Uses Saved_<suffix>/, handy for a second server on one PC |
-MULTIHOME= |
Binds to one IP on a machine with several |
-LoadProspect=, -ResumeProspect, -CreateProspect= |
Start straight into a prospect (see below) |
3. Open the ports
Forward UDP 17777 (game) and UDP 27015 (query) on your router to the server PC, and allow IcarusServer.exe through Windows Firewall. If you change the ports with -PORT= or -QueryPort=, forward the new numbers instead. Running a second server on the same machine means a second pair of ports.
4. Create ServerSettings.ini
Here’s the catch that confuses most first-time hosts: the config file isn’t there after install. The server writes it the first time it reaches the lobby or loads a prospect. Either start the server once and stop it, or create the file yourself at:
[ServerInstallDirectory]\Icarus\Saved\Config\WindowsServer\ServerSettings.ini
If you moved the Saved folder with -UserDir=, the file goes in [YourSavedFolder]\Config\WindowsServer\ instead. The default file looks like this:
[/Script/Icarus.DedicatedServerSettings]
SessionName=
JoinPassword=
MaxPlayers=
AdminPassword=
ShutdownIfNotJoinedFor=300.000000
ShutdownIfEmptyFor=300.000000
AllowNonAdminsToLaunchProspects=True
AllowNonAdminsToDeleteProspects=False
LoadProspect=
CreateProspect=
ResumeProspect=True
LastProspectName=
Keep the first line exactly as it is. Edit the file with the server stopped, then start it.
Icarus server settings explained
Most groups only need four lines: a join password, an admin password, the player cap and the two shutdown timers. The table below covers every key in ServerSettings.ini. Two of them behave differently from what their names suggest, so read the notes before you assume a setting is broken.
| Setting | Default | What it does |
|---|---|---|
SessionName |
empty | Does nothing at the moment. Set the name with -SteamServerName instead. |
JoinPassword |
empty | Password to join. Empty means a public server; set one for a private server. |
MaxPlayers |
empty | Players at once, 1 to 8. |
AdminPassword |
empty | Password for admin commands. If empty, anyone who types /AdminLogin becomes admin. Always set it. |
ShutdownIfNotJoinedFor |
300 s | After a prospect starts, return to the lobby if nobody joins in time. The game is paused while it waits. Below 0 means run indefinitely. |
ShutdownIfEmptyFor |
300 s | Return to the lobby this long after the last player leaves. Below 0 means run indefinitely. |
AllowNonAdminsToLaunchProspects |
True | Anyone in the lobby can create or load a prospect. Set False to make it admin-only. |
AllowNonAdminsToDeleteProspects |
False | Whether non-admins can delete prospects. Leave it False. |
ResumeProspect |
True | Resume the last prospect on startup. |
LastProspectName |
empty | Filled in by the server; used by ResumeProspect. |
LoadProspect |
empty | Prospect save name to load on startup. |
CreateProspect |
empty | Create and launch a new prospect on startup. |
A sensible private-server setup:
JoinPassword=pick-something
MaxPlayers=8
AdminPassword=something-long-and-private
ShutdownIfNotJoinedFor=-1
ShutdownIfEmptyFor=-1
AllowNonAdminsToLaunchProspects=False
Setting both shutdown timers to -1 keeps the prospect running even when the server is empty. Only use low values if you want the lobby to pick a prospect every session.
Starting, loading and resuming prospects
The server checks three commands at startup, in this order: LoadProspect, ResumeProspect, then CreateProspect. Each works from the command line, from the config file, or typed in the lobby. If none of them runs, the server waits in the lobby so players can choose a prospect from the normal menus.
# load a saved prospect by name
-LoadProspect=OurOutpost
# create one: [ProspectType] [Difficulty 1-4] [Hardcore true/false] [SaveName]
-CreateProspect="Tier1_Forest_Recon_0 3 false TestProspect01"
Difficulty runs from 1 (easy) to 4 (extreme), and Hardcore true turns respawns off. Outposts need a save name; for regular prospects, leave it out and the server picks one. Prospect types use internal names, which RocketWerkz lists on the Prospect Names wiki page. Saved prospects live in Saved/PlayerData/DedicatedServer/Prospects/.
How to join your Icarus server
- Wait until the server is online: the log window shows it has finished loading. Then launch Icarus and pick your character.
- In the HAB menu, select Join Session.
- Use the toggle in the top right corner to switch the browser to dedicated servers.
- Find your server by name, select it and join. Enter the join password if you set one.
If the server isn’t running a prospect, you land in the Server Lobby. From there you can pick a prospect or outpost, or type lobby commands.
Icarus admin commands for dedicated servers
Admin commands go into the in-game chat with a / or \ in front. Log in first with the password from AdminPassword. In the lobby, before a prospect is loaded, you can leave the slash off.
/AdminLogin something-long-and-private
| Command | What it does |
|---|---|
AdminLogin [password] |
Gives you admin rights |
KickPlayer [SteamID or name] [reason] |
Kicks a player (they can rejoin) |
BanPlayer [SteamID or name] [reason] |
Kicks and bans; the ban is saved |
UnbanPlayer [SteamID or name] |
Lifts a ban |
ReturnToLobby |
Kicks everyone and returns the server to the lobby |
ReturnToLobbyWhenEmpty |
Returns to the lobby as soon as the server empties |
AdminSay [message] |
Shows a message to everyone, anonymously |
LoadProspect, CreateProspect, ResumeProspect |
Lobby commands to start a prospect |
These are server commands, not the single-player console cheats some players look for. The official list doesn’t include item spawns or unlock-everything commands.
Icarus dedicated server on Linux with Docker
RocketWerkz only ships a Windows build, so an Icarus server on Linux runs that Windows build under Wine. The easy route is a Docker image that packages Wine, SteamCMD and the server together. A widely used one is mornedhels/icarus-server on GitHub, which also updates the server and can clean up old prospects on a schedule.
services:
icarus:
image: mornedhels/icarus-server:latest
restart: unless-stopped
stop_grace_period: 90s
ports:
- "17777:17777/udp"
- "27015:27015/udp"
volumes:
- ./data:/home/icarus/drive_c/icarus
- ./game:/opt/icarus
environment:
- SERVER_NAME=Our Crew Server
- SERVER_PASSWORD=pick-something
- SERVER_ADMIN_PASSWORD=something-long-and-private
Settings like SERVER_MAX_PLAYERS, SERVER_SHUTDOWN_IF_EMPTY and SERVER_RESUME_PROSPECT map to the ServerSettings.ini keys above. Note that this image’s default for SERVER_SHUTDOWN_IF_EMPTY is 60 seconds, not 300. Config and saves live in ./data. The image runs on Linux and macOS Docker hosts, not on Windows Docker.
Moving a prospect from your game to the server
You can move an existing prospect to the dedicated server by copying one JSON file. Back it up first: renaming the file or editing its JSON corrupts the save, and the damage is permanent.
- Find the prospect on your PC:
%UserProfile%\AppData\Local\Icarus\Saved\PlayerData\<your SteamID>\Prospects\<ProspectName>.json - With the server stopped, create the folders
PlayerData\DedicatedServer\Prospectsinside the server’sIcarus\Savedfolder if they don’t exist yet. - Copy the file, unchanged, into
…\Icarus Dedicated Server\Icarus\Saved\PlayerData\DedicatedServer\Prospects\. - Start the server and load it by name:
LoadProspect=<ProspectName>in the config, orLoadProspect <ProspectName>in the lobby.
How to update an Icarus dedicated server
After an Icarus patch, a server left on the previous build turns away updated players. Shut it down, repeat the SteamCMD download (app_update 2089300 validate), then start it. RocketWerkz’s own example is a two-line batch file:
taskkill /im IcarusServer.exe
C:\steamcmd\steamcmd +runscript icarus.txt
Here icarus.txt holds login anonymous, app_update 2089300 validate and quit, one per line. Back up the Saved folder before you update. In Docker, the mornedhels image updates on startup, and you can force an update with docker compose exec icarus supervisorctl start icarus-force-update.
Can you add mods to an Icarus server?
Icarus has no official mod support for dedicated servers. Community mods exist, but RocketWerkz doesn’t support them on servers, and a game update can break them without warning. If you try them, keep a backup of your prospects and expect to remove the mods after a patch.
Common Icarus server problems and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Dedicated server not showing up in the browser | Browser still on the normal sessions tab, query port blocked, or server still starting | Flip the toggle to dedicated servers, forward UDP 27015 (or your -QueryPort), and give it a minute after launch |
| Server name shows as the default | Name set in SessionName |
Use -SteamServerName="…"; SessionName currently does nothing |
| No ServerSettings.ini | It’s only written on the first lobby or prospect | Start once, or create it from the default above |
| Settings don’t apply | File in the wrong folder, edited while running, or header line changed | Check the path (and -UserDir), stop the server, keep [/Script/Icarus.DedicatedServerSettings] on line 1 |
| Server keeps going back to the lobby | Shutdown timers at their 300-second defaults | Set ShutdownIfNotJoinedFor and ShutdownIfEmptyFor to -1 |
| A stranger became admin | Empty AdminPassword |
Set one and restart |
| “Connection lost, attempting to rejoin server” or stuck connecting | Version mismatch after a patch, game port blocked, or the server ran out of memory | Update the server, check UDP 17777, and read the log for out-of-memory lines |
| Crashing when joining, or lag on big prospects | Not enough RAM for the terrain being loaded | Give the server more RAM; 8 GB is the floor, not the target |
| Docker: “Ran out of memory” with RAM to spare | Linux memory-map limit too low for Wine | On the Docker host: sysctl -w vm.max_map_count=262144 (add it to /etc/sysctl.conf to keep it) |
| Server down after a game update | Old server build | Run app_update 2089300 validate with the server stopped |
The log is always the first stop. With -Log you see it live, and the files are in Saved/Logs/.
Skip the setup: rent an Icarus server
Running your own means keeping a Windows PC on (or wrangling Wine), forwarding two ports and remembering that the config only appears after the first lobby. If your crew would rather just drop, Icarus server hosting on GameTeam gets a server up quickly without the Wine detour. Billing is per GB of RAM, slots are unlimited (the 8-player cap is Icarus’s own), and the price is $0.49/GB a week on Budget or $1.99/GB billed monthly. Eight gigabytes, the floor for this game, comes to $3.92 a week, which suits a crew that plays one mission at a time.
The built-in AI copilot handles the fiddly parts. Type “set a join password, make it 8 players and stop the server dropping back to the lobby when we log off” and it edits ServerSettings.ini, sets both shutdown timers to -1 and restarts the server. Ask “why did the prospect crash?” and it goes through the server log and points at the cause. It can also back up your prospects before an update. There’s a 72-hour money-back window, and when the crew moves on, the same server can switch to another game.
FAQ
Is the Icarus dedicated server free?
The server software is free to download through SteamCMD with an anonymous login, no Icarus licence needed. Running it costs you a PC that stays on, or a hosting fee.
How many players can join an Icarus dedicated server?
Up to 8 at once, set with MaxPlayers (1 to 8). That cap comes from the game, so no host can raise it.
What ports does an Icarus dedicated server use?
UDP 17777 for the game and UDP 27015 for the Steam query. Change them with -PORT= and -QueryPort=.
Where is the Icarus server config file?
In Icarus\Saved\Config\WindowsServer\ServerSettings.ini inside the server folder, or under the folder you set with -UserDir=. It appears after the first lobby or prospect.
How do I make my Icarus server private?
Set a JoinPassword and an AdminPassword, and set AllowNonAdminsToLaunchProspects=False so only admins can start or switch prospects.
How do I transfer my Icarus save to a dedicated server?
Copy the prospect’s .json file, unchanged, from your PC’s PlayerData\<SteamID>\Prospects folder to the server’s PlayerData\DedicatedServer\Prospects folder, then load it by name. Don’t rename it.
Can I run an Icarus server on Linux?
Only through Wine. RocketWerkz ships a Windows build alone, and the mornedhels/icarus-server Docker image is the easiest way to run it on a Linux host.
Can you use console commands on an Icarus server?
Yes, admin commands like KickPlayer, BanPlayer and ReturnToLobby, typed in chat with a / after /AdminLogin. The official server list doesn’t include cheat commands such as unlocking everything.
