summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-04-08 15:43:57 +0200
committertroido <troido@protonmail.com>2020-04-08 15:43:57 +0200
commitd0d71818c70586d7e2fb806ced57f039bd1d12f6 (patch)
treed2ec5f8f64476daa4e004b17e577694087ac8a32 /src/main.rs
parent7a4a62eb2804b6b19b4e71eee42d6b3d7ad08a3a (diff)
reject player if the savefile player id does not match actual player id
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index b4e8d82..3f2cc90 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -124,13 +124,22 @@ fn main(){
for action in actions {
match action {
Action::Input(player, control) => {
- let _ = world.control_player(player, control);
+ if let Err(err) = world.control_player(player.clone(), control){
+ println!("error controlling player {:?}: {:?}", player, err);
+ }
}
Action::Join(player) => {
- world.add_player(&player).expect("can not add player");
+ if let Err(err) = world.add_player(&player) {
+ println!("Error: can not add player {:?}: {:?}", player, err);
+ if let Err(senderr) = gameserver.send_player_error(&player, "worlderror", "invalid room or savefile") {
+ println!("Error: can not send error message to {:?}: {:?}", player, senderr);
+ }
+ }
}
Action::Leave(player) => {
- world.remove_player(&player).expect("can not remove player");
+ if let Err(err) = world.remove_player(&player) {
+ println!("Error: can not remove player {:?}: {:?}", player, err);
+ }
message_cache.remove(&player);
}
}
@@ -147,7 +156,9 @@ fn main(){
continue;
}
// println!("m {}", message.to_json());
- let _ = gameserver.send(&player, message.to_json());
+ if let Err(err) = gameserver.send(&player, message.to_json()) {
+ println!("Error: failed to send to {:?}: {:?}", player, err);
+ }
}
count += 1;