When I first used a computer, it was to play Minecraft, and I got started programming with Minecraft command blocks. The game is very important to me, and I have a long history of running Minecraft servers. As such, I am well-acquainted with the performance limitations of the official Java implementation, as well as the numerous attempts to produce alternative servers. My first exposure to the Rust programming language was actually with Feather. Unfortunately, these servers have all been very limited, lacking features such as world file saving. Given the behaviour of Microsoft, who "own" Minecraft, in the last few years, I think it's time for an alternative. To this end, I have published UBGS, an Unnamed Block Game Server.
The server is based on the Valence framework, with much more functionality added on top. The whole thing runs on the Bevy game engine. I've found its ECS architecture delightful to work with. The most important differentiating feature of this server compared to other recent projects is the ability to write to Minecraft's Anvil file format. This, in my view, is a game-changer as it allows the server to be used to actually build lasting creations, not just ephemeral mini-games.
To run the server, simply follow the instructions in the README file. Rust's compile times are notoriously long, so expect to wait, and if you're running Linux check Bevy's dependencies page, also linked in the README. Copy a world folder from your Minecraft saves, name it "world", and run UBGS at that location. Anything you build on the server will be persisted to that folder, but note that entities and chest contents are not saved. You can add the Perf plugin the same way the Save plugin is added in the example code, and you'll get the tick times for the server. They should regularly be under one millisecond, and the memory usage on my machine is just 76 MB with a whole world loaded in. I've only managed to test it with one player (myself) but I'd love to get some other people on the server.
While this server is very, very unfinished like all the others, I hope to get some of the more performance-intensive features like terrain generation and light calculation working. This way, I can prove a faster server is possible and hopefully get some help finishing it.