Install the tools
This page lists what you need on your machine to build mcrs. If you come from Java, the second half maps the parts of Gradle you know to Cargo, the build tool of Rust.
What you need
Section titled “What you need”Install Rust through rustup. You do not pick a version, because rust-toolchain.toml pins nightly-2026-09-02 and rustup downloads it on the first cargo call. It also adds rustfmt, clippy and the wasm32 targets.
For an IDE, use RustRover, or IntelliJ IDEA with the Rust plugin, and open the repository root as a Cargo project. Check the current licence terms of RustRover yourself.
mcrs needs the official client jar of the snapshot, but you do not download it by hand. It is taken from the launcher folder, or downloaded from Mojang into the same folder on the first run, and then checked by SHA-1.
You do not need Java to run mcrs. Some tools, such as tools/vanilla-oracle and the mob bench, need Java 21 or newer.
The author measured and ran everything on macOS, on an Apple M4 Max with Metal. CI runs lint, clippy, portability checks and tests on Ubuntu 24.04, without the crates that need a GPU. For Windows the code has a jar path, and nobody has checked it.
Nobody has measured yet how long the first build takes or how much disk it needs. The workspace has 122 crates, so expect a long first build.
Cargo for people who know Gradle
Section titled “Cargo for people who know Gradle”| Gradle | Cargo |
|---|---|
settings.gradle with subprojects |
Root Cargo.toml with [workspace]. The 122 members are in crates/ |
build.gradle of a project |
Cargo.toml of a crate |
./gradlew run |
cargo run. For mcrs add --release, because a debug build is too slow |
./gradlew build |
cargo build |
./gradlew test |
cargo test. This repository uses cargo nextest run |
| Gradle wrapper pins the Gradle version | rust-toolchain.toml pins the compiler |
build/ folder |
target/ folder |
| Maven coordinates and a version | A crate name and a version, or a git URL with rev |
| Lock file of dependencies | Cargo.lock, committed |
implementation and api scopes |
[dependencies]. There is no api scope, and all pub items are visible |
Crates are not published on crates.io, so today your own code lives in a clone of the repository or depends on a git commit.1
Next: Run a server.
Footnotes
Section titled “Footnotes”Sources and verification
Verified: 26.4-snapshot-7, 3540f457b, 2026-11-10
Tracking: #321