diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-11 15:27:49 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-11 15:27:49 +0200 |
commit | f61c3b437e5d6f3f32ec558576aa656aaa7dae5e (patch) | |
tree | 2f63feb303404e74ed72cc225c0ebcaf41722043 /server/src | |
parent | 17e7cb63bf70b35a58cf52ebea4bb543c450320f (diff) | |
download | hurrycurry-f61c3b437e5d6f3f32ec558576aa656aaa7dae5e.tar hurrycurry-f61c3b437e5d6f3f32ec558576aa656aaa7dae5e.tar.bz2 hurrycurry-f61c3b437e5d6f3f32ec558576aa656aaa7dae5e.tar.zst |
send protocol version
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/main.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/server/src/main.rs b/server/src/main.rs index f81ee38c..90d090d8 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -18,7 +18,7 @@ use anyhow::{anyhow, Result}; use clap::Parser; use futures_util::{SinkExt, StreamExt}; -use hurrycurry_protocol::{PacketC, PacketS, PlayerID}; +use hurrycurry_protocol::{PacketC, PacketS, PlayerID, VERSION}; use hurrycurry_server::{data::DATA_DIR, state::State}; use log::{debug, info, trace, warn, LevelFilter}; use std::{path::PathBuf, process::exit, str::FromStr, sync::Arc, time::Duration}; @@ -108,13 +108,22 @@ async fn run() -> anyhow::Result<()> { warn!("invalid ws handshake"); continue; }; + info!("{addr} connected via websocket"); + let (mut write, mut read) = sock.split(); let state = state.clone(); let mut rx = rx.resubscribe(); let (error_tx, mut error_rx) = channel::<PacketC>(8); - info!("{addr} connected via websocket"); + let mut init = state.write().await.game.prime_client(); - init.insert(0, PacketC::Init { id }); + init.insert( + 0, + PacketC::Version { + major: VERSION.0, + minor: VERSION.1, + }, + ); + init.insert(1, PacketC::Init { id }); spawn(async move { for p in init { if let Err(e) = write |