A Minecraft server in Rust focused on a strong foundation and performance
See the code
A Minecraft Java Edition server written in Rust.
Website · Documentation · Implementation tracker · Discord

[!IMPORTANT] SteelMC is still pre-alpha. You can connect and explore generated worlds, but survival gameplay is incomplete and many vanilla systems are still missing. Do not replace your production server with it yet.
SteelMC is an independent implementation of the Minecraft Java Edition server. It tracks the latest Java Edition release and currently targets Minecraft 26.2.
The goal is to match vanilla behavior while making better use of modern multicore hardware. Gameplay updates remain synchronous, while chunk generation, lighting, packet processing, and chunk sending can run outside the main tick.
World generation is currently the most complete part of SteelMC. Its parity suite compares 7,500 randomly selected chunks with a reproducible vanilla reference: 2,500 in each dimension. All tested chunks match block for block. Entity spawning is not included because most entity behavior has not been implemented yet.
In a focused benchmark on a Ryzen 9 9950X, SteelMC generated a fresh 10,201-chunk Overworld area in a median of 3.98 seconds. Results vary with hardware, and this benchmark does not represent every server workload.
Read Introducing SteelMC for the design story, parity methodology, benchmark context, and limitations. Full results and reproduction instructions are available on the benchmark page.
Today, clients can join a persistent multiplayer world, move and interact, use inventories and commands, and return later to saved chunks. SteelMC currently provides:
SteelMC is not ready to replace an established server:
Follow the implementation tracker for a more detailed view of what is available today.
Pre-built releases, Docker images, and source-build instructions are available in the installation guide.
Expect bugs and incomplete mechanics. If you try SteelMC, please share what you find on Discord or open a GitHub issue.
Contributions are welcome. Most changes begin by reading the vanilla source, understanding the behavior it implements, and deciding how to express that behavior cleanly in Rust.
As a new contributor, please limit yourself to 3 open PRs at a time, so we can give feedback on your existing ones before you open more. Also, start with a small, simple contribution first, around 1k lines changed or less, so it's quicker to review.
Before you start:
./update-minecraft-src.sh and verify
behavior against it.The repository uses a pinned nightly Rust toolchain. The common validation commands are:
cargo test
cargo fmt --all --check
cargo clippy -r --all-targets --all-features
typos
Nix and NixOS users can get the pinned toolchain, lld, prek, and typos in one
step with nix develop (or direnv allow, using the checked-in .envrc).
Generated documentation for SteelMC's Rust crates is available in the Rust API reference.
AI may be used as a tool, but contributors must understand and be able to explain every line they submit. Fully autonomous pull requests are not accepted.
For an easy entry into SteelMC as a new contributor, you can check out issues with the tag good first issue, or our tracker of unimplemented content,
which is always a good first start.
The SteelMC Discord is where we discuss designs, coordinate work, share progress, and answer questions. Longer project updates are published on the SteelMC website.
If you enjoy SteelMC, you can support its development by sponsoring the project on GitHub. Any support is greatly appreciated!
SteelMC is free software licensed under the GNU Affero General Public License v3.0 or later.
The SteelMC logo was designed by colonthreeing.
SteelMC's world generation, lighting, and other performance work has drawn ideas from C2ME, ScalableLux, FastNoise, Lithium, and Structure Layout Optimizer.
883 followers · starred Jul 2026
209 followers · starred Aug 2026
281 followers · starred Aug 2026
463 followers · starred Jul 2026
A Minecraft server in Rust focused on a strong foundation and performance
See the code
A Minecraft Java Edition server written in Rust.
Website · Documentation · Implementation tracker · Discord

[!IMPORTANT] SteelMC is still pre-alpha. You can connect and explore generated worlds, but survival gameplay is incomplete and many vanilla systems are still missing. Do not replace your production server with it yet.
SteelMC is an independent implementation of the Minecraft Java Edition server. It tracks the latest Java Edition release and currently targets Minecraft 26.2.
The goal is to match vanilla behavior while making better use of modern multicore hardware. Gameplay updates remain synchronous, while chunk generation, lighting, packet processing, and chunk sending can run outside the main tick.
World generation is currently the most complete part of SteelMC. Its parity suite compares 7,500 randomly selected chunks with a reproducible vanilla reference: 2,500 in each dimension. All tested chunks match block for block. Entity spawning is not included because most entity behavior has not been implemented yet.
In a focused benchmark on a Ryzen 9 9950X, SteelMC generated a fresh 10,201-chunk Overworld area in a median of 3.98 seconds. Results vary with hardware, and this benchmark does not represent every server workload.
Read Introducing SteelMC for the design story, parity methodology, benchmark context, and limitations. Full results and reproduction instructions are available on the benchmark page.
Today, clients can join a persistent multiplayer world, move and interact, use inventories and commands, and return later to saved chunks. SteelMC currently provides:
SteelMC is not ready to replace an established server:
Follow the implementation tracker for a more detailed view of what is available today.
Pre-built releases, Docker images, and source-build instructions are available in the installation guide.
Expect bugs and incomplete mechanics. If you try SteelMC, please share what you find on Discord or open a GitHub issue.
Contributions are welcome. Most changes begin by reading the vanilla source, understanding the behavior it implements, and deciding how to express that behavior cleanly in Rust.
As a new contributor, please limit yourself to 3 open PRs at a time, so we can give feedback on your existing ones before you open more. Also, start with a small, simple contribution first, around 1k lines changed or less, so it's quicker to review.
Before you start:
./update-minecraft-src.sh and verify
behavior against it.The repository uses a pinned nightly Rust toolchain. The common validation commands are:
cargo test
cargo fmt --all --check
cargo clippy -r --all-targets --all-features
typos
Nix and NixOS users can get the pinned toolchain, lld, prek, and typos in one
step with nix develop (or direnv allow, using the checked-in .envrc).
Generated documentation for SteelMC's Rust crates is available in the Rust API reference.
AI may be used as a tool, but contributors must understand and be able to explain every line they submit. Fully autonomous pull requests are not accepted.
For an easy entry into SteelMC as a new contributor, you can check out issues with the tag good first issue, or our tracker of unimplemented content,
which is always a good first start.
The SteelMC Discord is where we discuss designs, coordinate work, share progress, and answer questions. Longer project updates are published on the SteelMC website.
If you enjoy SteelMC, you can support its development by sponsoring the project on GitHub. Any support is greatly appreciated!
SteelMC is free software licensed under the GNU Affero General Public License v3.0 or later.
The SteelMC logo was designed by colonthreeing.
SteelMC's world generation, lighting, and other performance work has drawn ideas from C2ME, ScalableLux, FastNoise, Lithium, and Structure Layout Optimizer.
883 followers · starred Jul 2026
209 followers · starred Aug 2026
281 followers · starred Aug 2026
463 followers · starred Jul 2026