From d55a419ed26db4213b18424fbaae7fff182eb2ae Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 23 Jun 2024 15:14:42 +0200 Subject: report errors to client --- server/src/game.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'server/src/game.rs') diff --git a/server/src/game.rs b/server/src/game.rs index b38d3ace..c240ea13 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -6,7 +6,7 @@ use crate::{ }; use anyhow::{anyhow, bail, Result}; use glam::{IVec2, Vec2}; -use log::{info, warn}; +use log::info; use std::{ collections::{HashMap, VecDeque}, ops::Deref, @@ -187,21 +187,22 @@ impl Game { .interacting .map(|p| (p.as_vec2() + Vec2::splat(0.5)).distance(player.position)) .unwrap_or_default(); - if speed < PLAYER_SPEED_LIMIT && dist < 1. && interact_dist < 2. { + let movement_ok = speed < PLAYER_SPEED_LIMIT && dist < 1. && interact_dist < 2.; + if movement_ok { player.position = pos; player.last_position_ts = Instant::now(); - } else { - warn!( - "{:?} moved to quickly. speed={speed:.02} dist={dist:.02}", - player.name - ) } - self.packet_out.push_back(PacketC::Position { player: pid, pos: player.position, rot, }); + if !movement_ok { + bail!( + "{:?} moved to quickly. speed={speed:.02} dist={dist:.02}", + player.name + ) + } } PacketS::Collide { player, force } => { self.packet_out -- cgit v1.2.3-70-g09d2