Cross-planet delivery that just works. GOOD NEWS EVERYONE! Moving goods between planets means babysitting platform schedules and cargo requests by hand. Planet Express does it for you. Enrol a few cargo ships, tell each planet what it needs, and the mod finds the goods, picks a ship, and flies them over — no schedule micromanagement, ever.
Providing the player with new tools or adjusting the game interface, without fundamentally changing gameplay.
Augmented or new ways of transporting materials - belts, inserters, pipes!
Related to roboports and logistic robots.
Hi CrazyFeSS, great mod you have here! Was an instant download for me when I saw the feature set.
Encountering an issue with my platforms that while en-route they seem to be just... switching their engines off and drifting.
There is no fuel or material issues. Fully powered via fusion, fuel and oxidiser tanks filled and engines connected and full. The dispatch list claims they are "working" and not stalled and they have dispatch orders in their list.
My only assumption is that something, somewhere, is timing out on them causing to drop their current travel plans and wait till the dispatch gives them new orders even if that's happening between planets. I've noticed that several of the ships in my fleet have orphan items in their inventories that should have been delivered but never were, likely because dispatch orders changed as a result of this time out.
I'm also running into ships classing as "stuck" despite nothing about them indicating that they are. Ie. they're actively travelling to a planet with orders in their list and items in the inventory. I've never had to manually intervene for this and the network is still working fine, but the dispatch shouldn't be telling me there is a problem when none exists or seems to change its mind when the issue resolves itself.
So to summarise;
- Platform engines are turning off mid-flight for unknown reason despite having flight plans, leaving some items undelivered in inventories until new dispatch orders match up
- Mysterious "stuck" status despite no visible issues, that resolves itself without my intervention after a relatively short time.
- No ability to actually diagnose the origin of why a platform claims is "stuck". So some extra readout on what the problem is would be beneficial so I can act on it.
Some feature requests too:
- A way to see, from Dispatch view, what platform is fulfilling what orders. Currently the fleet roster says the destination, origin and ETA of a platform but not specifically what it is carrying as part of that order. Need to visit the platform itself to check its orders to see that and reopen the monitor to see another
- A way to specifically prioritise a specific planet request in a once-off manner. ie. "First available ship, fill this order now" button. Without manipulating global priority values. Eg. Im doing a bunch of builds on Vulcanus so i need Foundation delivered in bulk asap.
- A way to arrange platforms into folders (+ folders within folders) in the fleet monitor view, so I can organise my platforms into categories that make sense to me.
- A network summary view on what each planet is importing, what items are being actively exported, and the surplus currently available on that planet
Thanks for the detailed report — that was enough to find it without a save file. All three of your bugs are the same bug, and it's fixed in 2.1.4 (Factorio 2.1) / 1.10.5 (2.0).
What was happening. The mod runs a watchdog that frees ships which have genuinely got stuck, so a broken ship can't sit on a delivery forever. It measured progress by asking "has this ship reached a new stop recently?" — but a ship crossing between planets doesn't reach a stop for the whole flight, so it looked identical to a ship going nowhere. Any leg longer than the watchdog's 10-minute window was treated as a stall: the mod cancelled the orders, cleared the route, and the platform coasted to a halt in open space with the cargo still aboard. That's your engines-off, your orphaned inventories, and your mystery "stuck" status — the ship gets flagged stuck at the moment it's cancelled, then the next dispatch pass picks it up again and the flag clears, which is why it appeared to resolve itself.
The bigger and slower your ships, the more reliably it fires, which matches a fleet where "nothing is wrong" with any individual platform.
Progress is now measured on whether the platform is actually moving, so a flight of any length is left alone. A ship that's truly going nowhere still times out.
Damn i'm a fool and thought I replied!
Thanks heaps Crazyfess for being ontop of this so quick! And super appreciate the latest update incorporating some of feature requests, modders like you are a diamond in the rough and I hope you get nothing but positive feedback and reinforcement for your endeavours in this community.
Still waiting on the stable update to 2.1, but the mod is working great in the current release under K2SO.
Also, i'm a UIUX designer professionally so I'm working through some UI refinements that I'd be keen to see if you'd take on board to enhance the mod further. Of course, ive no idea the technical limitations of what Factorio UI allows you to do, so when I hand it over to you (sooner rather than later i hope) feel free to disregard anything that is technically impossible or just impractically difficult/time consuming.
You do this for free after all so i'm just glad you're responsive and taken my feedback into account.
Thanks, I appreciate it.
On the UI work - yes, very keen. I've been designing that panel by feel, so a professional eye on it is genuinely welcome. To save you drawing things I can't build, here's roughly where the engine's limits sit:
Free / no problem:
- Colour, padding, spacing, alignment, grouping, nesting depth
- Collapsible sections, tabs, scroll panes, tables with aligned columns
- Inline item, planet and signal icons anywhere in text - very cheap, already used a lot
- Tooltips of any length, so detail-on-demand costs nothing
- Progress bars, switches, checkboxes, dropdowns, sliders, text fields
Possible, but real work:
- Custom sprites and custom widget styles - both are shipped assets defined at load time
- Draggable and (limited) resizable windows
Not available at all:
- Custom-drawn widgets, or anything canvas-like - the widget set is fixed
- Animation, transitions, or hover effects beyond a button's own built-in states
- Free positioning inside a window; layout is nested flows and tables only
- Arbitrary type - there's a fixed set of font sizes and weights
- Sticky headers inside a scrolling list
One more constraint worth knowing: the panel rebuilds wholesale on a timer, so anything needing per-frame updates is out, but once-a-second is fine.
The Fleet Monitor is where I'd most value your attention - it's the densest screen and it just changed shape in this release. And your folder request is still on the list: if you have a view on nested folders versus tags with a filter box, that's the open design question, and I'd rather hear it from you than guess.
I'm getting a similar-ish bug. It thinks it's en-route but it's just drifting basically. I've had to manually intervene a couple of times at this point. All settings except default reserve floor, though this occurred before I changed it. I'm on version 2.0.77 of factorio, 1.10.7 of the mod.
Found it, and it's my fault - fixed in 1.10.8 (2.0) / 2.1.7 (2.1).
Your platform had its thrust paused. In Factorio a paused platform keeps coasting on momentum but never advances its schedule, so it can't reach its next stop - it will drift toward the planet forever without arriving. The fleet saw it moving and counted that as progress, so it sat there reporting "in transit" indefinitely, with its cargo still reserved and the destination waiting behind it.
That was a side effect of the previous fix: I'd stopped the fleet cancelling healthy ships mid-flight by treating movement as progress, and a paused ship is the one case where movement means nothing.
Now the fleet spots paused thrust immediately, hands the delivery to another ship, and leaves your platform completely alone - route untouched, nothing cancelled. The monitor shows "thrust paused" and tells you how to release it. Un-pause it and it resumes its route and rejoins the fleet by itself.
If it's still happening can you attach the save file?
It seems mostly fixed. I've played a decent amount of time since your post and it did get stuck again once, but not again. Would you still like a save file?
It's hard to investigate and now looks like very rare bug. so if you catch it again and it will be noisy, attach the save file please.
https://drive.google.com/file/d/10rHotbEmf_aUJe3uqrbL-Nt2eYz4yZYC/view?usp=sharing
I just got another one that got stuck. It'll be in this save file.
OK I found one possible cause and fixed it.
If a ship gets stuck again - how to give me something I can act on
First, update to 1.10.9 (Factorio 2.0) or 2.1.8 (2.1). It fixes a case where a ship on a two-way trade could turn around in mid-flight and shuttle back and forth forever while reporting itself as "in transit". That was almost certainly what you were hitting.
If anything still gets stuck, there's now a command that tells me exactly what the fleet is thinking:
/pe-status
Timing matters - run it before the ship sorts itself out or you intervene. Once the ship is freed the evidence is gone.
a#815 ship=1/2 nauvis -> gleba phase=enroute progress_index=2
deadline: tick=16594800 now=16558980 remaining=35820 window=36000
fleet: state=enroute stranded=false reason=nil thrust_paused=nil
platform: state=on_the_path paused=false speed=1.37 distance=0.17
where: location=nil connection=nauvis-gleba
schedule: current=1 of 3 [1:nauvis 2:gleba 3:nauvis]
signature match=true
=> would keep (in transit / working a stop)
That last line is the one that matters most - it says what the fleet is about to do with that ship. The block above is a real example of the bug: current=1 while the ship is flying leg 2, which is how I found it.
The command is read-only. It changes nothing, and it's a mod command rather than the Lua console (/c), so it doesn't disable achievements. Safe to run any time, including on a multiplayer server.
So it mostly worked, hence the two months since the last response. But I did get a couple of new stucks. They are technically going towards their destination, but going very slowly, so pretty close to being stuck.
=== watchdog ===
71.315 Script @planet-express/control.lua:302: [planet-express] a#3552 ship=1/8 aquilo -> nauvis phase=enroute progress_index=3
71.315 Script @planet-express/control.lua:302: [planet-express] deadline: tick=28271700 now=28235994 remaining=35706 window=36000
71.315 Script @planet-express/control.lua:302: [planet-express] fleet: state=enroute stranded=false reason=nil thrust_paused=nil enrolled=true require_ready=true
71.315 Script @planet-express/control.lua:302: [planet-express] platform: state=on_the_path paused=false speed=2.958284910085 distance=0.071964349009402
71.315 Script @planet-express/control.lua:302: [planet-express] where: location=nil connection=nauvis-gleba
71.315 Script @planet-express/control.lua:302: [planet-express] schedule: current=3 of 3 [1:aquilo 2:nauvis 3:aquilo]
71.315 Script @planet-express/control.lua:302: [planet-express] signature match=true
71.315 Script @planet-express/control.lua:302: [planet-express] => would keep (in transit / working a stop)
71.315 Script @planet-express/control.lua:302: [planet-express] a#3555 ship=1/7 vulcanus -> aquilo phase=enroute progress_index=2
71.315 Script @planet-express/control.lua:302: [planet-express] deadline: tick=28271700 now=28235994 remaining=35706 window=36000
71.315 Script @planet-express/control.lua:302: [planet-express] fleet: state=enroute stranded=false reason=nil thrust_paused=nil enrolled=true require_ready=true
71.315 Script @planet-express/control.lua:302: [planet-express] platform: state=on_the_path paused=false speed=3.0566882362332 distance=0.40000403034896
71.315 Script @planet-express/control.lua:302: [planet-express] where: location=nil connection=vulcanus-gleba
71.315 Script @planet-express/control.lua:302: [planet-express] schedule: current=2 of 2 [1:vulcanus 2:aquilo]
71.315 Script @planet-express/control.lua:302: [planet-express] signature match=true
71.315 Script @planet-express/control.lua:302: [planet-express] => would keep (in transit / working a stop)
71.315 Script @planet-express/control.lua:302: [planet-express] a#3557 ship=1/5 vulcanus -> nauvis phase=enroute progress_index=1
71.315 Script @planet-express/control.lua:302: [planet-express] deadline: tick=28271700 now=28235994 remaining=35706 window=36000
71.315 Script @planet-express/control.lua:302: [planet-express] fleet: state=enroute stranded=false reason=nil thrust_paused=nil enrolled=true require_ready=nil
71.315 Script @planet-express/control.lua:302: [planet-express] platform: state=no_schedule paused=false speed=0.16666666666667 distance=0.90649173117717
71.315 Script @planet-express/control.lua:302: [planet-express] where: location=nil connection=nauvis-vulcanus
71.315 Script @planet-express/control.lua:302: [planet-express] schedule: current=1 of 2 [1:vulcanus 2:nauvis]
71.315 Script @planet-express/control.lua:302: [planet-express] signature match=true
71.315 Script @planet-express/control.lua:302: [planet-express] => would keep (in transit / working a stop)
71.315 Script @planet-express/control.lua:302: [planet-express] a#3558 ship=1/3 vulcanus -> nauvis phase=loading progress_index=1
71.315 Script @planet-express/control.lua:302: [planet-express] deadline: tick=28269600 now=28235994 remaining=33606 window=36000
71.315 Script @planet-express/control.lua:302: [planet-express] fleet: state=loading stranded=false reason=nil thrust_paused=nil enrolled=true require_ready=false
71.315 Script @planet-express/control.lua:302: [planet-express] platform: state=on_the_path paused=false speed=0.34967603718631 distance=0.99981284137578
71.315 Script @planet-express/control.lua:302: [planet-express] where: location=nil connection=nauvis-vulcanus
71.315 Script @planet-express/control.lua:302: [planet-express] schedule: current=2 of 2 [1:vulcanus 2:nauvis]
71.315 Script @planet-express/control.lua:302: [planet-express] signature match=true
71.315 Script @planet-express/control.lua:302: [planet-express] => would keep (in transit / working a stop)
71.315 Script @planet-express/control.lua:302: [planet-express] a#3559 ship=1/6 vulcanus -> nauvis phase=enroute progress_index=1
71.315 Script @planet-express/control.lua:302: [planet-express] deadline: tick=28271700 now=28235994 remaining=35706 window=36000
71.315 Script @planet-express/control.lua:302: [planet-express] fleet: state=enroute stranded=false reason=nil thrust_paused=nil enrolled=true require_ready=nil
71.315 Script @planet-express/control.lua:302: [planet-express] platform: state=no_schedule paused=false speed=0.16666666666667 distance=0.69240441231813
71.315 Script @planet-express/control.lua:302: [planet-express] where: location=nil connection=nauvis-vulcanus
71.315 Script @planet-express/control.lua:302: [planet-express] schedule: current=1 of 2 [1:vulcanus 2:nauvis]
71.315 Script @planet-express/control.lua:302: [planet-express] signature match=true
71.315 Script @planet-express/control.lua:302: [planet-express] => would keep (in transit / working a stop)
A copy of the save just in case: https://drive.google.com/file/d/1Hx4CCs2F4RJd4VpSI9GER5V8Az5ldDtM/view?usp=sharing