Icarus Dedicated Server: Setup, Requirements, Ports and Settings

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

  1. Wait until the server is online: the log window shows it has finished loading. Then launch Icarus and pick your character.
  2. In the HAB menu, select Join Session.
  3. Use the toggle in the top right corner to switch the browser to dedicated servers.
  4. 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.

  1. Find the prospect on your PC: %UserProfile%\AppData\Local\Icarus\Saved\PlayerData\<your SteamID>\Prospects\<ProspectName>.json
  2. With the server stopped, create the folders PlayerData\DedicatedServer\Prospects inside the server’s Icarus\Saved folder if they don’t exist yet.
  3. Copy the file, unchanged, into …\Icarus Dedicated Server\Icarus\Saved\PlayerData\DedicatedServer\Prospects\.
  4. Start the server and load it by name: LoadProspect=<ProspectName> in the config, or LoadProspect <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.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *