@deathtrail55
Profile
Registered: 1 year, 8 months ago
GitHub - Feather-rs/feather: A Minecraft Server Implementation In Rust A Minecraft server implementation written in Rust. Status The project is still in the early stages. Many, many features remain unimplemented. We welcome all contributions! Minecraft versions supported Feather supports 1.16.5 clients as well as world saves. We do not currently have plans to support multiple versions at once, but we may consider this in the future. Goals The Feather project aims to provide a Minecraft server that is fast, modular, and paired with an ergonomic plugin API. Our mid-term goal is to make Feather usable on hub and minigame servers. The limited set of gameplay features available in Feather is not a problem for such servers that require a small subset of vanilla functionality. minecraft servers are my thing Feather's modularity is and performance makes it an ideal platform for these types servers. Our current focus is on developing a rich plugin API that will enable these use-cases. Feather could be used in the long-term on larger servers that are more survival-like. Its performance should allow many players concurrently to play on the same world with very little resources. Ecosystem The Feather ecosystem includes several repositories. libcraft is a collection of Rust crates that provide Minecraft functionality. Quill is our in-progress plugin API. Quill plugins are written using Rust and compiled for WebAssembly. Feather runs them in a WebAssembly VM sandboxed. feather is the server software that was built on top libcraft, quill. Performance Feather is so sparsely implemented that it will make comparisons with vanilla performance very misleading. But they are available if you want them. Feather can handle 1,000,000 entities created by plugins before it starts to limit the CPU. The vanilla server won't croak until then. - Feather can support 500 concurrent player connections. Each player must walk in a random order. These results could change as Feather adds new features. Take them with a grain. Memory usage in Feather varies according to how many chunks are loaded, and not the player count. The server uses 40MiB of RAM for the 500 player test. After that, the server starts to spread out. In the 1,000,000 entities test, it uses 400 MiB of RAM without any chunks loaded. minecraft servers are my thing Running We offer precompiled binaries on Windows, Linux and macOS at Github Actions. NB: Do NOT use github releases, they are majorly outdated To run Feather - Extract the archive. - Run the binary. - Linux and macOS:./featherserver in the directory. Windows: double-click featherserver.exe The server will create a configuration (config.toml), which you can edit. Feather will generate a world by default. Copy the world save to the server directory, under the name "world", if you want to load a vanilla universe. Warning: Feather World persistence is a relatively new feature that can cause problems when opening Feather universes in vanilla. Feather cannot touch the worlds you care about without backing them up. Compiling If you're on another platform, you can compile the server yourself to test it. Compiling from source will require the most current stable version Rust. Older Rust versions may be able to compile Feather, but they are not guaranteed to keep working. The server executable will be located in target/release. Architecture For contributors, we have a work-in-progress explanation of Feather's architecture here. Feather production ready? It's not yet. There are many bugs, missing features, and the codebase hasn't been tested enough for production readiness. How can I make a difference? Check out our issue tracker to find out what needs to be worked on. Join our Discord and ask any questions you may have. We appreciate your interest in contributing. - Are there any other ways I could help? Yes! Yes. Please submit an issue to the issue tracker if you find something that isn't working.
Website: https://anotepad.com/notes/ekb8nmih
Forums
Topics Started: 0
Replies Created: 0
Forum Role: Participant