[package]
name = "veloren-server"
version = "0.15.0"
authors = ["Joshua Barretto <joshua.s.barretto@gmail.com>"]
edition = "2021"

[features]
worldgen = []
simd = ["vek/platform_intrinsics"]
plugins = ["common-state/plugins"]
persistent_world = []
hot-reloading = ["common/hot-reloading"]
hot-agent = ["server-agent/use-dyn-lib"]
hot-site = ["world/use-dyn-lib"]

default = ["worldgen", "plugins", "persistent_world", "simd"]

[dependencies]
common = { package = "veloren-common", path = "../common" }
common-base = { package = "veloren-common-base", path = "../common/base" }
common-ecs = { package = "veloren-common-ecs", path = "../common/ecs" }
common-state = { package = "veloren-common-state", path = "../common/state" }
common-systems = { package = "veloren-common-systems", path = "../common/systems" }
common-net = { package = "veloren-common-net", path = "../common/net" }
world = { package = "veloren-world", path = "../world" }
rtsim = { package = "veloren-rtsim", path = "../rtsim" }
network = { package = "veloren-network", path = "../network", features = ["metrics", "compression", "quic"], default-features = false }

server-agent = {package = "veloren-server-agent", path = "agent"}

#inline_tweak = "1.0.8"

specs = { workspace = true, features = ["shred-derive"] }

strum = { workspace = true }
bincode = { workspace = true }
num_cpus = "1.0"
tracing = { workspace = true }
vek = { workspace = true }
futures-util = { workspace = true }
tokio = { workspace = true }
quinn = "0.10"
rustls = { version = "0.21", default-features = false }
rustls-pemfile = { version = "1", default-features = false }
atomicwrites = "0.4"
chrono = { workspace = true }
chrono-tz = { workspace = true }
drop_guard = { version = "0.3.0" }
humantime = "2.1.0"
itertools = { workspace = true }
lazy_static = { workspace = true }
ron = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
rand = { workspace = true, features = ["small_rng"] }
hashbrown = { workspace = true }
parking_lot = { version = "0.12" }
rayon = { workspace = true }
crossbeam-channel = { workspace = true }
prometheus = { workspace = true }
portpicker = { git = "https://github.com/xMAC94x/portpicker-rs", rev = "df6b37872f3586ac3b21d08b56c8ec7cd92fb172" }
authc = { git = "https://gitlab.com/veloren/auth.git", rev = "abb1a705827984e11706d7bb97fb7a459e1e6533" } # xMAC94x/current_master_till_refactored branch
enum-map = { workspace = true }
noise = { version = "0.7", default-features = false }
censor = "0.3"

rusqlite = { version = "0.28.0", features = ["array", "vtab", "bundled", "trace"] }
refinery = { version = "0.8.8", features = ["rusqlite"] }

# Plugins
plugin-api = { package = "veloren-plugin-api", path = "../plugin/api"}
schnellru = "0.2.1"
