About this project
FerrumC is a Minecraft server implementation written from scratch in Rust, targeting Minecraft version 1.21.8. It aims to be a high-performance, memory-efficient alternative to vanilla servers, leveraging Rust's multithreading capabilities and a Bevy ECS architecture for lockless concurrency.
**Key Features:**
- **Performance:** Fully multithreaded, utilizing all available CPU cores instead of a single main thread.
- **Memory Efficiency:** Designed to use minimal memory while providing a full-featured server experience.
- **World Import:** Can import existing vanilla Minecraft worlds.
- **Custom Systems:** Includes custom-made network, NBT, and Anvil encoding systems to minimize I/O lag.
- **Fast K/V Database:** Uses a high-speed key-value database for chunk storage.
- **Configuration:** Straightforward configuration via a `config.toml` file.
- **Compatibility:** Works with vanilla Minecraft clients (version 1.21.8).
**Current Status:**
The project is in early alpha and not yet production-ready. A fresh rewrite is underway on the `rework/v2-skeleton` branch, which will be merged into `master` soon. The rewrite includes a cleaner core, a flat creative world, area edit commands (`/fill`, `/replace`, `/undo`), a day/night cycle, world saving, and Rust-based plugins. It's intended for creative and minigame servers, not survival or vanilla-accurate gameplay.
**Installation:**
- **Docker:** Pull from `ghcr.io/ferrumc-rs/ferrumc:<version>` and run with port 25565.
- **Native Binaries:** Download from Releases page for your platform.
- **From Source:** Clone the repo and run `cargo build --release`.
- **GitHub Actions:** Download pre-built artifacts from the Actions tab.
**Usage:**
- Commands: `setup` (generate config), `import` (import world data), `run` (start server).
- Options: `--log` for logging level (trace, debug, info, warn, error).
**Development:**
Contributions are welcome. The project supports profiling with Tracy via the `tracy` feature. Join the Discord for help and discussion.
**FAQ Highlights:**
- Differs from Valence/Minestom (frameworks) by being a full server replacement.
- Differs from Paper/Spigot by writing everything from scratch.
- Differs from Pumpkin by prioritizing performance over vanilla parity.
- Plugins will be written in Rust via FFI; Java plugins/mods are not supported.
- Terrain generation is planned but may not be exactly vanilla.
**License:** MIT License.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.