A Minecraft server implementation written in Rust.
Note that Feather is still early in development. Don't expect anything not listed here to work.
- Highly scalable architecture
- Anvil world loading and saving
- Physics
- Basic world generation
- Chunk streaming
- Day/night cycle
- Weather
- Block lighting
- Arrow shooting
- Falling blocks
- Block placement and breaking
- Item dropping and collection
- Chat
- Inventory handling
- Movement broadcasting
On the current develop
branch, some more features are pending release:
- Commands (/tell, /tp, /gamemode)
- Survival mode
- Survival mode block breaking and drops
- Health + fall damage
- (soon) block entities, including chests
We offer precompiled binaries for Windows, Linux, and macOS at GitHub Releases.
To run Feather:
- Extract the downloaded archive.
- Run the binary.
- On Linux and macOS:
./feather-server
in the server directory - On Windows: double-click
feather-server.exe
- On Linux and macOS:
The server will create a configuration file (feather.toml
) which you can modify.
Feather will generate a world by default. If you want to load a vanilla world, copy the world save to the server directory under the name "world" (by default).
Warning: Feather world persistence is fairly new and will likely cause problems when attempting to open Feather worlds in vanilla. Do not let Feather touch worlds you care about unless they have been backed up.
Feather currently only supports 1.13.2 clients and world saves. In the future, additional versions will be supported.
If you are on another platform, compile the server yourself to try it out:
git clone https://github.com/feather-rs/feather
cd feather
cargo build --release
Compiling from source requires Java JDK 8 and rustfmt
.
The server executable will be located in target/release
.
- Is Feather production ready?
Not yet. There are numerous bugs and missing features which have yet to be resolved, and the codebase has not been tested enough to consider the server production ready.
- How can I contribute?
Check out our issue tracker to find an issue which appeals to you. Feel free to join our Discord and ask questions whenever you need. Thanks for your interest in contributing!
- Are there other ways I can help?
Yes! We're always looking for people to test out the server and find bugs. If you find anything that doesn't seem right to you, please submit an issue on the issue tracker.