Установка инструментов
Здесь перечислено, что нужно поставить на машину, чтобы собрать mcrs. Если вы пришли из Java, во второй половине страницы знакомые части Gradle сопоставлены с Cargo, системой сборки Rust.
Что нужно
Заголовок раздела «Что нужно»Rust ставится через rustup. Версию выбирать не нужно, потому что rust-toolchain.toml закрепляет nightly-2026-09-02, и rustup скачает ее при первом вызове cargo. Он же добавит rustfmt, clippy и цели wasm32.
В качестве IDE подойдет RustRover или IntelliJ IDEA с плагином Rust. Корень репозитория открывайте как проект Cargo. Условия лицензии RustRover проверьте сами.
mcrs нужен официальный клиентский jar снапшота, но скачивать его вручную не придется. mcrs берет его из папки лаунчера или при первом запуске скачивает с Mojang в ту же папку, а потом проверяет SHA-1.
Чтобы запустить mcrs, Java не нужна. Некоторым инструментам, например tools/vanilla-oracle и mob bench, требуется Java 21 или новее.
Автор мерил и запускал все на macOS, на Apple M4 Max с Metal. CI гоняет lint, clippy, проверки переносимости и тесты на Ubuntu 24.04, без крейтов, которым нужен GPU. Для Windows в коде есть путь к jar, но его никто не проверял.
Сколько длится первая сборка и сколько места она занимает на диске, пока никто не измерял. В workspace 122 крейта, так что первая сборка будет долгой.
Cargo для тех, кто знает Gradle
Заголовок раздела «Cargo для тех, кто знает Gradle»| Gradle | Cargo |
|---|---|
settings.gradle с подпроектами |
Корневой Cargo.toml с [workspace]. 122 участника лежат в crates/ |
build.gradle проекта |
Cargo.toml крейта |
./gradlew run |
cargo run. Для mcrs добавляйте --release, потому что отладочная сборка слишком медленная |
./gradlew build |
cargo build |
./gradlew test |
cargo test. В этом репозитории запускают cargo nextest run |
| Gradle wrapper закрепляет версию Gradle | rust-toolchain.toml закрепляет компилятор |
Папка build/ |
Папка target/ |
| Координаты Maven и версия | Имя крейта и версия либо git URL с rev |
| Lock-файл зависимостей | Cargo.lock, хранится в репозитории |
Области implementation и api |
[dependencies]. Области api нет, видны все pub-элементы |
Крейты не опубликованы на crates.io, поэтому свой код сейчас приходится держать в клоне репозитория или подключать mcrs по git-коммиту.1
Дальше: Запуск сервера.
Footnotes
Заголовок раздела «Footnotes»Источники и проверка
Проверено: 26.4-snapshot-7, 3540f457b, 2026-11-10
Переведено с версии 3540f457b
Следить: #321