lightyear 0.7.0

Server-client networking library for the Bevy game engine
Documentation
[package]
name = "lightyear"
version = "0.7.0"
authors = ["Charles Bournhonesque <charlesbour@gmail.com>"]
edition = "2021"
rust-version = "1.65"
description = "Server-client networking library for the Bevy game engine"
readme = "../README.md"
repository = "https://github.com/cBournhonesque/lightyear"
keywords = ["bevy", "multiplayer", "networking", "netcode", "gamedev"]
categories = ["game-development", "network-programming"]
license = "MIT OR Apache-2.0"
exclude = ["/tests"]

[features]
metrics = [
  "dep:metrics",
  "metrics-util",
  "metrics-tracing-context",
  "metrics-exporter-prometheus",
  "tokio",
]
mock_time = ["dep:mock_instant"]
render = ["bevy/bevy_render"]
webtransport = [
  "dep:wtransport",
  "tokio/sync",
  "wtransport/dangerous-configuration",
]
leafwing = ["dep:leafwing-input-manager", "lightyear_macros/leafwing"]
xpbd_2d = ["dep:bevy_xpbd_2d"]


[dependencies]
# utils
anyhow = "1.0"
chrono = "0.4.31"
cfg-if = "1.0"
derive_more = "0.99.17"
enum_delegate = "0.2"
enum_dispatch = "0.3"
mock_instant = { version = "0.3.1", optional = true }
paste = "1.0"
rand = "0.8"
ringbuffer = "0.15"
thiserror = "1.0.50"

# input
leafwing-input-manager = { version = "0.11.2", optional = true }

# physics
bevy_xpbd_2d = { version = "0.3.3", optional = true }

# transport
wtransport = { version = "0.1.9", optional = true }

# serialization
bitcode = { version = "0.4.1", package = "bitcode_lightyear_patch", path = "../vendor/bitcode", features = [
  "serde",
] }
bytes = { version = "1.5", features = ["serde"] }
self_cell = "1.0"
serde = { version = "1.0.188", features = ["derive"] }

# netcode
chacha20poly1305 = { version = "0.10", features = ["std"] }
byteorder = "1.5.0"

# derive
lightyear_macros = { version = "0.7.0", path = "../macros" }

# tracing
tracing = "0.1.40"
tracing-log = "0.1.3"
tracing-subscriber = { version = "0.3.17", features = [
  "registry",
  "env-filter",
] }

# server
crossbeam-channel = { version = "0.5.8", features = [] }

# metrics
metrics = { version = "0.22", optional = true }
metrics-util = { version = "0.15", optional = true }
metrics-tracing-context = { version = "0.15", optional = true }
metrics-exporter-prometheus = { version = "0.13.0", optional = true, default-features = false, features = [
  "http-listener",
] }
tokio = { version = "1.34", features = [
  "rt",
  "rt-multi-thread",
  "net",
  "time",
], optional = true }

bevy = { version = "0.12", default-features = false }


[dev-dependencies]
derive_more = { version = "0.99", features = ["add", "mul"] }
mock_instant = { version = "0.3.1" }
tracing-subscriber = "0.3.17"
bitvec = "1.0"