From 6ddb571e02dc04b1125669135eab5731523e8f73 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 23 Dec 2024 11:47:34 +0100 Subject: Fix bug where registry lobby would forget joined state every packet --- server/registry/src/lobby.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'server/registry/src') diff --git a/server/registry/src/lobby.rs b/server/registry/src/lobby.rs index 7f2387b8..f8f5f1f2 100644 --- a/server/registry/src/lobby.rs +++ b/server/registry/src/lobby.rs @@ -97,7 +97,12 @@ async fn handle_conn(sock: TcpStream, addr: SocketAddr, entries: &[Entry]) -> Re }); let (mut write, mut read) = sock.split(); - + + let mut joined = false; + let mut redirected = false; + let mut movement = MovementBase::new(Vec2::ZERO); + let mut last_movement = Instant::now(); + loop { for p in out.drain(..) { write @@ -122,10 +127,6 @@ async fn handle_conn(sock: TcpStream, addr: SocketAddr, entries: &[Entry]) -> Re _ => continue, }; - let mut joined = false; - let mut redirected = false; - let mut movement = MovementBase::new(Vec2::ZERO); - let mut last_movement = Instant::now(); match packet { PacketS::Join { character, name, .. @@ -174,6 +175,7 @@ async fn handle_conn(sock: TcpStream, addr: SocketAddr, entries: &[Entry]) -> Re out.push(PacketC::Redirect { uri: e.address.clone(), }); + break; } } } -- cgit v1.2.3-70-g09d2