[package]
edition = "2024"
name = "aetheris-server"
version = "0.5.1"
authors = ["garnizeH Labs"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Authoritative heart and tick scheduler for the Aetheris multiplayer platform"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/garnizeh-labs/aetheris-engine"
resolver = "2"
[package.metadata.cargo-udeps.ignore]
normal = [
"aetheris-transport-renet",
"metrics-exporter-prometheus",
"opentelemetry",
"opentelemetry-otlp",
"opentelemetry_sdk",
"tikv-jemallocator",
"tikv-jemalloc-ctl",
"tracing-opentelemetry",
]
[features]
default = ["phase1"]
phase1 = [
"dep:aetheris-transport-renet",
"dep:aetheris-transport-webtransport",
"dep:aetheris-ecs-bevy",
"dep:aetheris-encoder-serde",
]
phase3 = [
"dep:aetheris-transport-quinn",
"dep:aetheris-ecs-custom",
"dep:aetheris-encoder-bitpack",
]
[lib]
name = "aetheris_server"
path = "src/lib.rs"
[[bin]]
name = "aetheris-server"
path = "src/main.rs"
[[test]]
name = "security_integration"
path = "tests/security_integration.rs"
[[test]]
name = "server_integration"
path = "tests/server_integration.rs"
[dependencies.aetheris-ecs-custom]
version = "0.5.1"
optional = true
[dependencies.aetheris-encoder-bitpack]
version = "0.2.8"
optional = true
[dependencies.aetheris-encoder-serde]
version = "0.2.8"
optional = true
[dependencies.aetheris-protocol]
version = "0.2.8"
features = ["grpc"]
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.8.9"
features = ["tokio"]
[dependencies.base64]
version = "0.22.1"
[dependencies.blake2]
version = "0.10"
[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
[dependencies.dashmap]
version = "6.1.0"
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.lettre]
version = "0.11"
features = [
"tokio1-rustls-tls",
"smtp-transport",
"builder",
]
default-features = false
[dependencies.openidconnect]
version = "4.0"
[dependencies.rand]
version = "0.10.1"
[dependencies.reqwest]
version = "0.13.2"
features = [
"json",
"rustls",
]
default-features = false
[dependencies.rustls]
version = "0.23.38"
features = ["ring"]
[dependencies.rusty_paseto]
version = "0.9.0"
features = ["v4_local"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.138"
[dependencies.sha2]
version = "0.11.0"
[dependencies.subtle]
version = "2.5"
[dependencies.tonic]
version = "0.14.3"
features = [
"codegen",
"transport",
"tls-ring",
"tls-webpki-roots",
"router",
]
default-features = false
[dependencies.tonic-web]
version = "0.14"
[dependencies.tower-http]
version = "0.6.8"
features = ["cors"]
[dependencies.tracing]
version = "0.1.44"
[dependencies.ulid]
version = "1.2.1"
features = ["std"]
default-features = false
[dev-dependencies.aetheris-protocol]
version = "0.2.8"
features = ["test-utils"]
[dev-dependencies.rand]
version = "0.10.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aetheris-ecs-bevy]
version = "0.5.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aetheris-transport-quinn]
version = "0.5.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aetheris-transport-renet]
version = "0.5.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aetheris-transport-webtransport]
version = "0.5.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.bevy_ecs]
version = "0.18.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.metrics]
version = "0.24.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.metrics-exporter-prometheus]
version = "0.18.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry]
version = "0.31.0"
features = ["trace"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry-otlp]
version = "0.31.1"
features = [
"grpc-tonic",
"trace",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.opentelemetry_sdk]
version = "0.31.0"
features = [
"rt-tokio",
"trace",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tikv-jemalloc-ctl]
version = "0.6.1"
features = ["stats"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tikv-jemallocator]
version = "0.6.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.51.1"
features = [
"full",
"full",
"test-util",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-stream]
version = "0.1.18"
features = ["net"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-opentelemetry]
version = "0.32.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"env-filter",
"json",
"fmt",
]