Menu
 

Factorio 2.1: Surface-Aware Multithreading & Hosting Meta

Factorio 2.1: Surface-Aware Multithreading

In January 2026, Wube Software released **Version 2.1**, the post-Space Age technical overhaul. The headline feature, **Surface-Aware Multithreading (SAM)**, finally allows dedicated servers to utilize high-core-count CPUs by processing different planetary surfaces (Nauvis, Vulcanus, Fulgora, etc.) on separate threads. This marks the most significant architectural change since the game's release.

🚀 The SAM Revolution

  • Asynchronous Planets: In 2.0, the main loop waited for every planet to finish its tick. In 2.1, planets can drift slightly ahead of the main tick if they have low entity counts, reducing the bottleneck.
  • Core Affinity: Admins can now "Pin" heavy surfaces (like a Nauvis mega-factory) to specific high-speed CPU cores.
  • Logistics Buffering: Space Platform logic is now handled on a dedicated IO thread, preventing lag during inter-planetary travel.

Configuring SAM for 2026 Dedis

To enable the new multithreading logic on a Headless server, you must modify your server-settings.json or use the 2.1 launch flags.

📊 Planet Pinning

Use --surface-threads 4 to allocate 4 dedicated threads. This is the sweet spot for a standard Space Age playthrough (Nauvis + 3 Expansion Planets).

⚡ Lock-Step Delta

Set sam_max_drift=5. This keeps the different planetary threads within 5 ticks of each other, ensuring that circuit network signals between planets remain accurate.

Inter-planetary UPS Optimization

While multithreading helps, the "Updates Per Second" (UPS) of a 2.1 server is still limited by the slowest planet.
2026 Meta: Use the "Ghost-Logistics" technique. By de-rendering inactive space platforms (/platform_ghost_mode true), you can save up to 10 UPS for your planetary surfaces.

Surface Resource Allocation (Example):

Surface Thread Priority Reasoning
NauvisHigh / Real-timeMain production hub; highest entity count.
GlebaMediumComplex decay logic; CPU intensive but low entity count.
Space PlatformsLow / BackgroundLinear movement; low logic complexity.
# Launch command for high-performance 2.1 server
./factorio --start-server "world.zip" \
  --surface-threads 8 \
  --thread-priority "Nauvis:Core1-2,Gleba:Core3,Vulcanus:Core4" \
  --use-zstd-compression true

Does 2.1 support old mods?

Most mods require a **2.1-Manifest update**. Mods that interact with the "Surface API" must be rewritten to handle the new asynchronous thread safety locks.

Can I host 2.1 on my old 4-core VPS?

You can, but you won't benefit from the multithreading. For a Space Age world, we recommend at least an **8-core/16-thread CPU** to see a significant UPS improvement.

Why is my Gleba surface lagging?

Check your **Fruit-Decay Logic**. Version 2.1 introduced a heuristic cache for decay; if you have 100,000+ spoiled items on the ground, the cache will overflow regardless of your CPU cores.

Next Steps

UPS-Guaranteed Hosting: Supercraft’s **Automata-MAX** nodes feature 16-core Ryzen 9 CPUs and pre-configured SAM pinning. We offer the only hosting platform that monitors your per-surface UPS in real-time.

Top