From 6ea9bc27a398f0db420126afe39f32bc687c495d Mon Sep 17 00:00:00 2001 From: Sofia Date: Sat, 15 Aug 2026 00:34:23 +0300 Subject: [PATCH] Fix dedicated server not going to lobby instantly --- rust/src/ui/game_finished_screen.rs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/rust/src/ui/game_finished_screen.rs b/rust/src/ui/game_finished_screen.rs index e2eb17f..87ab3b6 100644 --- a/rust/src/ui/game_finished_screen.rs +++ b/rust/src/ui/game_finished_screen.rs @@ -51,13 +51,19 @@ impl IPanel for GameFinishedScreen { .connect_other(self, Self::save_replay); } - if let Some(game) = &mut Game::singleton() - && let Some(recorder) = &mut game.bind_mut().replay_recorder - { - recorder - .signals() - .on_saved() - .connect_other(self, Self::on_replay_saved); + if let Some(game) = &mut Game::singleton() { + if let Some(recorder) = &mut game.bind_mut().replay_recorder { + recorder + .signals() + .on_saved() + .connect_other(self, Self::on_replay_saved); + } + if game.bind().is_host() && game.bind().self_id.is_none() { + game.bind_mut().reset_game(); + self.run_deferred(|_| { + GameManager::singleton().bind().go_to_lobby(); + }); + } } if let Some(focus) = &mut self.base_mut().find_next_valid_focus() {