Dyson Sphere Program
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
Downloads
13
Size
298KB

Logistics Architect

Bug reports and support

Report a bug or browse existing reports in the shared Loki Moon Labs DSP support tracker. Select the affected mod and include its version, the game version, and steps to reproduce the problem. Screenshots and relevant logs are helpful; review attachments before posting because reports are public.

Package 0.1.7 adds support links only. Mod binaries and gameplay behavior are unchanged from 0.1.6; implementation version references below remain unchanged.

Loki Moon Labs · 0.1.6 · Dyson Sphere Program 0.10.35.29151

A standalone station auto-configuration tool inspired by UXAssist's Auto-config logistic stations feature. Its in-game window provides editable slider limits, Apply beside each setting, and Apply All beside each facility heading. It uses the standard Loki Moon Labs artwork.

Important: disable UXAssist's automatic station configuration

If you use UXAssist, turn off Auto-config logistic stations before using Logistics Architect. In UXAssist's configuration, set Factory → AutoConfigLogistics = false in org.soardev.uxassist.cfg, or disable the corresponding option in its in-game settings. Restart the game after editing the config file externally. Keep UXAssist installed and leave its other features enabled as desired.

When that UXAssist feature is enabled, Logistics Architect suspends Apply, Apply All, and automatic new-building configuration to prevent both mods from configuring the same stations. The window remains available and explains the conflict. Logistics Architect never changes UXAssist's settings for you.

AI Development Disclosure

This mod was developed using AI tools for coding, debugging, and documentation. Loki Moon Labs directs development and is responsible for testing and maintaining the released mod. Version 0.1.6 was tested and confirmed working in-game by the author before publication.

Open the in-game window

Click the ILS icon beside the minimap to open or close the window. Hover it for the Logistics Architect tooltip. The button follows the spacing and size of the native minimap controls. Escape or Close also dismisses the window.

The window uses an opaque dark background. A window-sized uGUI raycast shield blocks clicks to game UI behind the panel. Pointer, drag, scroll, and text-entry blocking prevent click-through within the panel while leaving the game running and controls outside it usable. No full-screen UI or pause flag is set. Input blocking remains for the closing frame to prevent the mouse release from reaching the world. Open native station, distributor, and battlefield base windows refresh after an Apply batch.

Controls

  • Drag a slider or type an exact value. Slider movement updates the saved preset, not existing facilities.
  • Apply commits the typed value and applies only that setting to matching facilities on the current planet.
  • Apply All validates and commits the numeric entries in that facility group, then applies that group's preset to matching facilities on the current planet.
  • Configure new buildings enables automatic application of that facility preset when new facilities are built.
  • Edit slider limits shows editable Min, Max, and Step fields under every numeric row. Save range changes the slider range only; it does not clamp the saved preset or alter existing facilities.
  • Presets and ranges are saved automatically. A value outside a newly narrowed slider range remains visible in the numeric field and is preserved until explicitly changed.

Apply actions capture the preset and planet at button press. Jobs run in small main-thread batches rather than scanning and configuring an entire large planet in one frame. Loading another save cancels pending jobs.

Facility groups

Group Settings
Planetary Logistics Stations Charging power, drone range/load, outgoing stack size, drone fill target, native drone replenishment
Interstellar Logistics Stations PLS settings plus vessel range/unlimited, warp distance, vessel load/fill target, native vessel replenishment, orbital collector inclusion, warper requirement, optional remote-slot Storage reset
Logistics Distributors Charging power, bot fill target, native bot replenishment
Advanced Mining Machines Collecting speed and outgoing stack size
Battlefield Analysis Bases Charging power

Power is entered directly in MW, with 64-bit conversion to the game's energy-per-tick fields. Initial station presets are 360 MW PLS and 9000 MW ILS, reflecting the user's modded station setup. Vessel range uses LY, warp distance uses AU, drone range uses degrees, and minimum load uses percent. The ILS Unlimited switch controls the effective vessel range for either the range or switch Apply action.

Orbital collectors themselves are not configured by this initial auto-configuration feature.

Compatibility and limits

UXAssist is optional. Keep its Factory → AutoConfigLogistics setting off when using Logistics Architect; other UXAssist features can remain enabled. If that feature is on, Logistics Architect suspends its Apply and automatic configuration actions and displays the reason. It does not rewrite UXAssist's configuration.

Slider limits are independent of building capacities. Carrier fill targets read the current modded prefab capacity and the actual backing arrays. They never expand arrays, delete excess carriers, or ignore in-flight carriers. Native ship masks are 64-bit, so vessel filling has a ceiling of 64 even if an unsupported model advertises more; a mod that replaces native ship indexing would need a dedicated compatibility adapter to go beyond that.

The default ILS vessel slider reaches 20. Raise the maximum in-game when another mod supports larger values. Outgoing stacks are bounded to the native byte range (0–255), angular drone range to 0–180 degrees, and load percentages to 1–100%. Charging power accepts finite values up to one billion MW; all conversions use 64-bit arithmetic. These representability/safety bounds are distinct from editable slider ranges.

Fill carriers from inventory uses actual bots/drones/vessels in Icarus's normal inventory on the same planet. No carriers are created. If stock is insufficient, only the available amount is filled. Lower fill targets leave existing carriers in place. Targets govern manual/new-building filling; enabling native automatic replenishment lets the game replenish toward its own supported capacity. Leave native replenishment off if you want to retain a lower target.

Item counts, proliferation, storage capacities, current energy, local slot modes, and other mods' settings are not changed by numeric Apply actions. The explicit Set remote slot modes to Storage switch is a one-way action on Apply; leaving it off preserves remote modes. Turning it back off does not reconstruct earlier modes.

Testing and installation

Import the ZIP as a local mod in r2modman. BepInEx is required; UXAssist, CommonAPI, and DSPModSave are not required dependencies. Existing installations of those mods can remain.

The author confirmed the window, ILS minimap launcher, tooltip, button alignment, and station configuration behavior in-game. Automated backend fixtures cover editable ranges, independent Apply actions, Apply All, carrier conservation/capacities, unit conversions, settings reload, component recycling, save transitions, and a 20,000-facility apply job. Patch targets and signatures resolve against the installed game. Standalone .NET fixtures cannot execute Unity's native GUI or raycasting.

FPS/UPS and every mod combination are not certified by the isolated tests. Multiplayer is unsupported in this initial release.

Build

On Windows run Build.ps1, Test.ps1, or Package.ps1. The first two accept -GameDirectory and -ProfileDirectory. Compilation uses local game/BepInEx/Harmony references with the Windows .NET Framework compiler; dependency and game DLLs are not redistributed. The source ZIP includes the approved artwork and scripts.

Inspiration: UXAssist by soarqin. Logistics Architect is a separate implementation and does not bundle or modify UXAssist.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.