Files
ojrc/rc_multiplayer/src/main.rs
T

33 lines
1.1 KiB
Rust
Raw Normal View History

2025-07-01 20:04:11 -04:00
mod cli;
mod handler;
mod traits;
pub use traits::{EventCodeHandler, UserData, PacketData};
mod data;
pub struct InitConfig {
pub config: oj_rc_core::persist::config::ConfigImpl,
pub users: std::sync::Arc<oj_rc_core::persist::user::UserImpl>,
pub parsers: oj_rc_core::cubes::CubeParsers,
}
#[tokio::main]
async fn main() -> std::io::Result<()> {
env_logger::init();
let args = cli::CliArgs::get();
log::debug!("Got cli args {:?}", args);
let config = oj_rc_core::persist::config::ConfigImpl::load(&args.assets).expect("Bad config data");
let users = std::sync::Arc::new(oj_rc_core::persist::user::UserImpl::load(&args.data, &config).await.expect("Bad user data"));
let parsers = oj_rc_core::cubes::CubeParsers::new(&config);
let init_ctx = InitConfig {
config,
users,
parsers,
};
let mtu = oj_rc_core::ConfigProvider::<()>::network_config(&init_ctx.config).max_packet_size;
2025-07-01 20:04:11 -04:00
let event_handler = handler::LnlEventHandler::new(&init_ctx).await;
let server = literustlib_server::Server::new(event_handler, (args.ip, args.port), mtu).await.expect("Bad server");
2025-07-01 20:04:11 -04:00
server.listen().await
}