diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-01 21:55:16 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-01 21:55:16 +0100 |
| commit | 74ffa47147d2bb989057b4513075975c44c2bc42 (patch) | |
| tree | 0a2242b25fefcf62f94ac6b712c9e937e3b8e35c /server/registry/src/lobby.rs | |
| parent | d6acbd76a81bb97c1ff74a66a2af9b00713ca6d0 (diff) | |
| download | hurrycurry-74ffa47147d2bb989057b4513075975c44c2bc42.tar hurrycurry-74ffa47147d2bb989057b4513075975c44c2bc42.tar.bz2 hurrycurry-74ffa47147d2bb989057b4513075975c44c2bc42.tar.zst | |
add serverdata packet with data fields that dont change across games; add motd and server name
Diffstat (limited to 'server/registry/src/lobby.rs')
| -rw-r--r-- | server/registry/src/lobby.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/server/registry/src/lobby.rs b/server/registry/src/lobby.rs index acbb69bd..eb6ae1f0 100644 --- a/server/registry/src/lobby.rs +++ b/server/registry/src/lobby.rs @@ -1,7 +1,7 @@ use crate::Registry; use anyhow::Result; use hurrycurry_protocol::{ - Gamedata, PacketC, PacketS, PlayerClass, PlayerID, TileIndex, VERSION, + Gamedata, PacketC, PacketS, PlayerClass, PlayerID, Serverdata, TileIndex, VERSION, glam::{IVec2, Vec2, ivec2, vec2}, movement::MovementBase, registry::Entry, @@ -23,7 +23,9 @@ use tokio::{ use tokio_tungstenite::tungstenite::Message; pub(crate) async fn lobby_wrapper(registry: Arc<RwLock<Registry>>, saddr: SocketAddr) { - let Err(e) = lobby(registry, saddr).await else { unreachable!() }; + let Err(e) = lobby(registry, saddr).await else { + unreachable!() + }; error!("lobby crashed: {e}"); } @@ -73,7 +75,15 @@ async fn handle_conn(sock: TcpStream, addr: SocketAddr, entries: &[Entry]) -> Re minor: VERSION.1, supports_bincode: false, }); - out.push(PacketC::Data { + out.push(PacketC::ServerData { + data: Box::new(Serverdata { + bot_algos: vec![], + maps: vec![], + motd: None, + name: "Registry".to_string(), + }), + }); + out.push(PacketC::GameData { data: Box::new(Gamedata { tile_collide: (0..TILES.len()).map(TileIndex).collect(), tile_placeable_items: BTreeMap::new(), |