{"id":3805,"date":"2026-10-27T17:11:07","date_gmt":"2026-10-27T14:11:07","guid":{"rendered":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/"},"modified":"2026-10-27T17:11:07","modified_gmt":"2026-10-27T14:11:07","slug":"icarus-dedicated-server-guide","status":"publish","type":"post","link":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/","title":{"rendered":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings"},"content":{"rendered":"<p><strong>An Icarus dedicated server is a copy of the game&#8217;s server that runs on its own machine, so your crew can drop into prospects without one player hosting from their game.<\/strong> 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 <code>ServerSettings.ini<\/code>, 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&#8217;ll actually see.<\/p>\n<h2 id=\"what-an-icarus-dedicated-server-does-and-doesnt\">What an Icarus dedicated server does (and doesn&#8217;t)<\/h2>\n<p>A dedicated server runs prospects for your group: the missions, outposts and open worlds you&#8217;d otherwise host from your own game. It doesn&#8217;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&#8217;s PC has to carry the world, and the server can keep an outpost or open world ready for whoever logs in.<\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Hosted from your game<\/th>\n<th>Dedicated server<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Players per prospect<\/td>\n<td>Up to 8<\/td>\n<td>Up to 8 (<code>MaxPlayers<\/code>, 1 to 8)<\/td>\n<\/tr>\n<tr>\n<td>Does the host need to be in game?<\/td>\n<td>Yes<\/td>\n<td>No, the server runs on its own<\/td>\n<\/tr>\n<tr>\n<td>Who can start or delete prospects<\/td>\n<td>The host<\/td>\n<td>Anyone or admins only, your choice<\/td>\n<\/tr>\n<tr>\n<td>Password and bans<\/td>\n<td>Limited<\/td>\n<td><code>JoinPassword<\/code>, <code>BanPlayer<\/code>, admin login<\/td>\n<\/tr>\n<tr>\n<td>Hardware load on the host&#8217;s PC<\/td>\n<td>Game plus server<\/td>\n<td>None<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>One thing to know before you start: an Icarus server idles in a <strong>lobby<\/strong> 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 <a href=\"#settings\">settings<\/a>.<\/p>\n<h2 id=\"icarus-dedicated-server-requirements\">Icarus dedicated server requirements<\/h2>\n<p>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&#8217;t fall over when four people are fighting a storm.<\/p>\n<ul>\n<li><strong>RAM:<\/strong> 8 to 12 GB for the server process. More if you run several prospects back to back on a long-lived outpost.<\/li>\n<li><strong>CPU:<\/strong> at least 2 cores, and single-core speed matters more than core count.<\/li>\n<li><strong>Storage:<\/strong> 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.<\/li>\n<li><strong>OS:<\/strong> the official server is a Windows program (<code>IcarusServer.exe<\/code>). Linux works through Wine, usually in Docker (see below).<\/li>\n<li><strong>Network:<\/strong> a public IPv4 and the ability to forward UDP ports on your router.<\/li>\n<\/ul>\n<p>Can you run the dedicated server and play on the same PC? Yes, for a small crew, but you&#8217;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 <a href=\"https:\/\/gameteam.io\/icarus-server-hosting\">Icarus server hosting<\/a>, avoids that.<\/p>\n<h2 id=\"how-to-set-up-an-icarus-dedicated-server-on-windows\">How to set up an Icarus dedicated server on Windows<\/h2>\n<p>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 <code>ServerSettings.ini<\/code> with your passwords. Steps 1 to 3 are one-time. Step 4 is where you&#8217;ll come back to change things.<\/p>\n<h3 id=\"1-download-the-server-files\">1. Download the server files<\/h3>\n<p>The quickest way is SteamCMD, Valve&#8217;s command-line Steam client. Install it, then run:<\/p>\n<pre><code>force_install_dir C:\\IcarusServer\nlogin anonymous\napp_update 2089300 validate\nquit<\/code><\/pre>\n<p>Or as one line from a command prompt in the SteamCMD folder:<\/p>\n<pre><code>steamcmd +force_install_dir C:\\IcarusServer +login anonymous +app_update 2089300 validate +quit<\/code><\/pre>\n<p>If you own Icarus, the <em>Icarus Dedicated Server<\/em> app also shows up in the Tools section of your Steam library, and it installs to <code>steamapps\\common\\Icarus Dedicated Server<\/code>.<\/p>\n<h3 id=\"2-make-a-start-shortcut-with-launch-parameters\">2. Make a start shortcut with launch parameters<\/h3>\n<p>Create a shortcut to <code>IcarusServer.exe<\/code> (or a <code>.bat<\/code> file) and add your parameters. <code>-Log<\/code> opens a log window; without it, the server runs with nothing on screen and you can&#8217;t tell whether it started.<\/p>\n<pre><code>IcarusServer.exe -Log -SteamServerName=\"Our Crew Server\" -PORT=17777 -QueryPort=27015<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>Launch parameter<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-SteamServerName=\"\u2026\"<\/code><\/td>\n<td>The name in the server browser, up to 64 characters<\/td>\n<\/tr>\n<tr>\n<td><code>-PORT=<\/code><\/td>\n<td>Game port (default 17777)<\/td>\n<\/tr>\n<tr>\n<td><code>-QueryPort=<\/code><\/td>\n<td>Steam query port (default 27015)<\/td>\n<\/tr>\n<tr>\n<td><code>-Log<\/code><\/td>\n<td>Shows the log window<\/td>\n<\/tr>\n<tr>\n<td><code>-UserDir=<\/code><\/td>\n<td>Moves the folder that holds <code>Saved\/<\/code> (config, logs, prospects)<\/td>\n<\/tr>\n<tr>\n<td><code>-saveddirsuffix=<\/code><\/td>\n<td>Uses <code>Saved_&lt;suffix&gt;\/<\/code>, handy for a second server on one PC<\/td>\n<\/tr>\n<tr>\n<td><code>-MULTIHOME=<\/code><\/td>\n<td>Binds to one IP on a machine with several<\/td>\n<\/tr>\n<tr>\n<td><code>-LoadProspect=<\/code>, <code>-ResumeProspect<\/code>, <code>-CreateProspect=<\/code><\/td>\n<td>Start straight into a prospect (see below)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"3-open-the-ports\">3. Open the ports<\/h3>\n<p>Forward <strong>UDP 17777<\/strong> (game) and <strong>UDP 27015<\/strong> (query) on your router to the server PC, and allow <code>IcarusServer.exe<\/code> through Windows Firewall. If you change the ports with <code>-PORT=<\/code> or <code>-QueryPort=<\/code>, forward the new numbers instead. Running a second server on the same machine means a second pair of ports.<\/p>\n<h3 id=\"config\"><span id=\"4-create-serversettings-ini\">4. Create ServerSettings.ini<\/span><\/h3>\n<p>Here&#8217;s the catch that confuses most first-time hosts: the config file isn&#8217;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:<\/p>\n<pre><code>[ServerInstallDirectory]\\Icarus\\Saved\\Config\\WindowsServer\\ServerSettings.ini<\/code><\/pre>\n<p>If you moved the <code>Saved<\/code> folder with <code>-UserDir=<\/code>, the file goes in <code>[YourSavedFolder]\\Config\\WindowsServer\\<\/code> instead. The default file looks like this:<\/p>\n<pre><code>[\/Script\/Icarus.DedicatedServerSettings]\nSessionName=\nJoinPassword=\nMaxPlayers=\nAdminPassword=\nShutdownIfNotJoinedFor=300.000000\nShutdownIfEmptyFor=300.000000\nAllowNonAdminsToLaunchProspects=True\nAllowNonAdminsToDeleteProspects=False\nLoadProspect=\nCreateProspect=\nResumeProspect=True\nLastProspectName=<\/code><\/pre>\n<p>Keep the first line exactly as it is. Edit the file with the server stopped, then start it.<\/p>\n<h2 id=\"settings\"><span id=\"icarus-server-settings-explained\">Icarus server settings explained<\/span><\/h2>\n<p>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 <code>ServerSettings.ini<\/code>. Two of them behave differently from what their names suggest, so read the notes before you assume a setting is broken.<\/p>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Default<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>SessionName<\/code><\/td>\n<td>empty<\/td>\n<td>Does nothing at the moment. Set the name with <code>-SteamServerName<\/code> instead.<\/td>\n<\/tr>\n<tr>\n<td><code>JoinPassword<\/code><\/td>\n<td>empty<\/td>\n<td>Password to join. Empty means a public server; set one for a private server.<\/td>\n<\/tr>\n<tr>\n<td><code>MaxPlayers<\/code><\/td>\n<td>empty<\/td>\n<td>Players at once, 1 to 8.<\/td>\n<\/tr>\n<tr>\n<td><code>AdminPassword<\/code><\/td>\n<td>empty<\/td>\n<td>Password for admin commands. <strong>If empty, anyone who types <code>\/AdminLogin<\/code> becomes admin.<\/strong> Always set it.<\/td>\n<\/tr>\n<tr>\n<td><code>ShutdownIfNotJoinedFor<\/code><\/td>\n<td>300 s<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td><code>ShutdownIfEmptyFor<\/code><\/td>\n<td>300 s<\/td>\n<td>Return to the lobby this long after the last player leaves. Below 0 means run indefinitely.<\/td>\n<\/tr>\n<tr>\n<td><code>AllowNonAdminsToLaunchProspects<\/code><\/td>\n<td>True<\/td>\n<td>Anyone in the lobby can create or load a prospect. Set False to make it admin-only.<\/td>\n<\/tr>\n<tr>\n<td><code>AllowNonAdminsToDeleteProspects<\/code><\/td>\n<td>False<\/td>\n<td>Whether non-admins can delete prospects. Leave it False.<\/td>\n<\/tr>\n<tr>\n<td><code>ResumeProspect<\/code><\/td>\n<td>True<\/td>\n<td>Resume the last prospect on startup.<\/td>\n<\/tr>\n<tr>\n<td><code>LastProspectName<\/code><\/td>\n<td>empty<\/td>\n<td>Filled in by the server; used by <code>ResumeProspect<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>LoadProspect<\/code><\/td>\n<td>empty<\/td>\n<td>Prospect save name to load on startup.<\/td>\n<\/tr>\n<tr>\n<td><code>CreateProspect<\/code><\/td>\n<td>empty<\/td>\n<td>Create and launch a new prospect on startup.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A sensible private-server setup:<\/p>\n<pre><code>JoinPassword=pick-something\nMaxPlayers=8\nAdminPassword=something-long-and-private\nShutdownIfNotJoinedFor=-1\nShutdownIfEmptyFor=-1\nAllowNonAdminsToLaunchProspects=False<\/code><\/pre>\n<p>Setting both shutdown timers to <code>-1<\/code> 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.<\/p>\n<h3 id=\"starting-loading-and-resuming-prospects\">Starting, loading and resuming prospects<\/h3>\n<p>The server checks three commands at startup, in this order: <code>LoadProspect<\/code>, <code>ResumeProspect<\/code>, then <code>CreateProspect<\/code>. 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.<\/p>\n<pre><code># load a saved prospect by name\n-LoadProspect=OurOutpost\n\n# create one: [ProspectType] [Difficulty 1-4] [Hardcore true\/false] [SaveName]\n-CreateProspect=\"Tier1_Forest_Recon_0 3 false TestProspect01\"<\/code><\/pre>\n<p>Difficulty runs from 1 (easy) to 4 (extreme), and Hardcore <code>true<\/code> 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 <a href=\"https:\/\/github.com\/RocketWerkz\/IcarusDedicatedServer\/wiki\/Prospect-Names\">Prospect Names<\/a> wiki page. Saved prospects live in <code>Saved\/PlayerData\/DedicatedServer\/Prospects\/<\/code>.<\/p>\n<h2 id=\"how-to-join-your-icarus-server\">How to join your Icarus server<\/h2>\n<ol>\n<li>Wait until the server is online: the log window shows it has finished loading. Then launch Icarus and pick your character.<\/li>\n<li>In the HAB menu, select <strong>Join Session<\/strong>.<\/li>\n<li>Use the toggle in the top right corner to switch the browser to <strong>dedicated servers<\/strong>.<\/li>\n<li>Find your server by name, select it and join. Enter the join password if you set one.<\/li>\n<\/ol>\n<p>If the server isn&#8217;t running a prospect, you land in the <strong>Server Lobby<\/strong>. From there you can pick a prospect or outpost, or type lobby commands.<\/p>\n<h2 id=\"icarus-admin-commands-for-dedicated-servers\">Icarus admin commands for dedicated servers<\/h2>\n<p>Admin commands go into the in-game chat with a <code>\/<\/code> or <code>\\<\/code> in front. Log in first with the password from <code>AdminPassword<\/code>. In the lobby, before a prospect is loaded, you can leave the slash off.<\/p>\n<pre><code>\/AdminLogin something-long-and-private<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>Command<\/th>\n<th>What it does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>AdminLogin [password]<\/code><\/td>\n<td>Gives you admin rights<\/td>\n<\/tr>\n<tr>\n<td><code>KickPlayer [SteamID or name] [reason]<\/code><\/td>\n<td>Kicks a player (they can rejoin)<\/td>\n<\/tr>\n<tr>\n<td><code>BanPlayer [SteamID or name] [reason]<\/code><\/td>\n<td>Kicks and bans; the ban is saved<\/td>\n<\/tr>\n<tr>\n<td><code>UnbanPlayer [SteamID or name]<\/code><\/td>\n<td>Lifts a ban<\/td>\n<\/tr>\n<tr>\n<td><code>ReturnToLobby<\/code><\/td>\n<td>Kicks everyone and returns the server to the lobby<\/td>\n<\/tr>\n<tr>\n<td><code>ReturnToLobbyWhenEmpty<\/code><\/td>\n<td>Returns to the lobby as soon as the server empties<\/td>\n<\/tr>\n<tr>\n<td><code>AdminSay [message]<\/code><\/td>\n<td>Shows a message to everyone, anonymously<\/td>\n<\/tr>\n<tr>\n<td><code>LoadProspect<\/code>, <code>CreateProspect<\/code>, <code>ResumeProspect<\/code><\/td>\n<td>Lobby commands to start a prospect<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These are server commands, not the single-player console cheats some players look for. The official list doesn&#8217;t include item spawns or unlock-everything commands.<\/p>\n<h2 id=\"icarus-dedicated-server-on-linux-with-docker\">Icarus dedicated server on Linux with Docker<\/h2>\n<p>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 <a href=\"https:\/\/github.com\/mornedhels\/icarus-server\">mornedhels\/icarus-server<\/a> on GitHub, which also updates the server and can clean up old prospects on a schedule.<\/p>\n<pre><code>services:\n  icarus:\n    image: mornedhels\/icarus-server:latest\n    restart: unless-stopped\n    stop_grace_period: 90s\n    ports:\n      - \"17777:17777\/udp\"\n      - \"27015:27015\/udp\"\n    volumes:\n      - .\/data:\/home\/icarus\/drive_c\/icarus\n      - .\/game:\/opt\/icarus\n    environment:\n      - SERVER_NAME=Our Crew Server\n      - SERVER_PASSWORD=pick-something\n      - SERVER_ADMIN_PASSWORD=something-long-and-private<\/code><\/pre>\n<p>Settings like <code>SERVER_MAX_PLAYERS<\/code>, <code>SERVER_SHUTDOWN_IF_EMPTY<\/code> and <code>SERVER_RESUME_PROSPECT<\/code> map to the <code>ServerSettings.ini<\/code> keys above. Note that this image&#8217;s default for <code>SERVER_SHUTDOWN_IF_EMPTY<\/code> is 60 seconds, not 300. Config and saves live in <code>.\/data<\/code>. The image runs on Linux and macOS Docker hosts, not on Windows Docker.<\/p>\n<h2 id=\"moving-a-prospect-from-your-game-to-the-server\">Moving a prospect from your game to the server<\/h2>\n<p>You can move an existing prospect to the dedicated server by copying one JSON file. <strong>Back it up first<\/strong>: renaming the file or editing its JSON corrupts the save, and the damage is permanent.<\/p>\n<ol>\n<li>Find the prospect on your PC: <code>%UserProfile%\\AppData\\Local\\Icarus\\Saved\\PlayerData\\&lt;your SteamID&gt;\\Prospects\\&lt;ProspectName&gt;.json<\/code><\/li>\n<li>With the server stopped, create the folders <code>PlayerData\\DedicatedServer\\Prospects<\/code> inside the server&#8217;s <code>Icarus\\Saved<\/code> folder if they don&#8217;t exist yet.<\/li>\n<li>Copy the file, unchanged, into <code>\u2026\\Icarus Dedicated Server\\Icarus\\Saved\\PlayerData\\DedicatedServer\\Prospects\\<\/code>.<\/li>\n<li>Start the server and load it by name: <code>LoadProspect=&lt;ProspectName&gt;<\/code> in the config, or <code>LoadProspect &lt;ProspectName&gt;<\/code> in the lobby.<\/li>\n<\/ol>\n<h2 id=\"how-to-update-an-icarus-dedicated-server\">How to update an Icarus dedicated server<\/h2>\n<p>After an Icarus patch, a server left on the previous build turns away updated players. Shut it down, repeat the SteamCMD download (<code>app_update 2089300 validate<\/code>), then start it. RocketWerkz&#8217;s own example is a two-line batch file:<\/p>\n<pre><code>taskkill \/im IcarusServer.exe\nC:\\steamcmd\\steamcmd +runscript icarus.txt<\/code><\/pre>\n<p>Here <code>icarus.txt<\/code> holds <code>login anonymous<\/code>, <code>app_update 2089300 validate<\/code> and <code>quit<\/code>, one per line. Back up the <code>Saved<\/code> folder before you update. In Docker, the mornedhels image updates on startup, and you can force an update with <code>docker compose exec icarus supervisorctl start icarus-force-update<\/code>.<\/p>\n<h2 id=\"can-you-add-mods-to-an-icarus-server\">Can you add mods to an Icarus server?<\/h2>\n<p>Icarus has no official mod support for dedicated servers. Community mods exist, but RocketWerkz doesn&#8217;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.<\/p>\n<h2 id=\"common-icarus-server-problems-and-fixes\">Common Icarus server problems and fixes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Problem<\/th>\n<th>Likely cause<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Dedicated server not showing up in the browser<\/td>\n<td>Browser still on the normal sessions tab, query port blocked, or server still starting<\/td>\n<td>Flip the toggle to dedicated servers, forward UDP 27015 (or your <code>-QueryPort<\/code>), and give it a minute after launch<\/td>\n<\/tr>\n<tr>\n<td>Server name shows as the default<\/td>\n<td>Name set in <code>SessionName<\/code><\/td>\n<td>Use <code>-SteamServerName=\"\u2026\"<\/code>; <code>SessionName<\/code> currently does nothing<\/td>\n<\/tr>\n<tr>\n<td>No ServerSettings.ini<\/td>\n<td>It&#8217;s only written on the first lobby or prospect<\/td>\n<td>Start once, or create it from the default above<\/td>\n<\/tr>\n<tr>\n<td>Settings don&#8217;t apply<\/td>\n<td>File in the wrong folder, edited while running, or header line changed<\/td>\n<td>Check the path (and <code>-UserDir<\/code>), stop the server, keep <code>[\/Script\/Icarus.DedicatedServerSettings]<\/code> on line 1<\/td>\n<\/tr>\n<tr>\n<td>Server keeps going back to the lobby<\/td>\n<td>Shutdown timers at their 300-second defaults<\/td>\n<td>Set <code>ShutdownIfNotJoinedFor<\/code> and <code>ShutdownIfEmptyFor<\/code> to <code>-1<\/code><\/td>\n<\/tr>\n<tr>\n<td>A stranger became admin<\/td>\n<td>Empty <code>AdminPassword<\/code><\/td>\n<td>Set one and restart<\/td>\n<\/tr>\n<tr>\n<td>&#8220;Connection lost, attempting to rejoin server&#8221; or stuck connecting<\/td>\n<td>Version mismatch after a patch, game port blocked, or the server ran out of memory<\/td>\n<td>Update the server, check UDP 17777, and read the log for out-of-memory lines<\/td>\n<\/tr>\n<tr>\n<td>Crashing when joining, or lag on big prospects<\/td>\n<td>Not enough RAM for the terrain being loaded<\/td>\n<td>Give the server more RAM; 8 GB is the floor, not the target<\/td>\n<\/tr>\n<tr>\n<td>Docker: &#8220;Ran out of memory&#8221; with RAM to spare<\/td>\n<td>Linux memory-map limit too low for Wine<\/td>\n<td>On the Docker host: <code>sysctl -w vm.max_map_count=262144<\/code> (add it to <code>\/etc\/sysctl.conf<\/code> to keep it)<\/td>\n<\/tr>\n<tr>\n<td>Server down after a game update<\/td>\n<td>Old server build<\/td>\n<td>Run <code>app_update 2089300 validate<\/code> with the server stopped<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The log is always the first stop. With <code>-Log<\/code> you see it live, and the files are in <code>Saved\/Logs\/<\/code>.<\/p>\n<h2 id=\"skip-the-setup-rent-an-icarus-server\">Skip the setup: rent an Icarus server<\/h2>\n<p>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, <a href=\"https:\/\/gameteam.io\/icarus-server-hosting\">Icarus server hosting<\/a> 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&#8217;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.<\/p>\n<p>The built-in AI copilot handles the fiddly parts. Type <em>&#8220;set a join password, make it 8 players and stop the server dropping back to the lobby when we log off&#8221;<\/em> and it edits <code>ServerSettings.ini<\/code>, sets both shutdown timers to <code>-1<\/code> and restarts the server. Ask <em>&#8220;why did the prospect crash?&#8221;<\/em> and it goes through the server log and points at the cause. It can also back up your prospects before an update. There&#8217;s a 72-hour money-back window, and when the crew moves on, the same server can switch to another game.<\/p>\n<h2 id=\"faq\">FAQ<\/h2>\n<h3 id=\"is-the-icarus-dedicated-server-free\">Is the Icarus dedicated server free?<\/h3>\n<p>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.<\/p>\n<h3 id=\"how-many-players-can-join-an-icarus-dedicated-server\">How many players can join an Icarus dedicated server?<\/h3>\n<p>Up to 8 at once, set with <code>MaxPlayers<\/code> (1 to 8). That cap comes from the game, so no host can raise it.<\/p>\n<h3 id=\"what-ports-does-an-icarus-dedicated-server-use\">What ports does an Icarus dedicated server use?<\/h3>\n<p>UDP 17777 for the game and UDP 27015 for the Steam query. Change them with <code>-PORT=<\/code> and <code>-QueryPort=<\/code>.<\/p>\n<h3 id=\"where-is-the-icarus-server-config-file\">Where is the Icarus server config file?<\/h3>\n<p>In <code>Icarus\\Saved\\Config\\WindowsServer\\ServerSettings.ini<\/code> inside the server folder, or under the folder you set with <code>-UserDir=<\/code>. It appears after the first lobby or prospect.<\/p>\n<h3 id=\"how-do-i-make-my-icarus-server-private\">How do I make my Icarus server private?<\/h3>\n<p>Set a <code>JoinPassword<\/code> and an <code>AdminPassword<\/code>, and set <code>AllowNonAdminsToLaunchProspects=False<\/code> so only admins can start or switch prospects.<\/p>\n<h3 id=\"how-do-i-transfer-my-icarus-save-to-a-dedicated-server\">How do I transfer my Icarus save to a dedicated server?<\/h3>\n<p>Copy the prospect&#8217;s <code>.json<\/code> file, unchanged, from your PC&#8217;s <code>PlayerData\\&lt;SteamID&gt;\\Prospects<\/code> folder to the server&#8217;s <code>PlayerData\\DedicatedServer\\Prospects<\/code> folder, then load it by name. Don&#8217;t rename it.<\/p>\n<h3 id=\"can-i-run-an-icarus-server-on-linux\">Can I run an Icarus server on Linux?<\/h3>\n<p>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.<\/p>\n<h3 id=\"can-you-use-console-commands-on-an-icarus-server\">Can you use console commands on an Icarus server?<\/h3>\n<p>Yes, admin commands like <code>KickPlayer<\/code>, <code>BanPlayer<\/code> and <code>ReturnToLobby<\/code>, typed in chat with a <code>\/<\/code> after <code>\/AdminLogin<\/code>. The official server list doesn&#8217;t include cheat commands such as unlocking everything.<\/p>\n","protected":false},"excerpt":{"rendered":"An Icarus dedicated server is a copy of the game&#8217;s server that runs on its own machine, so&hellip;\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[165],"tags":[],"class_list":["post-3805","post","type-post","status-publish","format-standard","category-icarus-tutorials","vision-entry","vision-video-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog<\/title>\n<meta name=\"description\" content=\"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog\" \/>\n<meta property=\"og:description\" content=\"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"GameTeam - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-27T14:11:07+00:00\" \/>\n<meta name=\"author\" content=\"gameteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gameteam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/\"},\"author\":{\"name\":\"gameteam\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\"},\"headline\":\"Icarus Dedicated Server: Setup, Requirements, Ports and Settings\",\"datePublished\":\"2026-10-27T14:11:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/\"},\"wordCount\":2392,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"articleSection\":[\"Icarus Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/\",\"name\":\"Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-27T14:11:07+00:00\",\"description\":\"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/icarus-dedicated-server-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Minecraft Tutorials\",\"item\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/category\\\/minecraft-tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Icarus Dedicated Server: Setup, Requirements, Ports and Settings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"name\":\"GameTeam - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#organization\",\"name\":\"GameTeam - Blog\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1\",\"width\":837,\"height\":167,\"caption\":\"GameTeam - Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/#\\\/schema\\\/person\\\/0cc694e709c1805f635ede3a5e1dbf83\",\"name\":\"gameteam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"contentUrl\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/image_2023-11-17_210836342-96x96.png\",\"caption\":\"gameteam\"},\"sameAs\":[\"https:\\\/\\\/gameteam.io\\\/blog\"],\"url\":\"https:\\\/\\\/gameteam.io\\\/blog\\\/author\\\/gameteam\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog","description":"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/","og_locale":"en_US","og_type":"article","og_title":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog","og_description":"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.","og_url":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/","og_site_name":"GameTeam - Blog","article_published_time":"2026-10-27T14:11:07+00:00","author":"gameteam","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gameteam","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/#article","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/"},"author":{"name":"gameteam","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83"},"headline":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings","datePublished":"2026-10-27T14:11:07+00:00","mainEntityOfPage":{"@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/"},"wordCount":2392,"commentCount":0,"publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"articleSection":["Icarus Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/","url":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/","name":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings - GameTeam - Blog","isPartOf":{"@id":"https:\/\/gameteam.io\/blog\/#website"},"datePublished":"2026-10-27T14:11:07+00:00","description":"Set up an Icarus dedicated server: SteamCMD app 2089300, ports 17777 and 27015, ServerSettings.ini, prospects, admin commands, Docker on Linux and fixes.","breadcrumb":{"@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gameteam.io\/blog\/icarus-dedicated-server-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gameteam.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Minecraft Tutorials","item":"https:\/\/gameteam.io\/blog\/category\/minecraft-tutorials\/"},{"@type":"ListItem","position":3,"name":"Icarus Dedicated Server: Setup, Requirements, Ports and Settings"}]},{"@type":"WebSite","@id":"https:\/\/gameteam.io\/blog\/#website","url":"https:\/\/gameteam.io\/blog\/","name":"GameTeam - Blog","description":"","publisher":{"@id":"https:\/\/gameteam.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gameteam.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gameteam.io\/blog\/#organization","name":"GameTeam - Blog","url":"https:\/\/gameteam.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","contentUrl":"https:\/\/i0.wp.com\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-04_031100865.png?fit=837%2C167&ssl=1","width":837,"height":167,"caption":"GameTeam - Blog"},"image":{"@id":"https:\/\/gameteam.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/gameteam.io\/blog\/#\/schema\/person\/0cc694e709c1805f635ede3a5e1dbf83","name":"gameteam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","url":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","contentUrl":"https:\/\/gameteam.io\/blog\/wp-content\/uploads\/2023\/11\/image_2023-11-17_210836342-96x96.png","caption":"gameteam"},"sameAs":["https:\/\/gameteam.io\/blog"],"url":"https:\/\/gameteam.io\/blog\/author\/gameteam\/"}]}},"_links":{"self":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3805","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/comments?post=3805"}],"version-history":[{"count":0,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/posts\/3805\/revisions"}],"wp:attachment":[{"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/media?parent=3805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/categories?post=3805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gameteam.io\/blog\/wp-json\/wp\/v2\/tags?post=3805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}