19 lines
716 B
Rust
19 lines
716 B
Rust
use std::sync::Arc;
|
|
use game_service::{GameConfig, GameService};
|
|
use service_rpc::serve;
|
|
use tokio::net::TcpListener;
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
tracing_subscriber::fmt()
|
|
.with_env_filter(
|
|
tracing_subscriber::EnvFilter::try_from_default_env()
|
|
.unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")),
|
|
)
|
|
.init();
|
|
let config = GameConfig::from_env();
|
|
let listener = TcpListener::bind(&config.listen).await?;
|
|
tracing::info!(listen = %config.listen, "game service listening");
|
|
let service = GameService::bootstrap(config).await?;
|
|
serve(listener, Arc::clone(&service)).await?;
|
|
Ok(())
|
|
}
|