| Crates.io | mcpacker |
| lib.rs | mcpacker |
| version | 0.1.1 |
| created_at | 2026-01-21 09:13:54.485935+00 |
| updated_at | 2026-01-21 09:52:49.097324+00 |
| description | A command-line tool to convert client modpacks into ready-to-run Minecraft servers |
| homepage | |
| repository | https://github.com/littlepenguin66/mcpacker |
| max_upload_size | |
| id | 2058703 |
| size | 193,805 |
███╗ ███╗ ██████╗██████╗ █████╗ ██████╗██╗ ██╗███████╗██████╗
████╗ ████║██╔════╝██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
██╔████╔██║██║ ██████╔╝███████║██║ █████╔╝ █████╗ ██████╔╝
██║╚██╔╝██║██║ ██╔═══╝ ██╔══██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗
██║ ╚═╝ ██║╚██████╗██║ ██║ ██║╚██████╗██║ ██╗███████╗██║ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
A command-line tool to convert client modpacks into ready-to-run Minecraft servers
Transform client-side Modrinth and CurseForge modpacks into fully configured Minecraft servers with a single command.
Overview • Features • Installation • Usage • Examples
McPacker is a fast, reliable command-line tool built with Rust that converts client modpacks into server installations automatically. Most modpacks are distributed for client use only, requiring manual setup to run as servers. McPacker handles the complete conversion pipeline: parsing modpack files, filtering client-only mods, downloading server mods with hash verification, installing the appropriate server loader, and generating start scripts with your custom configuration.
Whether you're setting up a server for friends or managing multiple modded instances, McPacker eliminates the manual work and ensures reliable, verifiable installations.
.mrpack) and CurseForge (.zip) modpack formatsfabric.mod.json, mods.toml, and legacy mcmod.infoEnsure you have Rust installed (1.75 or later), then build and install:
git clone https://github.com/littlepenguin66/mcpacker.git
cd mcpacker
cargo install --path .
Install directly from Crates.io:
cargo install mcpacker
Download the latest release from the releases page for your platform.
Convert a modpack to a server installation:
mcpacker your-modpack.mrpack
This will create a folder named after your modpack containing all server files, mods, and a start script.
mcpacker [OPTIONS] <INPUT>
Arguments:
<INPUT> Path to modpack file (.mrpack or .zip)
Options:
-o, --output <PATH> Output directory [default: modpack name]
-m, --memory <SIZE> Server memory allocation [default: 4G]
--java-path <PATH> Java executable path [default: java]
-p, --parallel <NUM> Parallel downloads [default: 10]
-u, --update-list Update client-only mods cache and exit
--keep-client Keep client-only mods (Modrinth only)
--filter-client Filter client-only mods (CurseForge)
--accept-eula Automatically accept Minecraft EULA
--skip-hash Skip mod hash verification
--skip-installer-verify Skip loader installer hash verification
--installer-hash <HASH> Expected hash for loader installer
--proxy <URL> HTTP/HTTPS proxy URL
-h, --help Print help
-v, --version Print version
Specify memory allocation using standard formats:
4G - 4 gigabytes4096M - 4096 megabytes4g or 4G both workCreate a server from a Modrinth modpack with 6GB RAM:
mcpacker my-modpack.mrpack --memory 6G
Install to a specific location:
mcpacker my-modpack.mrpack --output /path/to/server
Download through a corporate or privacy proxy:
mcpacker my-modpack.mrpack --proxy http://proxy.example.com:8080
Skip the manual EULA acceptance step:
mcpacker my-modpack.mrpack --accept-eula
Process a CurseForge modpack and filter out client-only mods:
mcpacker my-curseforge-pack.zip --filter-client
Refresh the cached list of client-only mods (useful for offline usage):
mcpacker --update-list
Combine multiple options for a production server:
mcpacker my-modpack.mrpack \
--output /srv/minecraft \
--memory 8G \
--java-path /usr/lib/jvm/java-17-openjdk/bin/java \
--parallel 20 \
--accept-eula \
--proxy http://proxy.internal:3128
McPacker follows a straightforward pipeline:
The tool validates each step and provides clear feedback throughout the process.
McPacker maintains a cached list of keywords commonly used by client-only mods to avoid downloading unnecessary files. This cache is stored in your system's standard cache directory:
~/.cache/mcpacker/~/Library/Caches/mcpacker/%LOCALAPPDATA%\mcpacker\cache\The cache is automatically created on first run. Use --update-list to refresh it manually.
By default, McPacker verifies downloaded files using SHA-1 or SHA-512 hashes provided by the modpack. This ensures:
[!WARNING] Using
--skip-hashdisables verification and should only be used for troubleshooting. Similarly,--skip-installer-verifybypasses loader installer verification.
McPacker automatically detects and installs the following Minecraft server loaders:
The appropriate loader version is extracted from the modpack metadata.
If downloads fail, McPacker will automatically:
You can increase parallelism with --parallel or use --proxy if network access is restricted.
Ensure memory values start with a digit and end with M or G:
4G, 4096M, 8gG4, 4, 4GBIf the loader installation fails, verify Java is available:
java -version # Should show Java 17+ for modern modpacks
Use --java-path to specify a custom Java installation.
If client-only mods are included in your server:
--keep-client is used--filter-client to enable filtering--parallel up to 20-30 for faster downloads on high-speed connections--update-list periodically to refreshMcPacker generates appropriate start scripts for your platform:
start.batstart.sh (with executable permissions)mcpacker/
├── src/
│ ├── main.rs # CLI interface and orchestration
│ ├── ops/ # Core operations (download, install, generate)
│ ├── parsers/ # Modpack format parsers
│ ├── models/ # Data structures and types
│ ├── ui/ # Terminal UI helpers
│ └── utils.rs # Utility functions
├── Cargo.toml # Rust dependencies
└── README.md # This file
Q: Can I use this for client installations?
A: McPacker is designed specifically for server installations. Use the native launchers (Modrinth App, CurseForge) for client setups.
Q: What if a mod fails to download?
A: McPacker will report the failure and continue with other mods. Check the output for specific error messages.
Q: Can I customize the start script after generation?
A: Yes! The generated scripts are standard shell/batch files that you can edit manually.
Q: Does this work with private modpacks?
A: McPacker works with any local modpack file. Download the pack file first, then process it with McPacker.
Built with Rust and powered by excellent crates including:
McPacker draws inspiration from two excellent tools in the Minecraft modding ecosystem:
If you encounter issues or have questions: