Menu
 

Icarus Server Performance Optimization 2025

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

  1. Power Plan: Set Windows to "High Performance" or "Ultimate Performance"
  2. Process Priority: Set IcarusServer.exe to "High" (not "Realtime")
  3. Core Parking: Disable core parking via registry or BIOS
  4. Turbo Boost: Ensure CPU turbo boost is enabled in BIOS
  5. 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 CountMinimum RAMRecommended RAMOptimal Configuration
1-4 Players16 GB32 GBDual channel, 3200+ MHz
4-8 Players32 GB64 GBQuad channel, 3600+ MHz
8+ Players64 GB128 GBQuad 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

SettingValueExplanation
MTU1500 (standard)Do not increase unless you have Jumbo frames end-to-end
TCP ChimneyDisabledCan interfere with game traffic
RSSEnabledReceive Side Scaling for multi-core
Interrupt ModerationAdaptiveBalance latency and CPU usage
Jumbo FramesDisabledNot 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 FPS
  • stat unit - Frame time breakdown
  • stat memory - Memory usage
  • stat net - Network statistics
  • stat game - Game thread performance

Performance Baseline Testing

  1. Idle Baseline: Measure server performance with 0 players
  2. Load Testing: Add players gradually, record metrics at each step
  3. Stress Testing: Maximum players with intensive activities
  4. 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

  1. CPU: Highest single-thread performance available (Intel Core i9-14900K or AMD Ryzen 9 7950X3D)
  2. Storage: Fastest NVMe SSD (PCIe 5.0 if supported, otherwise PCIe 4.0)
  3. RAM: Sufficient capacity (32GB minimum) with high speed and low latency
  4. Network: Business-grade internet with low latency and good peering
  5. Motherboard: Quality VRM for stable CPU power, good PCIe lanes
  6. 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

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.

Top