diff options
author | metamuffin <metamuffin@disroot.org> | 2024-12-23 11:47:34 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-12-23 11:47:34 +0100 |
commit | 6ddb571e02dc04b1125669135eab5731523e8f73 (patch) | |
tree | 33374f4f6a97455127e632ff44958414538b8202 /server | |
parent | cc175b0f605c55c1d98f0889d099433c36141e9b (diff) | |
download | hurrycurry-6ddb571e02dc04b1125669135eab5731523e8f73.tar hurrycurry-6ddb571e02dc04b1125669135eab5731523e8f73.tar.bz2 hurrycurry-6ddb571e02dc04b1125669135eab5731523e8f73.tar.zst |
Fix bug where registry lobby would forget joined state every packet
Diffstat (limited to 'server')
-rw-r--r-- | server/registry/src/lobby.rs | 12 |
1 files changed, 7 insertions, 5 deletions
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; } } } |