Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 2.91 KB

README.md

File metadata and controls

76 lines (53 loc) · 2.91 KB

Another FTL: Faster Than Light Mod Manager

This project is an alternative to the Slipstream Mod Manager, written in Rust and with some additional features.

Features

Currently automatic hyperspace installation is supported for the following FTL versions:

  • Steam (Linux and Windows)
  • Epic (untested)
  • Origin (untested)

Patching the Microsoft version is technically supported but you may encounter permission problems if you try to patch it in the original installation directory.

* Most Slipstream mods are supported but these Slipstream features are currently unimplemented:

  • .rawappend.xml/.xml.rawappend files
  • .rawclobber.xml/.xml.rawclobber files
  • Some ill-formed XML files may still be rejected by ftlman but accepted by Slipstream.

These features are not particularly difficult to implement but I just don't have any mods that actually use them so I can't test changes. If you find a mod that requires any of these please open an issue.

If you find a mod that fails to patch with ftlman but works with slipstream or one that works different under ftlman also open an issue.

Installation

Pre-built binaries

Pre-built binaries for both Linux and Windows are available in the Releases tab.

Compiling from source

Compilation requires a nightly Rust toolchain due to questionable design decisions I made in silpkg. For instructions on installing Rust go to https://www.rust-lang.org/tools/install, make sure to select the nightly toolchain release during installation.

After installing Rust, open a terminal then execute the following command:

cargo install --git https://github.com/afishhh/ftlman

Note

The same command can be used to update the program.

You should then be able to run ftlman in a terminal to start the program.

Note

These instructions also apply to Windows users, just replace terminal with cmd.exe.

NixOS with flakes

Add this repository to your flake inputs and then use the default package output.

{
  # ... other inputs ...
  inputs.ftlman.url = "github:afishhh/ftlman";
  # Optionally reuse top-level nixpkgs
  # inputs.ftlman.inputs.nixpkgs.follows = "nixpkgs";

  outputs = { self, ftlman, ... }:
    let
      package = ftlman.packages.${system}.default;
    in {
      # use package
    };
}

You can also try out the program using nix run:

nix run github:afishhh/ftlman