https://github.com/oxidized-mc/server
A high-performance Minecraft Java Edition server rewritten in Rust.
https://github.com/oxidized-mc/server
ecs game-server gamedev minecraft minecraft-java minecraft-server open-source protocol rust tokio
Last synced: 15 days ago
JSON representation
A high-performance Minecraft Java Edition server rewritten in Rust.
- Host: GitHub
- URL: https://github.com/oxidized-mc/server
- Owner: oxidized-mc
- License: mit
- Created: 2026-03-17T19:33:14.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-04-04T17:42:15.000Z (20 days ago)
- Last Synced: 2026-04-04T19:13:28.692Z (20 days ago)
- Topics: ecs, game-server, gamedev, minecraft, minecraft-java, minecraft-server, open-source, protocol, rust, tokio
- Language: Rust
- Homepage:
- Size: 63.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Oxidized 🦀
> A high-performance Minecraft Java Edition server rewritten in Rust.
> Targets **Minecraft 26.1** (protocol `775`).
[](https://github.com/oxidized-mc/server/actions/workflows/ci.yml)
[](#license)
[](https://www.rust-lang.org/)
---
## Why Oxidized?
| Goal | Detail |
|---|---|
| **Correctness** | Implemented against the decompiled 26.1 server source (4 789 Java files) |
| **Performance** | Async-first with Tokio; ECS-based entity system; no blocking I/O on the game thread |
| **Maintainability** | Clean Rust idioms, comprehensive tests, strict Clippy lints |
| **Compatibility** | Wire-protocol compatible with the vanilla 26.1 client |
| **Modern design** | Not a 1:1 Java port — uses data-oriented architecture, parallel tick phases, and Rust-native patterns |
---
## Status
🚧 **Pre-alpha — infrastructure and planning complete, implementation starting.**
---
## Project Layout
```
Oxidized/
├── crates/
│ ├── oxidized-nbt/ # NBT read/write, SNBT, GZIP/zlib
│ ├── oxidized-macros/ # Proc-macro: #[derive(McPacket, McRead, McWrite)]
│ ├── oxidized-protocol/ # Network: TCP, packet codec, typestate connections
│ ├── oxidized-world/ # World, chunks (Anvil), blocks, items, lighting
│ ├── oxidized-game/ # ECS (bevy_ecs): entities, AI, combat, commands
│ └── oxidized-server/ # Binary — startup, tick loop, network layer
├── mc-server-ref/ # Decompiled vanilla server (gitignored)
├── deny.toml # cargo-deny licence + advisory config
├── rustfmt.toml # Formatting rules
└── rust-toolchain.toml # Pinned to stable (CI enforces MSRV 1.85)
```
---
## Quick Start
### Requirements
- Rust stable 1.85+ (see `rust-toolchain.toml` for pinned version)
- A vanilla Minecraft 26.1 client
### Build & Run
```bash
cargo build --release
./target/release/oxidized
```
### Development
```bash
cargo run # debug build
cargo test --workspace # all tests
cargo fmt --check # formatting
cargo clippy --workspace --all-targets -- -D warnings # lints
```
---
## Documentation
| Document | Description |
|---|---|
| [Contributing](CONTRIBUTING.md) | How to contribute to the project |
---
## Reference Code
The decompiled vanilla server is at `mc-server-ref/decompiled/` (gitignored).
The implementation uses the Java source as reference but rewrites everything
idiomatically in Rust — no line-by-line transliteration.
---
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md). All contributions are welcome — bugs,
docs, phases, performance.
---
## License
Licensed under the [MIT License](./LICENSE).
> **Note:** This project is not affiliated with or endorsed by Mojang or Microsoft.
> Minecraft is a trademark of Mojang AB. This server reimplementation is developed
> for educational and compatibility purposes only.