First test kinda working

This commit is contained in:
Valère Plantevin
2026-05-12 11:21:40 -04:00
parent cac6c9ac02
commit d3f09ee062
36 changed files with 3903 additions and 102 deletions

View File

@@ -1,9 +1,10 @@
mod transport;
mod config;
use bevy::prelude::*;
use tracing_subscriber::EnvFilter;
use crate::config::AppConfig;
use substrate::config::AppConfig;
use substrate::observability::ObservabilityPlugin;
use substrate::transport;
use substrate::world::WorldPlugin;
fn main() {
tracing_subscriber::fmt()
@@ -12,12 +13,22 @@ fn main() {
)
.init();
// rustls 0.23 requires an explicit default crypto provider. Quinn's
// ServerConfig::with_single_cert otherwise panics at first use.
rustls::crypto::aws_lc_rs::default_provider()
.install_default()
.expect("install rustls default crypto provider");
let config = AppConfig::load("config.toml").expect("Failed to load config");
tracing::info!(?config, "substrate starting");
// Plugin order matters: EcsQuicTransportPlugin inserts the TokioHandle
// resource ObservabilityPlugin reads in its `build()`.
App::new()
.insert_resource(config)
.add_plugins(MinimalPlugins)
.add_plugins(transport::ecs::EcsQuicTransportPlugin {})
.add_plugins(transport::ecs::EcsQuicTransportPlugin)
.add_plugins(WorldPlugin)
.add_plugins(ObservabilityPlugin)
.run();
}