-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Method 1: Quick Install (PowerShell) For users who want the easiest installation method. This command downloads the latest release, installs it to your local app data folder, and adds it to your PATH.
irm https://raw.githubusercontent.com/LeagueToolkit/league-mod/main/scripts/install-league-mod.ps1 | iexMethod 2: Manual Install via GitHub Releases
- Visit the Releases page.
- Download the latest
league-mod-windows-msvc.zip. - Extract the contents to a folder of your choice.
- Add that folder to your PATH environment variable.
For developers who want to contribute or use the latest unreleased features.
Prerequisites:
- Rust (version 1.70+)
- Git
git clone https://github.com/LeagueToolkit/league-mod.git
cd league-mod
cargo build --release
# The binary will be at target/release/league-mod.exeA Mod Project in league-mod is a structured workspace where you develop your mod before packaging it for distribution. It is designed to be version-controlled (e.g., with Git) and supports advanced features like layers and metadata.
A standard mod project looks like this:
my-mod-project/
├── mod.config.json # The configuration file (metadata, authors, layers)
├── README.md # (Optional) Documentation shown in mod managers
├── thumbnail.png # (Optional) Mod icon/thumbnail
├── content/ # Directory containing the actual mod files
│ ├── base/ # The default layer (required)
│ │ └── ... # Files go here (e.g., data/characters/...)
│ └── [other_layers]/ # Optional additional layers (e.g., "high-res", "no-sound")
└── build/ # (Auto-generated) Where .modpkg files are saved
This file is the heart of your project. It defines:
- Metadata: Name, version, description, authors.
-
Layers: Which folders in
content/are included and their priority. - Transformers: Rules for processing files (e.g., converting images) during packing.
The easiest way to start is using the init command.
league-mod initThis interactive command will ask for:
-
Mod Name: A folder-safe name (e.g.,
my-cool-mod). - Display Name: The readable name shown to users (e.g., "My Cool Mod").
It will automatically generate the folder structure and a default mod.config.json for you.
Once initialized, place your raw mod files into content/base/.
Example: If you are replacing a texture for Aatrox, the path might look like:
content/base/assets/characters/aatrox/skins/base/aatrox_base_tx_cm.tex
When your mod is ready, you need to "pack" it into a single file that users can install.
Run this command inside your project folder:
league-mod packThis creates a .modpkg file in the build/ directory (e.g., my-mod_1.0.0.modpkg).
league-mod supports two output formats:
-
Modpkg (Default):
--format modpkg- Supports Layers (options/variants).
- Supports rich metadata.
- Best for modern mod managers that support the standard.
-
Fantome:
--format fantome- Legacy format compatibility.
-
Limitation: Only supports the
baselayer. Other layers will be ignored. - Use this if you need to support older tools like Fantome or LCS-Manager (if they don't support modpkg).
league-mod pack --format fantome- Share the
.modpkg(or.fantome) file found in thebuild/folder. - Do not share the raw project folder unless you are sharing the source code with other developers.
-
Update Version: Increment the
versioninmod.config.jsonbefore releasing a new update. -
Thumbnail: Include a
thumbnail.pngorthumbnail.webpin your project root to make your mod look good in mod managers. -
README: A
README.mdin your project root will be embedded in the package and shown to users.
If you want to inspect an existing mod or convert an old mod into a project, use the extract command.
league-mod extract --file-path path/to/mod.modpkg --output-dir ./my-extracted-mod- .modpkg: Full extraction of all layers and metadata.
-
.fantome: Converts a Fantome archive into a
league-modproject structure.- It will automatically create a
mod.config.jsonbased on the internal metadata. - It organizes files into
content/base/.
- It will automatically create a
This is useful for recovering your own mods or learning how others made theirs.