mod config; mod commands; mod server; mod logging; use std::sync::Arc; use crate::config::ServerConfig; use log::error; #[tokio::main] async fn main() -> anyhow::Result<()> { let config = Arc::new(ServerConfig::load()?); logging::setup_logging(&config.log_path)?; server::print_startup_info(&config); if let Err(e) = server::start_server(config).await { error!("Server error: {}", e); return Err(e); } Ok(()) }