VintageModManager is a Rust-based application designed to manage and organize mods for Vintage Story. This project aims to provide a comprehensive solution for mod management, including features such as mod list parsing, auto downloading as well as updating mods.
Note: This project is currently under development and is not yet finished. Many features are still being implemented, and the codebase is subject to significant changes. Contributions and feedback are welcome as we continue to improve and expand the functionality of VintageModManager.
- Mod Information Handling: Parse and manage mod information from JSON data.
- Mod Downloading: Download mods from the Vintage Story moddb api.
- Mod Exporting: Export your mods to a shareable string that can be imported by other users.
- Mod Updating: Update mods to the latest version available on the moddb.
📦 VintageModManager
├─ .github
│ └─ workflows
│ ├─ formatter.yml
│ └─ test.yml
├─ .gitignore
├─ Cargo.lock
├─ Cargo.toml
├─ LICENSE
├─ readme.md
└─ src
├─ api
│ ├─ client.rs
│ ├─ mod.rs
│ ├─ mod_api_response.rs
│ ├─ mod_info.rs
│ └─ query.rs
├─ main.rs
└─ utils
├─ cli.rs
├─ config.rs
├─ encoding.rs
├─ files.rs
├─ logger.rs
├─ mod.rs
└─ system.rs
©generated by Project Tree Generator
To build and run the project, you need to have Rust installed. You can install Rust by following the instructions on the official Rust website.
-
Clone the repository:
git clone https://github.com/yourusername/VintageModManager.git cd VintageModManager
-
Build the project:
cargo build
-
Run the project:
cargo run
The application is currently in development, and the CLI is subject to change.
To start download the newest version of the cli from the releases page
To see the available commands and options, run the following command:
VintageModManager --help
or the shorthand
VintageModManager -h
All commands have their own help page, which can be accessed by running the command with the --help
flag.
VintageModManager <command> --help
To export your mods to a shareable string:
VintageModManager export
To import mods from a shareable string:
VintageModManager download <mod_string>
Where <mod_string>
is the string you received from the export command.
To download a mod:
VintageModManager download <mod_id>
Where <mod_id>
is the ID of the mod you want to download. This can be found on the moddb page of the mod.
To update a mod:
VintageModManager update <mod_id>
Where <mod_id>
is the ID of the mod you want to update. This can be found on the moddb page of the mod.
Note: Default behavior is to update all mods. So unless you specify a mod id, all mods will be updated.
- Implement interfacing with the Vintage Story moddb API
- Parsing data with serde
- Downloading of mods
- Basic querying of mods
- Implement mod updating
- Implement mod exporting
- Implement mod importing
- Implement a GUI for the application
- Implement some form of configuration file for the application
- Implement some form of caching for mod data, to reduce the number of requests made to the API
Contributions are welcome! Please feel free to submit a pull request or open an issue if you have any suggestions or find any bugs.
This project is licensed under the MIT License. See the LICENSE file for more details.
Disclaimer: This project is a work in progress, and many features are still being developed. The current implementation may not be fully functional. Use at your own risk.