Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

Oxidized πŸ¦€

A high-performance Minecraft Java Edition server rewritten in Rust. Targets Minecraft 26.1 (protocol 775).

CI License: MIT Rust


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

cargo build --release
./target/release/oxidized

Development

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 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. All contributions are welcome β€” bugs, docs, phases, performance.


License

Licensed under the MIT 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.

About

A high-performance Minecraft Java Edition server rewritten in Rust.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /