29 lines
783 B
Rust
29 lines
783 B
Rust
mod config;
|
|
mod game;
|
|
|
|
use crate::config::Settings;
|
|
use game::world::GameWorld;
|
|
use std::net::TcpListener;
|
|
use std::thread::spawn;
|
|
use tungstenite::server::accept;
|
|
|
|
fn main() {
|
|
let settings = Settings::new().unwrap();
|
|
let world = GameWorld::new();
|
|
let mut dispatcher = world.dispatcher();
|
|
dispatcher.dispatch();
|
|
let server = TcpListener::bind(settings.bind).unwrap();
|
|
for stream in server.incoming() {
|
|
spawn(move || {
|
|
let mut websocket = accept(stream.unwrap()).unwrap();
|
|
loop {
|
|
let msg = websocket.read_message().unwrap();
|
|
if msg.is_binary() || msg.is_text() {
|
|
websocket.write_message(msg).unwrap();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
dispatcher.wait()
|
|
}
|