KSP Store & Forward fixes a limitation in KSP 1's stock CommNet pathfinder. A qualified relay vessel can receive a link through a relay antenna, process it onboard, and send the next hop through a direct antenna on the same vessel.
For example:
Probe 1 transmitter -> Probe 2 relay antenna -> Probe 2 direct antenna -> KSC
The incoming hop still has to be in range of Probe 2's real relay antenna. The mod does not globally turn direct antennas into relays.
- Kerbal Space Program 1.12.5
- Harmony 2
- ModuleManager for automatic advanced-probe-core support
Copy GameData/KSPStoreForward into the KSP installation's GameData folder. The final DLL should be at:
Kerbal Space Program/GameData/KSPStoreForward/Plugins/KSPStoreForward.dll
Do not copy the repository's outer GameData directory into KSP as another nested folder.
Store-and-forward routing is available when the intermediate vessel has:
- an operational relay antenna;
- an operational direct antenna; and
- either an active engineer aboard or an enabled Store-and-Forward Processor.
The processor is automatically added to probe cores that meet either of these conditions:
- The core is in the
advUnmanned,largeUnmanned, orautomationtechnology node. - The core has every stock SAS mode (
SASServiceLevel = 3).
The check identifies a probe core by an uncrewed ModuleCommand (minimumCrew = 0). This describes the part, not the vessel. Crew can be aboard, and a capable probe core still satisfies the gate. The processor can be toggled in the part action window.
The difficulty-options page has a Store & Forward section where the feature, engineer gate, minimum engineer level, processor gate, and two-antenna requirement can be changed per save.
By default, a nearby vessel that has both store-and-forward antenna types cannot act as a stock Probe Control Point unless it also satisfies the processor-or-engineer gate. This prevents a crewed guidance unit from appearing as a valid local endpoint after its store-and-forward processor is disabled. The behavior can be restored to stock with the Gate nearby vessel control points difficulty option.
Hovering over the stock CommNet signal indicator shows an expanded path. Qualified intermediate vessels appear as two stages with their actual strongest operational antenna part names:
COMMNET PATH
Current Vessel 100%
Probe 2 (relay: CB-10 Relay Antenna) 67%
Probe 2 (direct: RB-10 Direct Antenna) 100%
Kerbal Space Center 40%
The relay and network endpoint percentages are stock per-link strengths. The direct row is the internal store-and-forward handoff and is therefore shown as 100%.
The routing code discovers antennas through KSP's ICommAntenna interface and uses CommNet's already-computed asymmetric link strengths. This preserves the active range model, range curves, antenna combining, occlusion, plasma effects, and signal modifiers, and allows normal antenna part packs to work without hard-coded part names.
Probe-core mods using the stock ModuleCommand and ModuleSAS fields are detected by the same rules. Other probe-core mods can opt in from a ModuleManager patch by adding:
MODULE
{
name = ModuleStoreForwardProcessor
}Mods that completely replace stock CommNet pathfinding, such as RemoteTech or RealAntennas, are outside the supported path. The plugin leaves their antenna parts alone, but their replacement network decides routing.
If another UI mod replaces the stock signal-strength tooltip, store-and-forward routing remains active even if the expanded tooltip cannot be installed.
The current build has been tested on KSP 1.12.5. The test route used an RA-X3 Phased Relay Antenna from Near Future Exploration and a Communotron HG-61 from ReStock+.
The following cases have been tested:
- Store-and-forward routing with the third-party antennas loaded and unloaded.
- Disabling the processor removes the route, and enabling it restores the route.
- Retracting either antenna invalidates the route.
- An engineer enables an otherwise incapable core, while a pilot or scientist does not. The capability is removed when the engineer goes on EVA.
- A capable core continues to work while crew are aboard.
- No-connection and non-KSC tooltip paths complete without exceptions.
- Saving, reloading, time warp, and switching away from the relay vessel.
- Ten minutes in a save with roughly 25 vessels while repeatedly opening the CommNet tooltip. No KSPStoreForward warnings or recurring frame spikes were observed.
- Loading a 30-vessel save, visiting the Tracking Station, returning to the Space Center, and saving. No exceptions or warnings from KSPStoreForward were logged.
The detailed release test record is in TESTING.md.
The SDK project targets .NET Framework 4.7.2 and references the local KSP installation. Override the install path when needed:
dotnet build Source/KSPStoreForward/KSPStoreForward.csproj -c Release -p:KspRoot="D:\Games\Kerbal Space Program"Copy the resulting KSPStoreForward.dll from Source/KSPStoreForward/bin/Release/net472 to GameData/KSPStoreForward/Plugins.
MIT