Icarus Server Performance Optimization 2025
Icarus is a CPU and I/O intensive game that requires careful optimization for smooth session-based gameplay. This guide covers hardware tuning, configuration optimizations, and monitoring strategies for optimal server performance.
⚡ Optimization Overview
- Primary Bottleneck: CPU single-thread performance
- Critical Component: NVMe SSD for world streaming
- Memory Usage: 16-32 GB recommended
- Network Priority: Low latency over high bandwidth
- Monitoring Tools: Built-in metrics and third-party tools
CPU Optimization
Single-Thread Performance Tuning
Icarus relies heavily on single-thread performance for physics, AI, and world updates.
# Windows CPU Affinity Settings
# Pin IcarusServer.exe to specific cores for better cache utilization
# Using PowerShell (run as administrator):
$process = Get-Process -Name IcarusServer
$process.ProcessorAffinity = 0x55 # Use cores 0,2,4,6 (example)
# Or use Process Lasso for automatic optimization:
# - Set IcarusServer.exe to "High Performance" power profile
# - Enable "CPU Affinity" with preferred cores
# - Set "I/O Priority" to "High"
CPU Priority and Power Settings
- Power Plan: Set Windows to "High Performance" or "Ultimate Performance"
- Process Priority: Set IcarusServer.exe to "High" (not "Realtime")
- Core Parking: Disable core parking via registry or BIOS
- Turbo Boost: Ensure CPU turbo boost is enabled in BIOS
- Thermal Throttling: Monitor CPU temperatures, ensure adequate cooling
BIOS Optimization
- CPU Settings: Enable XMP/DOCP for RAM, disable power saving features (C-states)
- PCIe Settings: Set PCIe to Gen4/Gen5 for NVMe drives
- Virtualization: Disable if not needed (may reduce overhead)
- NUMA: Enable NUMA awareness if using multi-socket systems
Memory Optimization
RAM Configuration
| Player Count | Minimum RAM | Recommended RAM | Optimal Configuration |
|---|---|---|---|
| 1-4 Players | 16 GB | 32 GB | Dual channel, 3200+ MHz |
| 4-8 Players | 32 GB | 64 GB | Quad channel, 3600+ MHz |
| 8+ Players | 64 GB | 128 GB | Quad channel, 4000+ MHz |
Windows Memory Settings
# Disable page file if sufficient RAM (64GB+)
# Control Panel > System > Advanced > Performance Settings
# Advanced > Virtual Memory > Change > No paging file
# If using page file (recommended for 32GB or less):
# - Set on NVMe SSD, not HDD
# - Initial size: 16384 MB, Maximum size: 32768 MB
# - Location: Different physical drive than game files
# Enable Large Pages (if supported)
# Registry: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
# Set "LargePageMinimum" to 0xffffffff (4294967295 decimal)
Memory Monitoring and Management
- Tool: Use Windows Performance Monitor or Process Explorer
- Metrics: Watch for memory leaks (gradual increase over time)
- Cleaning: Schedule server restarts every 24-48 hours to clear memory
- Fragmentation: Monitor with RAMMap from SysInternals
Storage Optimization
NVMe SSD Configuration
Icarus benefits tremendously from fast storage for world streaming and save operations.
# Windows SSD Optimization
# 1. Disable defragmentation for SSD
fsutil behavior set disabledeletenotify 0
# 2. Enable write caching
# Device Manager > Disk drives > [NVMe Drive] > Properties
# Policies > Enable write caching
# 3. Disable indexing on game drive
# Properties > General > uncheck "Allow files to have contents indexed"
# 4. Set optimal NTFS allocation unit size
# Format with 64KB clusters for game files
format D: /FS:NTFS /A:64K /Q
Storage Layout Recommendations
🏆 Optimal Setup
Drive 1: 500GB+ NVMe PCIe 4.0/5.0
- OS, Icarus server files, world data
- Separate partition for page file
Drive 2: 1TB+ NVMe PCIe 3.0/4.0
- Backup location, logs, temporary files
👍 Good Setup
Drive 1: 500GB NVMe PCIe 3.0/4.0
- OS and Icarus server files
Drive 2: 1TB SATA SSD
- World data, backups, logs
⚖️ Budget Setup
Drive 1: 500GB NVMe PCIe 3.0
- Everything on single drive
Consider: Adding secondary SSD for backups
Save File Optimization
[SaveSettings]
# Configure in ServerSettings.ini
AutoSaveInterval=300 # Save every 5 minutes (balance safety vs performance)
SaveCompression=true # Compress save files (recommended)
SaveVerification=true # Verify saves (prevents corruption)
# Cleanup old saves
MaxSaveBackups=10 # Keep only 10 backups
BackupRotation=daily # daily/weekly/monthly
Network Optimization
Network Configuration
| Setting | Value | Explanation |
|---|---|---|
| MTU | 1500 (standard) | Do not increase unless you have Jumbo frames end-to-end |
| TCP Chimney | Disabled | Can interfere with game traffic |
| RSS | Enabled | Receive Side Scaling for multi-core |
| Interrupt Moderation | Adaptive | Balance latency and CPU usage |
| Jumbo Frames | Disabled | Not recommended for game servers |
QoS and Traffic Prioritization
# Windows QoS Policies (Group Policy)
# Create policy for Icarus traffic:
# - Source Port: 17777 UDP
# - DSCP Value: 46 (Expedited Forwarding)
# - Rate Limit: None
# Router QoS Configuration:
# 1. Identify server IP address
# 2. Create rule for UDP 17777
# 3. Set to "Highest" priority
# 4. Reserve bandwidth (minimum 10 Mbps per player)
Latency Optimization
- Server Location: Choose region closest to majority of players
- ISP Selection: Business-grade internet with SLA
- Peering: Ensure good peering with major networks
- Monitoring: Use smokeping or similar to track latency spikes
Configuration Tuning
Performance-Oriented Server Settings
[PerformanceSettings]
# Entity limits (adjust based on player count)
MaxAnimals=100 # Default 150
MaxCreatures=50 # Default 75
MaxStructures=500 # Default 1000
MaxItems=1000 # Default 2000
# Update rates
ActorUpdateRate=30 # Default 60 (reduces CPU usage)
NetUpdateRate=30 # Default 60
PhysicsUpdateRate=30 # Default 60
# Streaming and LOD
WorldStreamingDistance=15000 # Default 20000 (meters)
LODDistanceMultiplier=0.8 # Default 1.0
CullDistanceMultiplier=0.9 # Default 1.0
# Memory management
PoolSize=1024 # Memory pool size in MB
CacheSize=512 # Asset cache size in MB
Prospect-Specific Optimization
[ProspectPerformance]
# Reduce during timed missions
ReducedFoliage=true # Less detailed vegetation
SimplifiedWater=true # Simpler water effects
WeatherDetail=medium # high/medium/low
ShadowQuality=medium # high/medium/low
# Dynamic adjustment
ScaleWithPlayers=true # Automatically reduce settings with more players
PerformanceModeThreshold=4 # Enable performance mode at 4+ players
Monitoring and Diagnostics
Performance Monitoring Tools
📊 Windows Performance Monitor
Key counters:
- Processor: % Processor Time
- Memory: Available MBytes
- Network Interface: Bytes Total/sec
- PhysicalDisk: Avg. Disk Queue Length
- Process: IcarusServer - % Processor Time
🔧 SysInternals Suite
Essential tools:
- Process Explorer (detailed process info)
- RAMMap (memory analysis)
- Process Monitor (file/registry I/O)
- VMMap (virtual memory analysis)
- LatencyMon (DPC latency checking)
📈 Icarus Built-in Metrics
Console commands:
stat fps- Server FPSstat unit- Frame time breakdownstat memory- Memory usagestat net- Network statisticsstat game- Game thread performance
Performance Baseline Testing
- Idle Baseline: Measure server performance with 0 players
- Load Testing: Add players gradually, record metrics at each step
- Stress Testing: Maximum players with intensive activities
- Long-term Monitoring: 24-48 hour stability test
Troubleshooting Performance Issues
Server FPS dropping below 30
Check CPU single-thread usage. Reduce ActorUpdateRate. Limit entity counts. Consider CPU upgrade (higher clock speed).
Players experiencing rubberbanding
Check network latency and packet loss. Verify QoS settings. Reduce NetUpdateRate if CPU limited. Upgrade network connection.
Long world loading times
Verify SSD health and speed. Check for disk queue length. Defragment if HDD, optimize if SSD. Consider NVMe upgrade.
Memory usage constantly increasing
Check for memory leaks. Schedule regular restarts. Increase RAM. Monitor with RAMMap to identify leak source.
CPU spikes during weather events
Reduce WeatherDetail setting. Limit severe weather frequency. Consider disabling some weather effects during peak hours.
Hardware Upgrade Recommendations
Priority Order for Upgrades
- CPU: Highest single-thread performance available (Intel Core i9-14900K or AMD Ryzen 9 7950X3D)
- Storage: Fastest NVMe SSD (PCIe 5.0 if supported, otherwise PCIe 4.0)
- RAM: Sufficient capacity (32GB minimum) with high speed and low latency
- Network: Business-grade internet with low latency and good peering
- Motherboard: Quality VRM for stable CPU power, good PCIe lanes
- Cooling: Adequate cooling to prevent thermal throttling
Cloud Hosting Considerations
- Instance Type: Compute-optimized (c-series) or general purpose with high CPU
- Storage: Premium SSD or NVMe options
- Network: Low-latency optimized regions
- Monitoring: Cloud-specific monitoring tools
- Scaling: Ability to scale vertically during peak times
Next Steps
- Set up your dedicated server
- Check hardware requirements
- Configure server settings
- Optimize persistent outpost servers
- Tune prospect mission performance
Optimized Hosting Solution: Supercraft provides pre-optimized Icarus servers with tuned CPU settings, NVMe storage configurations, and performance monitoring for the best possible gameplay experience.