Expand description
§mc_protocol
Rust implementation of the Minecraft Java Edition network protocol primitives: serialization, packet framing, encryption, and compression.
§Feature flags
| Feature | Description | Default |
|---|---|---|
async | Async I/O via Tokio | yes |
encryption | AES-128-CFB8 encryption via OpenSSL | yes |
compression | Zlib packet compression via flate2 | yes |
§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
Packetbehaviour for a struct.