[package]
name = "mc_protocol"
version = "2.1.1"
edition = "2021"
authors = ["kauri-off"]
description = "Rust implementation of Minecraft Java Edition protocol primitives: serialization, packet framing, encryption, and compression"
license = "MIT"
repository = "https://github.com/kauri-off/mc_protocol"
keywords = ["minecraft", "protocol", "networking", "varint", "encryption"]
categories = ["network-programming", "encoding", "game-development"]
[package.metadata.docs.rs]
all-features = true
[features]
default = ["async", "compression"]
async = ["dep:tokio"]
encryption = ["dep:openssl"]
compression = ["dep:flate2"]
[dependencies]
thiserror = "2.0.18"
uuid = { version = "1.23.1", features = ["v4"] }
tokio = { version = "1.52.1", features = ["full"], optional = true }
openssl = { version = "0.10.78", optional = true }
flate2 = { version = "1.1.9", optional = true }
mc_protocol_derive = { path = "./mc_protocol_derive", version = "2.0.1" }
[target.'cfg(windows)'.dependencies]
openssl = { version = "0.10.78", features = ["vendored"], optional = true }
[dev-dependencies]
tokio = { version = "1.52.1", features = ["full"] }
[[test]]
name = "varint"
path = "tests/varint.rs"
[[test]]
name = "varlong"
path = "tests/varlong.rs"
[[test]]
name = "types"
path = "tests/types.rs"
[[test]]
name = "packet"
path = "tests/packet.rs"
[[test]]
name = "encryption"
path = "tests/encryption.rs"
required-features = ["encryption"]
[[test]]
name = "compression"
path = "tests/compression.rs"
required-features = ["compression"]