It is a project that eliminates the necessary hardware performance cost and optimizes the server from the bottom without the economic difficulty of purchasing expensive hosting servers to operate Minecraft servers
No Minecraft server existed that satisfies the requirements below.
- In Raspberry Pi Zero 2W (ARM Cortex A53 processor clocked at 1GHz and 512MB RAM) environments, high performance server applications are required to hold more than 30 users
- Different versions of clients connect to a server
- AntiCheat
- Various minigames
- A client for testing shall be implemented.
- Pluggable selector pattern design structure or ECS (Entity Component System) structure
- Implement Minecraft Server as Rust
- Let's use the mio crate, without having to implement the socket selector kqueue/epoll directly
- None of the servers originally made in the Java language had the performance I wanted.
- Java is slow. It takes as much as 7 nanoseconds to create a single buffer. (It was slower than Rust, which takes up to 1 nanosecond at its best performance.)
- The reason for choosing Rust over C/C++ is that Rust has a more powerful type system than Java/Kotlin.