This is a project to learn, how to implement an documented packet (And possibly create a fully working Minecraft server).
- add the missing Block states that are after this
- using serde for the packets etc
- help: serde tutorial
- implementing all the login packets
- packet implementation
- packet usage (encrypted)
- implementing all the playing packets
- implementing server handling (events redstone ticks etc.)
- test if inlining deref's helps performance
- The Feature Flag Packet is currently broken and is under investigation and will be fixed as fast as possible
Follow these steps to set up and run the Rust Minecraft Server:
- Clone the repository and navigate to the project directory
git clone [email protected]:LukasHuth/MinecraftServer.git
cd MinecraftServer- Configure the Server
- Open the
Config.tomlfile. - Customize the configurations according to your preferences, such as the port number, message of the day, maximum players, and offline mode.
- Build the Server
Compile using the Cargo executable
cargo build --release- Run the Server Start the server by executing the generated binary
./target/release/minecraft_serverThe Config.toml file holds essential configurations for the Rust Minecraft Server. Below is a breakdown of the key parameters:
- port: Specifies the port number for the server. Default is set to
25565. - motd: Stands for "Message of the Day," providing a brief message displayed to players on the serverlist. Default setting:
"A Cool Rust Minecraft Server". - max_players: Defines the maximum number of players allowed on the server simultaneously. Default is
100. - offline_mode: Determines whether the server operates in offline mode, which allows players with unverified Minecraft accounts to join. Presently set to
false.
Ensure to adjust these configurations according to your server requirements before deployment.
Shoutout to shenjack and Yue Fei with their work on the crate nbt-rust. Their crate helped me out a lot to implement a fine tuned working NBT library. Also thanks to Owen Gage and their crate fastnbt More Informations here