Save file

From The Last Starwiki
Revision as of 11:30, 5 January 2025 by Zenrath (talk | contribs) (Style changes to the "How to setup an AI fight for two player-created ships" section)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Save files for the game are stored in %LOCALAPPDATA%\Introversion\LastStarship\saves on Windows, ~/Library/Application\ Support/LastStarship/saves on Mac, and ~/.local/share/Steam/steamapps/compatdata/1857080/pfx/drive_c/users/steamuser/AppData/Local/Introversion/LastStarship/saves on Linux (using Proton). They are stored in a plaintext format and end in a .space extension.

Common modifications

Enable mutli-system simulation

Multi-system simulation, introduced unofficially in Alpha 7, allows you to have ships in different systems at the same time. It was officially added to Industry mode in Alpha 8, but can be enabled in Free Roam and Survival modes by adding the line MultiSystemSimulation true to the top of the save file (before the HUD section).

Add items to the Trade screen

If you are stuck in a system with no Trade screen or the Trade screen is missing an item you need:

  1. Save and close the game.
  2. In the directory listed above, find the .space file corresponding to the saved game and open it in a text editor.
  3. Search for a line containing TradePossible. Set that to true.
    Note: There may be multiple Trade sections in the system archive save file. Make sure to use the base section that is not indented.
  4. In the TheirStock section below, update or add the desired line using the item code from the table below. Spacing is important, so make sure to match it. The number can be adjusted to the preferred amount.
  5. Save the changes, run the game, and load the save.

Add items to a shuttle

Some items, like hull breaches, are technically just like any other items, but they cannot be purchased from the Trade screen, even with the trick above. In this case, it's necessary to modify a shuttle's inventory as it delivers cargo.

  1. Purchase something or initiate a mission delivery.
  2. As soon as the shuttle appears, save and close the game.
  3. In the directory listed above, find the .space file corresponding to the saved game and open it in a text editor.
  4. Find the section for your ship. It should be the first section beginning with BEGIN Layer. Find the line BEGIN Deliveries inside that section.
  5. In the the Trade section below, update or add the desired line using the item code from the table below. Spacing is important, so make sure to match it. The number can be adjusted to the preferred amount.

Refill a fuel tank

If your ship runs out of fuel, but you have a fuel tank installed:

  1. Save and close the game.
  2. In the directory listed above, find the .space file corresponding to the saved game and open it in a text editor.
  3. Search for a line containing Resource Fuel. Spacing is important.
  4. Ensure that the line belongs to a tank and that the tank belongs to the correct ship. Player-owned ships are listed as FriendlyShip type.
  5. Update or add the corresponding Quantity line to add fuel to the tank.
  6. Save the changes, run the game, and load the save.

How to setup an AI fight for two player-created ships

Game Version: Alpha13B - Steam

Note: You'll need your favourite text editor. I use https://notepad-plus-plus.org

Note: For readabilty in this guide, example save-game text is indented (by 1 tab), but it isn't in original save-game files.

TLS = The Last Starship

AI Strategy

You can assign an "AI-strategy" to either ship, which determine how they fight:

StrategyVeryCloseOrbit:  Broadside orbits within Gatling gun range.

CloseRangeAggressive:    Broadside orbits in cannon range just outside of gatling gun range.

MediumRangeOrbit:        Broadside orbits within far end of cannon range.

LongRangeSniper:         Broadside orbits at railgun range well outside of cannon range.

FastMovingJet:           Forward facing strafing Runs, fly's straight at opponent then circles around to do it again.

Instructions

  • In TLS, create your own ship and export it, or subscribe to a ship on steam workshop. Or alternatively, download a ship from a trusted website.
TLS stores ships in the ship-folder: "C:\Users\<your-windows-username>\AppData\Local\Introversion\LastStarship\ships"
  • Each ship has a ship-file named "<ship-name>.ship", and an image file named "<ship-name>.png".
  • Launch TLS, and select Creative Mode -> Create New Ship
  • Go back to the main menu (by pressing the escape key) and select "Import Hostile", then select a ship to import. Note the name of the imported ship, which will appear in red at the top right of the screen. We'll refer to this as "ship-1".
  • Repeat this process to import a second ship, "ship-2".
  • Go back to menu and select: Save Game -> Create New Save, then give it a helpful name (e.g. ship-1 vs ship-2).
  • Go back to menu and select: "Abandon Game".
  • Open the save-game folder (not the ship-folder):
"C:\Users\<your-windows-username>\AppData\Local\Introversion\LastStarship\saves"
  • Open the save-game file (.space file) you just created, using your text editor.
  • Text search for "NEWSHIP", it should look like this... then delete this whole section including the BEGIN and END.
BEGIN Layer      
	Name                 NEWSHIP  
	Class                Ship  
	Id                   1610  
	SystemId             1  
	Type                 FriendlyShip  
	BEGIN GridMap    
		Width                240  
		Height               160  
		BEGIN Palette    
			BEGIN .          END
		END
		BEGIN Cells      END
	END
	BEGIN Networks   END
	BEGIN PowerGrid  
		LayerId              1610  
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
		BEGIN Category   Setting 100  END
	END
	BEGIN WorkQueue  CargoTimer 0.2210033  END
	BEGIN Welfare    END
	BEGIN Habitation SewageTimer 0.77749838675922600  END
	BEGIN Deliveries 
		BEGIN Trade      END
	END
END

Info: occasionally there are other random ships named "NEWSHIP" with a much bigger definition. You can just ignore or delete them.

  • Text search for the ship name you noted for "ship-1", you should find a section that starts like this:
BEGIN Layer      
	Name                 "CANNON WALL FUN MK3"  
	Author               ZENRATH  
	Class                Ship  
	Id                   1612  
	SystemId             1  
	Type                 HostileShip  
	Offset.x             0
	Offset.y             0
  • Change the Type from "HostileShip" to "FriendlyShip"
  • Optionally, set both Offset.x  and Offset.y to "0".
  • Text search *from your current position* for "Strategy", then change the word immediately following "Strategy" to an AI-Strategy for ship-1.
BEGIN ShipAI     Layer 1612  TargetId 1610  LastLaunch 153.87734406203825  Broadside -1  Engaged true  Strategy FastMovingJet  END
  •  Text search for the name you noted for "ship-2", you should find a section that starts like this:
BEGIN Layer      
	Name                 DEFIANT  
	Author               RANAMAR  
	Class                Ship  
	Id                   2508  
	SystemId             1  
	Type                 HostileShip  
	Offset.x             1500
	Offset.y             1500
  • Leave the Type as "HostileShip"
  • Optionally, set both Offset.x  and Offset.y to "1500".
  • Text search again *from your current position* for "Strategy", then change the word immediately following "Strategy" to an AI-Strategy for ship-2.
BEGIN ShipAI     Layer 2508  Broadside -1  Engaged true  Strategy CloseRangeAggressive  END
  • Save the changes to your savegame (.space) file.
  • Return to TLS. Select "Load Game", and the save-game you just edited.
  • Quickly pause the game.
  • At the top right of the screen, select ship-1, whose name should now be in green.
  • Activate "Battle Stations".
  • Un-pause the game, and enjoy the show!
  • Items Inventory Codes

Inventory Item Codes

This table is incomplete.
Inventory Item Codes
ID Code Category Item
AirReprocessor Life Support Air Reprocessor
Airduct Life Support Airduct
Assembler Logistics Assembly Table
Asteroid Environment Asteroid
Battery Storage Battery
Box Cargo Equipment is packaged in a box for transport
Bullets Ammunition Bullets
Cannon Weapons Cannon
CannonShell Ammunition Cannon Shells
ChemicalLab Logistics Chemical Lab
Civilian Crew Civilian
CarbonDioxide Resource CO2
Comet Environment Ice Comet
Compost Resource Compost
CrewMember Crew Crew Member
CoilComponent Component Energy Coil
CopperIngot Industry Copper Ingot
CopperMinerals Industry Copper Minerals
Deflector Weapons Deflector
Deuterium Resource Deuterium
DockingPort Logistics Docking Port
Door Other Door
DroneBay Logistics Drone Bay
EnergyCell Resource Energy Cell
EnergyTransmitter Science Energy Transmitter
Engine Propulsion Engine
Equipment Unknown Unknown
Explosives Resource Explosives
Fabricator Logistics Fabricator
Fighter Weapons Fighter
FTLCharge FTL FTL Charge
FTLDrive FTL FTL Drive
Food Resource Food
FrameComponent Component Frame
Fuel Resource Fuel
FuelLoader Loader Fuel Loader
FusionReactor Power Generation Fusion Reactor
GasCollector Logistics Gas Collector
GatlingGun Weapons Gatling Gun
Generator Power Generation Generator
HullBreach Special Hull breach
Hydroponics Logistics Hydroponic Garden
HyperspaceCollector Logistics Hyperspace Scoop
HyperspaceIsotopes Resource Hyperspace Isotopes
HyperspaceSensor Logistics Hyperspace Sensor
HyperspaceSensorLR Logistics Long-range Hyperspace Sensor
IceGrinder Logistics Ice Grinder
LensComponent Component Lens
Loader Loader Generic Loader
LogisticsDrone Logistics Logistics Drone
MetalIngot Resource Metal Ingot
MetallicMinerals Resource Metallic Minerals
Meteor Environment Meteor
MetreonGas Resource Metreon Gas
MineralPatch Environment Mineral patches on Asteroids
MiningLaser Logistics Mining Laser
MissionCargo Cargo Courier contract cargo
MotorComponent Component Motor
MunitionsFactory Logistics Munitions Bench
Ordnance Environment Ordnance travelling from a weapon to a target
Oxygen Resource Oxygen
OxygenLoader Loader Oxygen Loader
OxygenMaker Life Support Oxygen Maker
PowerCoil Unknown Power Coil
PowerCoilCharged Unknown Charged Power Coil
PowerInjector Unknown Power Injector
PreciousOre Resource Precious Ore
PreciousMetals Resource Precious Metal
ProximityMine Environment A mine from a minefield
Railgun Weapons Railgun
RailgunShell Ammunition Railgun Slugs
Reactor Power Generation Reactor
RefinedMetreon Resource Refined Metreon
RefinedTilium Resource Refined Tilium
Refinery Logistics Refinery
RobotArm Industry Robot Arm
RobotArmShort Logistics Short Robot Arm
RobotArmSmart Logistics Smart Robot Arm
ScienceStation Science Science Station
Scientist Crew Scientist
ScrapMetal Resource Scrap Metal
Scrubber Life Support CO2 Scrubber
Seeds Resource Seeds
SewageMachine Logistics Waste Treatment Machine
SewagePipe Logistics Sewage Pipe
Shuttle Other Shuttle
SmallTank Storage Medium Tank
Smelter Logistics Smelter
SpaceSuit Life Support Space Suit
SpaceSuitPod Life Support Spacesuit Pod
Stairs Habitation Ladder
StargateActuator Science Stargate Components
StargateReceiver Science Stargate Components
StargateResin Science Stargate Components
StargateStructure Science Stargate Components
StorageCrate Logistics Storage Crate (Capacity 70)
SmallStorageCrate Logistics Small Storage Crate (Capacity 76)
Supercomputer Science Supercomputer
Tank Storage Huge Tank
Thruster Propulsion Thruster
Tiddlet Cargo Tiddlet
TiliumOre Resource Tilium Ore
TinyTank Storage Small Tank
Track Industry Track
WasteWater Resource Waste Water
Water Resource Water
WaterPurifier Logistics Water Purifier
WeaponsSpecialist Crew Weapons Officer
WeaponsConsole Weapons Weapons Control Centre