mod grpc; mod db; mod games; mod logger; mod server_properties; use log::info; #[tokio::main] async fn main() { server_properties::setup(); let p = server_properties::ServerProperties::load(); let (close, _stdin) = logger::setup(&p).unwrap(); info!(target: "setup", "Server name: `{}`", p.name); info!(target: "setup", "Serving on address `{}`", p.addr); // for i in 0..1000 { // std::thread::sleep(std::time::Duration::from_secs_f32(1.)); // info!("{}\nTEXTETX\nTEXT", i) // } // std::thread::sleep(std::time::Duration::from_secs_f32(200.)); info!(target: "setup", "Loading games from the games directory"); let games = games::load_games(); log::info!("{:?}", games); games[0].run(4); info!(target: "setup", "Loading database"); let pool = db::DbPool::new().await; info!(target: "setup", "Starting server"); grpc::start(pool, games, p).await; close.close(); }