VGKAMI
Advertise Get listed

Game Guides

Icarus Server Settings Explained: The Best Config for Your Group

October 26, 2026 11 min read

The best Icarus dedicated-server configuration for a private group uses a real JoinPassword, a different non-empty AdminPassword, MaxPlayers set to your actual group size, admin-only prospect deletion, and ResumeProspect=True. Set both shutdown timers below zero when you want a persistent world. Name the server with -SteamServerName; SessionName currently does not change the browser listing. Choose difficulty and Hardcore when creating a prospect, then manage Custom World Settings in-game.

This guide explains where ServerSettings.ini is, what every key does, which settings require a restart, how to keep a prospect running, and how to migrate or recover a world safely.

Where is ServerSettings.ini?

RocketWerkz documents the dedicated-server file at SavedConfigWindowsServerServerSettings.ini, normally beneath %localappdata%Icarus. The server creates this directory and its initial configuration only after it has launched once.

  1. Start the dedicated server with your normal shortcut, service, or hosting-panel control.
  2. Wait until it reaches the lobby or finishes initialization.
  3. Stop it cleanly so the configuration is flushed to disk.
  4. Open %localappdata%IcarusSavedConfigWindowsServerServerSettings.ini in a text editor.
  5. Make a copy of the original file before changing several values at once.

If you use -UserDir=, the save and configuration tree moves to that user directory instead of the default local-app-data location. A panel may expose the same fields in a web form, but the resulting values still belong to the server’s configuration and launch arguments.

Every key must remain under the exact section header shown below. A misspelled key, a misplaced section header, or a value outside the documented format can be ignored or prevent the server from starting.

[/Script/Icarus.DedicatedServerSettings]
SessionName=
JoinPassword=
MaxPlayers=
AdminPassword=
ShutdownIfNotJoinedFor=300.000000
ShutdownIfEmptyFor=300.000000
AllowNonAdminsToLaunchProspects=True
AllowNonAdminsToDeleteProspects=False
LoadProspect=
CreateProspect=
ResumeProspect=True
LastProspectName=

What is the best Icarus server config for a private group?

For a trusted group, use the following as a starting point. Replace the passwords and player count; do not copy the sample strings literally.

[/Script/Icarus.DedicatedServerSettings]
JoinPassword=replace-with-a-long-private-password
AdminPassword=replace-with-a-different-admin-password
MaxPlayers=4
ShutdownIfNotJoinedFor=-1
ShutdownIfEmptyFor=-1
AllowNonAdminsToLaunchProspects=True
AllowNonAdminsToDeleteProspects=False
ResumeProspect=True

Set MaxPlayers to the number of people who should be able to connect at the same time, not to a value larger than your group “just in case.” The documented supported range is 1 through 8 concurrent players. Keep non-admin launching enabled only when every member is trusted to create or load a prospect. Deletion should normally remain admin-only, because deleting a prospect is destructive.

The negative timer values keep the process from automatically returning to the lobby when nobody is present. This is the appropriate profile for an always-available private world that you want to resume later.

When should you use an admin-controlled group?

Use the same password, capacity, timer, and resume pattern, but set AllowNonAdminsToLaunchProspects=False when one curated world should be available and ordinary lobby users must not create or load another one.

AllowNonAdminsToLaunchProspects=False
AllowNonAdminsToDeleteProspects=False

Players can still join and play the approved prospect, while an administrator controls which prospect is launched. This avoids accidental world changes when several people share the lobby.

What does each ServerSettings.ini setting do?

Setting Function Practical choice for a group
SessionName Legacy session-name field. RocketWerkz says it currently does nothing. Leave it blank; use -SteamServerName for the browser name.
JoinPassword Password required to enter the server. An empty value means no join password. Use a long private password for an internet-facing server.
MaxPlayers Concurrent-player cap. The documented range is 1–8. Match the actual group size.
AdminPassword Password used with /AdminLogin. Use a non-empty password that is different from the join password.
ShutdownIfNotJoinedFor Seconds the server waits for the first player after startup. Use a negative value for an always-on process; use 300 when you want an idle lobby to close after five minutes.
ShutdownIfEmptyFor Seconds the server waits after the last player leaves. Use a negative value for persistence, or 300 for automatic return to the lobby.
AllowNonAdminsToLaunchProspects Controls whether any lobby player can create or load a prospect. True for a fully trusted group; False for admin curation.
AllowNonAdminsToDeleteProspects Controls who may delete saved prospects. Keep False unless every player is trusted with permanent deletion.
LoadProspect Names a saved prospect to load at startup. Set only when a particular save should be loaded automatically.
CreateProspect Creates and launches a prospect at startup. Use a complete creation string when automating a new world.
ResumeProspect Resumes the prospect named by LastProspectName. Leave True for a continuing campaign.
LastProspectName The last prospect name written by the server and used by resume behavior. Usually let the server write it; set it deliberately during migration.

How do I set MaxPlayers safely?

Set MaxPlayers to an integer from 1 through 8, save the file, and restart the server. For a four-person group, use MaxPlayers=4; for six regular players, use MaxPlayers=6. The setting limits simultaneous connections, not the number of people who may take turns playing.

If a panel has a “slots” field, verify that it writes the same value to the dedicated-server configuration. A value above the documented eight-player limit is unsupported, even if a panel accepts it. If players are refused after changing the value, check for a second configuration file under a relocated -UserDir and confirm that the server was fully stopped before editing.

Why does SessionName not change my server name?

SessionName currently has no effect on the server-browser listing. RocketWerkz explicitly directs administrators to use the -SteamServerName command-line argument instead.

-SteamServerName="Your Group Name"

The documented browser-name limit is 64 characters. Keep the name descriptive and avoid punctuation that your hosting panel or shell may reinterpret. Do not expect a change to appear while the old process is still running: stop the server, update the launch argument, and start it again.

How do I stop Icarus returning to the lobby?

Set both shutdown timers to negative values:

ShutdownIfNotJoinedFor=-1
ShutdownIfEmptyFor=-1

Negative values run indefinitely. The first timer controls an empty server waiting for its first player; the second controls the period after the last player leaves. The game is paused during a positive waiting window.

What do the timer values mean?

Value Behavior Use case
Negative Continue indefinitely. Persistent dedicated world.
Zero Return to the lobby as soon as possible. Immediate lobby workflow.
Positive Wait that many seconds, with the game paused during the window. Temporary idle grace period.

The documented default for each timer is 300 seconds, or five minutes. Keep the defaults only when you deliberately want an idle server to return to the lobby so players can start a different prospect. A positive value does not keep the world simulating while everyone is gone.

How do I resume a prospect on a dedicated server?

For normal continuation, leave ResumeProspect=True and allow the server to maintain LastProspectName. On startup, the server uses that saved name to resume the previous prospect.

  1. Stop the server cleanly after the group finishes playing.
  2. Confirm that the prospect appears in the server’s saved-prospect directory.
  3. Keep ResumeProspect=True in ServerSettings.ini.
  4. Restart the server and wait for initialization.
  5. Check that the expected prospect is active before inviting players.

If you need a specific saved world rather than the last one, use LoadProspect= with that prospect’s name. If you want a new world generated automatically, use CreateProspect= instead. Supplying no startup command leaves the server in the lobby for UI or RCON control.

How do LoadProspect, ResumeProspect, and CreateProspect differ?

Startup path What it does When to choose it
ResumeProspect Resumes the prospect named by LastProspectName. Continuing one campaign after restarts.
LoadProspect Loads a named saved prospect. Switching deliberately to a known save.
CreateProspect Creates and launches a prospect from a type, difficulty, Hardcore flag, and save name. Automating a fresh world or outpost.
No startup command Waits in the lobby for UI or RCON control. Groups that choose prospects manually each session.

How do I create a prospect with the right difficulty and Hardcore mode?

Difficulty is chosen when the prospect is created, not through a general slider in ServerSettings.ini. The official creation format is:

-CreateProspect="[ProspectType] [Difficulty] [Hardcore?] [SaveName]"

Difficulty uses numeric values 1 through 4, from easiest to extreme. The Hardcore field is True or False; True disables respawning. A save name is required for outposts. For regular prospects, omitting the save name can produce a random name.

Because difficulty is fixed at creation, decide it with the group before launching the prospect. If you want another difficulty, create a new prospect rather than looking for a server-wide difficulty key that does not exist.

Can I change Custom World Settings without editing the INI?

Yes. Custom World Settings are stored with the prospect and are managed separately from ServerSettings.ini. A local host or a logged-in dedicated-server administrator can open the in-game escape menu and change them without restarting the server.

The September 2026 reference identifies at least two options:

  • Arachnophobia Mode: toggles spider spawning.
  • Mount Unclaim Requires Ownership: prevents players from unclaiming a tame they do not own.

These options and their defaults can change with future game updates, so check the labels in the current build before promising a particular behavior to your group. Treat them as world-level settings: they travel with the prospect rather than applying universally to every prospect on the server.

What ports and launch arguments does a dedicated server use?

The current consolidated reference lists default ports of 17777 for game traffic and 27015 for the Steam query interface. Change them only when another service uses the same ports or your host requires a different allocation, and open the selected ports in the firewall and router as appropriate for your environment.

Documented launch arguments include:

  • -PORT= — game port.
  • -QueryPort= — Steam query port.
  • -MULTIHOME= — bind to a specific network address.
  • -UserDir= — relocate the save and configuration directory.
  • -saveddirsuffix= — select a save-directory suffix.
  • -LOG= — enable logging.
  • -ABSLOG= — choose an absolute log path.
  • -ResumeProspect, -LoadProspect=, and -CreateProspect= — control startup behavior.
  • -SteamServerName= — set the browser-visible name.

When a panel exposes name and port fields, verify the generated command line if the browser still shows an old name or the server is unreachable. A stale process, a firewall rule for the old port, or two servers sharing one query port can produce the same symptoms as a bad INI value.

How should I migrate an existing prospect?

Use the official migration sequence and keep the original files untouched until the new server has loaded successfully.

  1. Launch the destination dedicated server once, then stop it. This creates the required folder structure.
  2. Place ServerSettings.ini under IcarusSavedConfigWindowsServer in the destination user directory.
  3. Set LastProspectName to the exact save name you are moving.
  4. Copy the prospect JSON into SavedPlayerDataDedicatedServerProspects.
  5. Start the server and verify that the prospect appears before allowing players to join.

Do not rename the prospect file or edit its JSON data during migration. RocketWerkz warns that changing the filename or JSON can corrupt the save and make it unrecoverable. Preserve the original JSON and create a separate backup before copying anything.

What are the most common configuration failures?

The server name never changes

Remove any expectation that SessionName controls the listing. Put the desired name in the launch command as -SteamServerName="...", restart the process, and stay within the 64-character documented limit.

Anyone can become an administrator

Inspect AdminPassword. An empty value effectively permits /AdminLogin with an empty password. Set a non-empty administrator password and do not reuse the join password.

The server shuts down while nobody is connected

Check both shutdown timers. A positive value, including the 300-second default, intentionally returns to the lobby after the specified wait. Set both values below zero for indefinite operation.

Players can delete a world unexpectedly

Set AllowNonAdminsToDeleteProspects=False and require an administrator login for deletion. If the server is already running, stop it before editing and restart it so the new value is read.

The wrong prospect starts

Review the interaction between ResumeProspect, LastProspectName, LoadProspect, and CreateProspect. Remove conflicting startup arguments, confirm the exact save name, and check that a relocated -UserDir is not hiding a second set of saves.

Changes appear to do nothing

Make sure the file is under the active user directory, the section header is exact, and the server was completely stopped before saving. Launch arguments can override or bypass an INI value, so inspect the panel or shortcut command as well as the file.

Which group profile should you choose?

Profile Access security Capacity Persistence Authority Startup mode
Small trusted group Private join password plus separate admin password. Set to the actual group size, such as 4. Both timers negative; resume enabled. Members may launch; deletion remains admin-only. Resume the last prospect.
Admin-controlled group Same two-password arrangement. Set to the actual group size. Both timers negative; resume enabled. Only admins launch or delete prospects. Resume or explicitly load the curated prospect.
Lobby-driven sessions Use a join password appropriate to the group. Set to the expected simultaneous players. Positive timers, commonly the 300-second defaults. Allow launching if players choose their own worlds. No automatic startup command; use the lobby.

The first profile minimizes administration for a genuinely trusted group. The second protects a single shared world from accidental launches. The third trades persistence for a server that tidies itself after an idle session.

What should I check before inviting players?

  • Launch once and confirm the server generated its save and configuration directories.
  • Set a non-empty join password and a different non-empty admin password.
  • Choose a MaxPlayers value from 1 through 8 that matches your group.
  • Set both shutdown timers deliberately instead of inheriting an unwanted default.
  • Use -SteamServerName and verify the browser listing after a restart.
  • Decide whether non-admins may launch prospects; keep deletion admin-only unless there is a compelling reason otherwise.
  • Choose resume, load, create, or lobby startup explicitly.
  • Back up ServerSettings.ini and every prospect JSON before migration or major edits.
  • Log in as an administrator and verify that the in-game Custom World Settings menu is available.

Frequently Asked Questions

Can I use the same password for joining and administering an Icarus server?

You can, but it weakens separation of access. A join password is shared with everyone who plays, while the administrator password grants commands such as /AdminLogin; keeping them different limits the impact if the join password spreads.

Does changing a Custom World Setting require a server restart?

No. A local host or logged-in dedicated-server administrator can change the documented world options from the in-game escape menu, and the change is stored with that prospect. This is separate from INI values that are read during startup.

Why is my migrated prospect missing even though the JSON file is present?

Check that the destination server used the same active user directory, that LastProspectName exactly matches the save name, and that the JSON is inside SavedPlayerDataDedicatedServerProspects. Renaming the file or altering its JSON can make the save unreadable.

What happens if I leave all startup prospect fields blank?

The dedicated server remains in its lobby and waits for a prospect to be selected through the game interface or RCON. This is useful when the group changes worlds manually instead of binding the process to one save.