Popover Menu get started
f.a.q discord
Menu
supported games setup guides f.a.q. generate game host game user content discord
FTL: Faster Than Light Guide

FTL: Faster Than Light Setup Guide

Current status

The mod connects to a real Archipelago server and plays a full multiworld on Linux and Windows.

Hyperspace's Lua sandbox has no sockets and no file access, so the mod cannot talk to a server on its own. You need this project's Hyperspace build with the Archipelago module, not the regular Hyperspace release. It is the same Hyperspace with one extra module; everything else behaves the same.

Required software

Before you touch anything

Turn off Steam Cloud for FTL (right-click the game in Steam, Properties, General). Steam Cloud can overwrite the save folder while the mod runs.

Back up your save folder: ~/.local/share/FasterThanLight/ on Linux, Documents\My Games\FasterThanLight on Windows.

cp -r ~/.local/share/FasterThanLight ~/.local/share/FasterThanLight.backup

The mod plays on a profile of its own (hs_ap_prof.sav) and never touches your vanilla ae_prof.sav.

Advanced Edition content must be on. Ship selection has a toggle for it. The seed hands out the Lanius cruiser, hacking, mind control, the clone bay and the backup battery, none of which exist with it off. The main menu reminds you in orange if it is off.

Installing on Linux

The game lives in ~/.steam/steam/steamapps/common/FTL Faster Than Light/, and everything happens in its data subfolder. From the root of this project:

D=~/.steam/steam/steamapps/common/"FTL Faster Than Light"/data

# 1. Install the official Hyperspace 1.23.1. This edits data/FTL to preload the Hyperspace library.
ftlman hyperspace-install 1.23.1 -d "$D"

# 2. Build the Hyperspace library with the Archipelago module and drop it in place of the official one
#    (the official .so is kept next to it, as *.before-archipelago).
hyperspace-patch/build-linux.sh --install

# 3. Put Hyperspace.ftl in ~/.local/share/ftl-mods/, then build and apply both mods, Hyperspace first.
mod/install.sh

With the release files instead of a source build, steps 2 and 3 become:

cp "$D/Hyperspace.1.6.13.amd64.so" "$D/Hyperspace.1.6.13.amd64.so.before-archipelago"
cp Hyperspace.1.6.13.amd64.so "$D/"
ftlman patch -d "$D" ~/.local/share/ftl-mods/Hyperspace.ftl ArchipelagoFTL.ftl

mod/install.sh runs that same ftlman patch for you. That command always rebuilds ftl.dat from ftl.dat.vanilla, so applying only ArchipelagoFTL.ftl on its own would remove Hyperspace from the game.

Launch the game through Steam or through its FTL script, not data/FTL.amd64 directly: only the script preloads Hyperspace. The main menu then shows HS-1.23.1 x64 in the top right corner, the Archipelago title and logo at the top left, and a connection panel at the bottom left.

Installing on Windows

The game lives in steamapps\common\FTL Faster Than Light of your Steam library, next to FTLGame.exe. Everything goes in that folder; there is no data subfolder on Windows.

  1. With ftlman, install Hyperspace 1.23.1 (Hyperspace tab, or ftlman hyperspace-install 1.23.1 -d <game folder>). On a Steam copy it downgrades FTL to 1.6.9 first and keeps the original as FTLGame_orig.exe.
  2. Keep a copy of the official Hyperspace.dll from the game folder, then put this project's Hyperspace.dll in its place.
  3. Put Hyperspace.ftl and ArchipelagoFTL.ftl in ftlman's mods folder, Hyperspace first in the order, and apply.

From a source build, in Git Bash, steps 2 and 3 are:

hyperspace-patch/build-windows.sh --install
FTLMAN=/path/to/ftlman.exe mod/install.sh

Both find the game through Steam's library list, FTL_DATA / FTL_DIR point them elsewhere. The build runs in Hyperspace's Docker container, so Docker Desktop is needed. FTL has to be closed while installing: Windows locks ftl.dat and Hyperspace.dll while the game runs.

The main menu then shows HS-1.23.1 in the top right corner and the same Archipelago title, logo and panel.

Installing the apworld

Drop ftl.apworld into the custom_worlds folder of your Archipelago installation. Only the machine that generates the seed needs it.

Generating a seed

Create your YAML with ArchipelagoOptionsCreator (in the Archipelago Launcher) or start from a file in presets.zip, put it in Players/, and generate as for any other game. The options worth a second look:

Connecting to a room

On the main menu, the panel at the bottom left takes the server address, the port, your slot name and the room password. Press ENTER or click the button. TAB moves between fields.

Changing seed. Hyperspace can unlock a ship but never lock one again, so a profile that played another seed keeps its ships. When you connect to a different seed with such a profile, the mod refuses the seed and asks. "Yes" makes a dated copy of your profile next to it, erases the Archipelago progress and restarts FTL on its own (through Steam if you launched it from Steam, on Linux and Windows alike); the new seed begins from nothing. "No" keeps everything and plays the new seed with the old ships. The same question comes up the first time you connect with a profile that already unlocked ships without Archipelago.

Playing

Pick a ship in the hangar (locked ships are simply not there) and play. The mod does the rest:

TAB opens the dashboard during a run and pauses the game. Its pages: an overview (goal, checks, links, latest items), the ship layouts, the systems, the checks still to do by category, and a journal of the items received and the hints. Left/Right or 1-5 change page, the wheel scrolls the lists, Esc closes it.

Losing a run costs you only the run. Your items are kept.

Playing offline: solo mode

Without a server, click Solo mode in the connection panel. Solo mode applies the slot data of a real generated seed and hands out its items one per check, in the order a real fill produced. It is a way to try the loop and the pacing alone.

A solo run is saved in the FTL profile: the items received and the checks sent survive a restart, and a solo run that was going when FTL closed picks up again at the next launch. Stop solo puts it aside; clicking Solo mode later asks whether to continue it or start over.

Troubleshooting

The game hangs on the loading screen at 100% CPU. A Hyperspace bug with an ae_prof.sav that was created but never played. Delete ae_prof.sav and any hs_*_prof.sav from the save folder and launch again.

The connection panel is missing, or nothing connects. The Hyperspace library is the official one, not the build with the Archipelago module, or Hyperspace is not loaded at all. Check data/FTL_HS.log: it should contain [AP-net] network module present.

My unlocks disappear between sessions. Steam Cloud is still enabled, or the mods were re-applied without Hyperspace.

Where is the log? FTL_HS.log in the game folder (in data/ on Linux), rewritten at every launch. Lines from the mod start with [AP.