Installing#
With Borea (recommended)#
Borea is the community mod manager for KSA, on Windows, Linux and macOS. It installs the StarMap loader for you, registers the mod and launches the game through the loader, so none of the manual steps below apply.
- Install Borea from its releases page.
- Open KSArmory on Borea and click Install with Borea, or search for KSArmory on Borea's Discover page.
- Start the game from Borea. Starting KSA directly bypasses the loader: the parts still appear in the editor, but none of the behaviour runs.
Borea also installs updates when a new release appears.
By hand#
You need Kitten Space Agency, built against build 2026.10.19.5638. A different build may
need a rebuild of the mod. Windows and Linux both work: the mod is a portable .NET assembly
with no native code, so one release archive covers both. You also need
StarMap, the community mod loader. KSA has
no official code-modding API, so nothing here runs without it. Edit its StarMapConfig.json to
point at your KSA install. StarMap reads that file relative to its own directory, so launch it
from where it lives.
-
Get the mod. Download
KSArmory-<version>.zipfrom Releases, or build it yourself with./tools/package.sh. -
Unzip it into your mods folder. That folder lives inside KSA's user directory:
| Platform | KSA user directory |
|---|---|
| Windows | Documents\My Games\Kitten Space Agency\ |
| Linux | wherever KSA keeps its user data, commonly ~/.local/share/Kitten Space Agency/; the folder containing manifest.toml and Logs/ is the one you want |
| Proton / Wine | inside the prefix, at .../drive_c/users/steamuser/Documents/My Games/Kitten Space Agency/ |
You should end up with:
<KSA user directory>/mods/KSArmory/
KSArmory.dll
mod.toml
KSArmory{Assets,GameData,Particles,Sounds,Characters}.xml
KSArmory/*.xml (the built-in weapons, one file per family)
Meshes/*.glb
Textures/*.png
Sounds/*.wav
The folder layout matters, and on Linux so does the case. KSArmoryAssets.xml refers
to Meshes/ and Textures/ by relative path. A case mismatch is silently tolerated on
Windows and fails on Linux, so unzip rather than retyping the names.
- Register it in
manifest.toml. This step is required: dropping the folder in is not enough. Openmanifest.tomlin the same user directory and add:
[[mods]]
id = "KSArmory"
enabled = true
KSA discovers mods through that list, and StarMap walks the same list to find code mods. Without an entry, nothing loads and nothing tells you why.
- Launch through StarMap, not the game directly. On Windows that is
StarMap.exe. StarMap also shipsStarMap.dll, a portable .NET assembly, so on Linuxdotnet StarMap.dllfrom the same folder is the equivalent.
Check it worked#
The mod writes its own log to Logs/KSArmory.log under the KSA user directory, and prints
the path it chose to stdout on startup — handy if it ended up somewhere unexpected. Under Borea
it is currently written to the shared profile in Documents, not to the instance's own folder. The file is
truncated each session. You should see:
loading (mod id: KSArmory)
ready - Pantsir-S1, LAU-7 Sidewinder rail, ...
The ready line arrives roughly 20 seconds after the first, because the loader waits for
the game to finish loading. That delay is normal, not a hang.
Then: build a craft with the Pantsir-S1 Point Defence System (under Weapons), launch, and the KSArmory panel appears once you are in flight.
If it doesn't#
| Symptom | Cause |
|---|---|
No KSArmory.log at all |
StarMap never ran the mod. Under Borea, check the game was started from Borea. By hand, check the manifest.toml entry, and that you launched StarMap.exe. |
| Part missing from the editor | The asset XML did not load. KSA's own log, the newest KittenSpaceAgency.*.log in the same folder, is where XML and asset errors appear. |
| Part is there but nothing happens in flight | The DLL did not load, but the XML did — check mod.toml's EntryAssembly = "KSArmory" matches the DLL name. |
| Part renders untextured or invisible | Meshes/ or Textures/ did not come across, or the folder layout was flattened. |
Panel says no weapons system on this craft |
The part is not on the craft you are flying, or its Id did not match a registered launcher. |
| Works on Windows, part untextured on Linux | A case mismatch in a file or folder name. Linux filesystems are case-sensitive; Windows is not. Re-unzip rather than renaming by hand. |
Developing rather than just playing? ./tools/deploy.sh builds, installs and registers the mod
in one go — including the manifest.toml entry.