summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/server.rs10
-rw-r--r--server/src/state.rs1
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() {