Hosting Guides

Icarus Persistent World Hosting and Mission Resets via AMP

9 min readWindowsAMPUnreal
Once your server is online, jump to the Icarus command and config reference.

Icarus has a split personality: drop missions are short, disposable, and reset after each prospect completes, while Open World outposts are long lived and must persist for weeks. Running both on one Windows host with AMP means writing two distinct task chains: a mission reset chain that wipes the prospect save when it finishes, and a backup chain that snapshots Open World saves on a tight cadence without ever touching the prospect data.

Prerequisites

  • Windows Server 2022 with at least 16 GB RAM and 6 modern CPU cores.
  • CubeCoders AMP licensed and installed.
  • UDP 17777 (game), UDP 27015 (query), and UDP 27016 (steam) open in Windows Firewall.

Step 1: Create the AMP Instance

PowerShell (Administrator)
ampinstmgr CreateInstance GenericModule Icarus01 ADS01 0.0.0.0 8082 +Module GenericModule
ampinstmgr StartInstance Icarus01

Step 2: Install Icarus via SteamCMD

AMP Console
steamcmd +force_install_dir ./Icarus +login anonymous +app_update 2089300 validate +quit

Step 3: Server Settings

Icarus\\Saved\\Config\\WindowsServer\\ServerSettings.ini
[/Script/Icarus.IcarusGameSession]
SessionName=Sector Three Operators
ServerPassword=REPLACE_PASSWORD
AdminPassword=REPLACE_ADMIN_PASSWORD
MaxPlayers=8
[/Script/Icarus.WorldPersistence]
EnableOpenWorld=True
OpenWorldSaveSlot=OutpostAlpha
[/Script/Icarus.Prospects]
AllowProspectDrops=True
AutoResetCompletedProspects=True
ProspectResetGraceMinutes=30

Step 4: Mission Reset Task Chain

AMP's task scheduler can fire a chain when the game log emits a known string. Icarus prints Prospect completed by all players when a drop ends. Use that as the trigger.

AMP Scheduler
Trigger: Console output contains "Prospect completed by all players"
Actions:
1. Broadcast in game: "Prospect will reset in 30 minutes"
2. Wait 30 minutes
3. Stop Instance
4. Run PowerShell:
Remove-Item "Icarus\Saved\PlayerData\ProspectActive.json" -Force
5. Start Instance

Step 5: Open World Backup Chain

Open World saves live in Icarus\\Saved\\PlayerData\\OpenWorlds\\. Snapshot that tree every two hours and keep two weeks of rotated archives.

PowerShell, scheduled via AMP every 2 hours
$ts = Get-Date -Format "yyyyMMdd-HHmm"
$src = "C:\AMP\Instances\Icarus01\Icarus\Saved\PlayerData\OpenWorlds"
$dest = "D:\Backups\Icarus\openworld-$ts.zip"
Compress-Archive -Path $src -DestinationPath $dest -Force
Get-ChildItem D:\Backups\Icarus -Filter *.zip |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-14) } |
Remove-Item -Force

Performance and Tuning

  • Keep Open World and Prospect saves on separate folders; never let a reset script glob across both.
  • Schedule heavy backups outside Prospect drop windows. The compression spike will stutter the tick.
  • Cap MaxPlayers at 8 for Open World. The persistent simulation cost scales aggressively past that.
  • Pin AMP's instance affinity to physical cores. Unreal Insights traces show SMT siblings cost more than they save here.

Conclusion

Icarus rewards operators who treat its two save systems as completely separate state machines. With AMP firing one chain on prospect completion and another on a backup cadence, you get fresh missions for casual players and durable outposts for long term crews on a single host.