diff options
Diffstat (limited to 'src/gameserver.rs')
| -rw-r--r-- | src/gameserver.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gameserver.rs b/src/gameserver.rs index 5c20b13..7910d99 100644 --- a/src/gameserver.rs +++ b/src/gameserver.rs @@ -4,6 +4,7 @@ use std::collections::HashMap; use std::io; use serde_json::{Value, json}; +use serde::{Deserialize}; use unicode_categories::UnicodeCategories; use crate::{ @@ -180,7 +181,7 @@ impl GameServer { } Message::Input(inp) => { let player = self.players.get(&id).ok_or(merr!(action, "Set a name before you send any other messages"))?; - let control = Control::from_json(&inp).ok_or(merr!(action, &format!("unknown action: {}", inp)))?; + let control = Control::deserialize(&inp).map_err(|err| merr!(action, &format!("unknown action {} {}", inp, err)))?; Ok(Some(Action::Input(player.clone(), control))) } } |
