Icarus Persistent World Hosting and Mission Resets via AMP
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
ampinstmgr CreateInstance GenericModule Icarus01 ADS01 0.0.0.0 8082 +Module GenericModuleampinstmgr StartInstance Icarus01Step 2: Install Icarus via SteamCMD
steamcmd +force_install_dir ./Icarus +login anonymous +app_update 2089300 validate +quitStep 3: Server Settings
[/Script/Icarus.IcarusGameSession]SessionName=Sector Three OperatorsServerPassword=REPLACE_PASSWORDAdminPassword=REPLACE_ADMIN_PASSWORDMaxPlayers=8[/Script/Icarus.WorldPersistence]EnableOpenWorld=TrueOpenWorldSaveSlot=OutpostAlpha[/Script/Icarus.Prospects]AllowProspectDrops=TrueAutoResetCompletedProspects=TrueProspectResetGraceMinutes=30Step 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.
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 InstanceStep 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.
$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 -ForceGet-ChildItem D:\Backups\Icarus -Filter *.zip | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-14) } | Remove-Item -ForcePerformance 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
MaxPlayersat 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.