ZWLQGZQABEX4KWHT3CWIGBDLOGEQS2I3WVI6JJZFHT6M2CEVUKLQC <h1 align="center"><!-- Formatting idea shamelessly stolen from https://github.com/OneGal/viper ty for the idea :) --><img src="https://static.wikia.nocookie.net/titanfall/images/d/d5/ScorchIcon.png" /><br>Papa<br><img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/AnActualEmerald/papa/Rust"> <img alt="Crates.io (latest)" src="https://img.shields.io/crates/dv/papa"></h1><p align="center">Mod manager CLI for <a href="https://github.com/R2Northstar/Northstar">Northstar</a></p>## Features- Install and update Northstar from the command line- Search Thunderstore for mods from the command line- Download a mod *and* its dependencies with one command- Easily keep your mods up to date- Per-directory tracking makes hosting multiple servers with different mods from one machine easy- Enable and disable mods independent of N*'s own enabling and disabling## Usage```bashpapa install server_utilities #install a modpapa list #list installed modspapa update #update any out of date modspapa remove server_utilities #uninstall a modpapa clear #clear the download cache```## InstallationRegardless of which method you use, I recommend setting your mods directory to something useful before using `papa````bashpapa config -m /PATH/TO/MODS/FOLDER/```Or initialize Northstar to set everything up automatically```bashpapa ns init /PATH/TO/TITANFALL2/```### Ubuntu/Debian(& derivatives)Download the `.deb` file from the latest release and install it using whatever you usually use to install packages:```bashsudo apt install ./papa_2.1.0.deb```### WindowsDownload and run the `.msi` installer from the latest release.### Using prebuilt binariesDownload the appropriate binary for your system (make sure you get the `.exe` for Windows) and place it somewhere in your PATH. You should then be able to call the `papa` command from your favorite command line.### Building from sourceIf you have cargo installed on your system, you should be able to install `papa` directly from [crates.io](https://crates.io)```bashcargo install papa```or from the git repo```bashcargo install --git https://github.com/AnActualEmerald/papa```If you want to build from source but don't have cargo installed, you should check out [rustup.rs](https://rustup.rs)## Caveats- The default install directory is **relative to the current working directory**, meaning that running the command in ~/ will install mods into ~/mods- Installed mods are tracked by a `.papa.ron` file in the mods directory, so each directory will have its own list of mods- For now updates will blow up any changes made within the mod files themselves
MIT LicenseCopyright (c) 2022 AnActualEmeraldPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.
[package]name = "papa"version = "2.3.0"edition = "2021"license = "MIT"description = "A cli mod manager for the Northstar launcher"readme = "README.md"authors = ["AnActualEmerald"]repository = "https://github.com/AnActualEmerald/papa"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]anyhow = "1.0.58"clap = { version = "3.2.8", features = ["derive", "color"] }convert_case = "0.5.0"directories = "4.0.1"env_logger = "0.9.0"futures-util = "0.3.21"indicatif = "0.16.2"log = "0.4.17"regex = "1.5.6"reqwest = { version = "0.11.11", features = ["stream"] }ron = "0.7.1"rustyline = "9.1.2"serde = { version = "1.0.138", features = ["derive"] }serde_json = "1.0.82"tokio = { version = "1.19.2", features = ["full"] }toml = "0.5.9"zip = "0.6.2"[features]default = ["northstar"]northstar = []launcher = ["northstar"][profile.release]strip = truelto = trueopt-level = "z"
# ChangelogAll notable changes to this project will be documented in this file.The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).## [Unreleased]### Fixed- `update` now handles linked mods correctly## v2.2.0### Added- Global install option (unix only)- `inlcude` and `exclude` commands for using global mods (unix only)- Options to `list` for global and all mods- `update` now lists the mods it will update, similar to `install`### Changed- Improved formatting a bit when installing many mods### Fixed- Cache breaking for packages with `_` in the package name- Cache not actually clearing without `force` option- Crash where the config directory wasn't be created properly## v2.1.1### Added- `force` option to `install` command- Cache now cleans older versions of packages### Fixed- Running `search` with no terms returning no results rather than everything- `install` asking to install nothing## v2.1.0### Added- Northstar `install`, `init`, and `update` commands- File overwrite warning on `update`- Overwrite protection for `.cfg` files- debug flag for base command### Chagned- Internal error handling- Slimmed binary sized a bit### Fixed- `update` not respecting disabled status- `disable` and `enable` not properly modifying all sub mods if the parent mod's name was used- `install` potentially using an outdated version from the cache## v2.0.0### Added- Northstar `install`, `init`, and `update` commands- File overwrite warning on `update`- Overwrite protection for `.cfg` files- debug flag for base command### Chagned- Internal error handling- Slimmed binary sized a bit### Fixed- `update` not respecting disabled status- `disable` and `enable` not properly modifying all sub mods if the parent mod's name was used- `install` potentially using an outdated version from the cache## v2.0.0### Added- `search` command- Support "bundle" type mods- `enable` and `disable` commands### Changed- Improved list formatting- More colorful output for readability## v1.0.0### Added- `update` command- Installed mod tracking- Support ~~somewhat~~ non-standard directory structures- Pre-installation confirmation### Changed- Get download URLs from thunderstore api- Use only package name for selecting packages- `install` and `remove` are now case-insensitive- Formatting changes## v0.2.0### Added- `config` command to manage configuration### Changed- Improved `list` command formatting### Fixed- `remove` command not working on windows- Install message not always getting package name