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
- server list ping
- entity metadata
- chunk, and palette
- packet encryption
- packet compression
- mojang login request
- tick system
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.