Skip to main content

Crate mc_protocol

Crate mc_protocol 

Source
Expand description

§mc_protocol

Rust implementation of the Minecraft Java Edition network protocol primitives: serialization, packet framing, encryption, and compression.

§Feature flags

FeatureDescriptionDefault
asyncAsync I/O via Tokioyes
encryptionAES-128-CFB8 encryption via OpenSSLyes
compressionZlib packet compression via flate2yes

§Quick start

use mc_protocol::varint::VarInt;
use mc_protocol::ser::{Serialize, Deserialize};
use std::io::Cursor;

let mut buf = Vec::new();
VarInt(300).serialize(&mut buf).unwrap();

let v = VarInt::deserialize(&mut Cursor::new(&buf)).unwrap();
assert_eq!(v.0, 300);

Modules§

compression
Zlib packet compression as used in the Minecraft Java Edition protocol.
num
Big-endian integer trait used by the protocol serialization layer.
packet
Packet framing for the Minecraft Java Edition protocol.
ser
Core serialization and deserialization traits used throughout the protocol.
varint
VarInt and VarLong types as defined in the Minecraft Java Edition protocol.

Derive Macros§

Packet
Derives Packet behaviour for a struct.