diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/src/server.rs | 10 | ||||
-rw-r--r-- | server/src/state.rs | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/server/src/server.rs b/server/src/server.rs index 90a30891..bee94b0e 100644 --- a/server/src/server.rs +++ b/server/src/server.rs @@ -650,6 +650,16 @@ impl Server { }; self.packet_out .push_back(PacketC::Menu(Menu::Score(self.game.score.clone()))); + self.scoreboard.insert( + &self.game.data.current_map, + self.game + .players + .values() + .filter(|m| m.character >= 0) + .map(|m| m.name.clone()) + .collect(), + self.game.score.clone(), + ); Some(("lobby".to_string(), None)) } else { None diff --git a/server/src/state.rs b/server/src/state.rs index ad22cad2..5e0302b2 100644 --- a/server/src/state.rs +++ b/server/src/state.rs @@ -24,6 +24,7 @@ impl Server { pub async fn tick_outer(&mut self, dt: f32) -> anyhow::Result<()> { let r = self.tick(dt); if let Some((name, timer)) = r { + self.scoreboard.save().await?; self.load(self.index.generate(&name).await?, timer); } while let Some(p) = self.packet_out.pop_front() { |