blob: 2e379fc6a222737643b75fb571fa1f9cf1750d49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
use gpn_tron2::{
config::Config,
game::{server::game_server, Game},
spectate::server::spectate_server,
State,
};
use std::sync::Arc;
use tokio::{spawn, sync::broadcast};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
env_logger::init_from_env("LOG");
let config = Config::load()?;
let state = Arc::new(State {
tick: broadcast::channel(16).0,
game: Game::new(vec![]).into(),
players: Default::default(),
chat: broadcast::channel(16).0,
});
spawn(spectate_server(config.spectate, state.clone()));
game_server(config.game, state.clone()).await?;
Ok(())
}
|