diff --git a/server/src/client.rs b/server/src/client.rs index 6db1dc479a..64921b1402 100644 --- a/server/src/client.rs +++ b/server/src/client.rs @@ -140,6 +140,7 @@ impl Client { }*/ } + /// Like `send` but any errors are explicitly ignored. pub(crate) fn send_fallible>(&self, msg: M) { let _ = self.send(msg); } pub(crate) fn send_prepared(&self, msg: &PreparedMsg) -> Result<(), StreamError> { diff --git a/server/src/lib.rs b/server/src/lib.rs index bcc50f13e0..ecfd922977 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -1172,11 +1172,12 @@ impl Server { where S: Into, { - self.state + if let Some(client) = self.state .ecs() .read_storage::() - .get(entity) - .map(|c| c.send(msg)); + .get(entity) { + client.send_fallible(msg); + } } pub fn notify_players(&mut self, msg: ServerGeneral) { self.state.notify_players(msg); }