Skip to content
An experimental Minecraft server implementation in Rust
Rust Shell
Branch: develop
Clone or download
momothereal and caelunshun Create world level.dat when it doesn't exist (#141)
Creates a world if the `world` directory doesn't exist.

For now it will only write the level.dat file when creating it for the first time.

I added a config entry to change the world directory feather looks for (defaults to world). There's also options for seed and generator, only used when a new world is being created.
Latest commit a9a47b2 Sep 21, 2019


build coverage Discord

An experimental Minecraft server implementation written in Rust.

Current Features

Many basic features are already implemented:

  • Highly scalable architecture—thanks to specs and rayon, Feather is almost entirely multithreaded
  • Anvil world loading
  • Chunk streaming
  • Physics
  • Block placement and breaking
  • Item dropping and collection
  • Chat
  • Inventory handling
  • Movement broadcasting

Development is currently quite active, and features should be added at a fast pace over the next few months.


We offer precompiled binaries for Windows and Linux at GitHub Releases.

To run Feather:

  • Extract the downloaded archive.
  • Move a 1.13.2 Minecraft world save to the directory you extracted the archive to. Name the world save "world."
  • Run the binary.
    • On Linux and macOS: ./feather-server in the server directory
    • On Windows: double-click feather-server.exe

The server will create a configuration file (feather.toml) which you can modify.

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
cd feather
cargo build --release

The server executable will be located in target/release.

You can’t perform that action at this time.