use log::{info}; use elseware::entity::gateway::postgres::PostgresGateway; use elseware::ship::ship::ShipServerState; use elseware::ship::ship::ShipServerStateBuilder; use elseware::common::mainloop::ship_mainloop; fn main() { let db_host = std::env::var("DB_HOST").unwrap(); let db_username = std::env::var("DB_USERNAME").unwrap(); let db_password = std::env::var("DB_PASSWORD").unwrap(); let db_dbname = std::env::var("DB_DBNAME").unwrap(); let entity_gateway = PostgresGateway::new(&db_host, &db_dbname, &db_username, &db_password); let ship_name = std::env::var("SHIP_NAME").unwrap().parse().unwrap(); let ip = std::env::var("SELF_IP").unwrap().parse().unwrap(); let ship_state = ShipServerStateBuilder::new() .name(ship_name) .ip(ip) .port(elseware::ship::ship::SHIP_PORT) .gateway(entity_gateway) .build(); let shipgate_ip = std::env::var("SHIPGATE_IP").unwrap().parse().unwrap(); let ship_loop = ship_mainloop(ship_state, elseware::ship::ship::SHIP_PORT, shipgate_ip, elseware::login::login::COMMUNICATION_PORT); info!("[auth/character] starting server"); async_std::task::block_on(async move { ship_loop.await }); }