Skip to content

LukasHuth/MinecraftServer

Repository files navigation

Minecraft Server

This is a project to learn, how to implement an documented packet (And possibly create a fully working Minecraft server).

To-Do

  • add the missing Block states that are after this
  • using serde for the packets etc
  • 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

Known Issues

  • The Feature Flag Packet is currently broken and is under investigation and will be fixed as fast as possible

How to use

Follow these steps to set up and run the Rust Minecraft Server:

  1. Clone the repository and navigate to the project directory
git clone [email protected]:LukasHuth/MinecraftServer.git
cd MinecraftServer
  1. Configure the Server
  • Open the Config.toml file.
  • Customize the configurations according to your preferences, such as the port number, message of the day, maximum players, and offline mode.
  1. Build the Server

Compile using the Cargo executable

cargo build --release
  1. Run the Server Start the server by executing the generated binary
./target/release/minecraft_server

Configuration Config.toml

The 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.

Disclaimer

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

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages