Interplanetary Logistics Problems on a Space Age Server
Checked against the shipped builds on 20 September 2026. Stable 2.0.77, experimental 2.1.19. Everything below comes from those builds and from Wube's own changelog.txt inside them.
A platform sits in orbit with a request that never fills. Items leave a planet and appear not to arrive. A group decides the server is desyncing. It almost never is. Interplanetary logistics in Space Age is a request system with several quiet ways to stall, and a stall looks like lost data when you are watching from the wrong end.
First: separate a stall from a desync
A desync is a specific event. A client's simulation stops matching the server's, the game says so, that client is dropped and reloads, and a desync report is written. If nobody is being disconnected, you do not have a desync, you have a logistics problem.
There is no interplanetary logistics desync, no per-planet simulation threads and no tick drift between surfaces. Every surface, planet and platform alike, ticks in the same loop on the same thread. If players genuinely are being dropped and reloaded, that belongs in desync troubleshooting, and the answer is nearly always a version or mod mismatch.
Why a platform request does not fill
- The silo is not on the body the platform is orbiting. Requests are filled by rocket silos where the platform currently is. A platform parked over Vulcanus is not served by a silo on Nauvis.
- The silo has no rocket. A silo out of low density structure, rocket fuel or processing units sits there without complaining. Check the silo before you blame the platform.
- The item is too heavy for one launch. Item weight decides how much fits in a rocket, and a few items do not fit the base silo at all. 2.1.12 addressed exactly this: "Fixed that you could not set items too heavy for the base rocket silo in platform hub requests."
- A custom minimum payload is holding the launch. A request with a minimum payload waits for a full load. 2.1.18 fixed two related cases, including "Fixed automatic rocket requests not ordering extra items when custom minimum payload was equal to the requested amount."
- Script or a mod disabled the silo. Fixed for one case in 2.0.52: "Fixed that rocket silos disabled by script would still try to fulfil space platform requests."
- The landing pad is full. Platform trash comes down as well as up, and a full pad backs the whole path up. 2.1.15: "Fixed that space platform trash could over-fill landing pads."
Why a platform stops moving
- Fuel or oxidizer has run out. Thrusters take both and consume them at the same rate, so a line that makes only one of the two strands the platform as surely as making neither. Wire the pumps so they run only when both are available.
- The asteroid line has backed up. Crushers stop when their output is full, collectors stop when the belt is full, and fuel production ends quietly. A filtered dump back into space is the standard fix. Space platform optimization covers the layout.
- It is waiting on a construction request it cannot fill. 2.0.63: "Fixed that space platform construction requests would not request more repair packs after running out."
What to check on the server
- Read
factorio-current.log. A real fault, a mod error or a save consistency problem is written there. See reading server logs. - Confirm every client is on the same build as the server. Version mismatch causes most of what a group calls a desync.
- If players really are dropped repeatedly whenever one of them joins, use
/toggle-heavy-mode. It is the command the game ships for that. Its own warning is that it makes multiplayer unplayable while it runs, because the server saves and compares the game against itself every tick. Leave it on until it prints something, then send that output to Wube. /toggle-action-loggingis the milder relative. It logs input actions locally and does not survive a restart.
Fixes that circulate and do not exist
Several confident remedies for this problem are invented. None of the following is in any shipped Factorio build:
- A
logistics-buffer.jsonfile, or alogisticsblock insideserver-settings.json. The shippedserver-settings.example.jsondocuments twenty-eight keys and none of them is logistics related. Worse, the reader ignores a key it does not recognise instead of warning you, so an invented block looks accepted and does nothing at all. - A
strict_logistics_lockingsetting, aninterplanetary_delta_buffer, amanifest_timeout_msor aplatform_sync_priority. - The commands
/repair_manifests,/summon_platform,/force_logistics_syncand/logistics compact. - Launch flags that split planets across threads. There are none. The only thread option the binary has is
--threads, and its own help text says it is for generating map previews.
The check that settles any of these in seconds: type /help on your own server for the command list, and run ./bin/x64/factorio --help for the launch arguments. Both are the game listing itself, so anything absent from them is not a thing. An unknown launch argument is also fatal rather than ignored, which inside a systemd unit with Restart=always becomes a boot loop with no obvious cause.
Our full command reference, taken from the game's own help strings, is in Factorio console commands.
Scaling Your Infrastructure
Stable logistics needs a server that holds 60 UPS while five surfaces tick. View plans.