feat: call start_watcher when connecting to an already running instance

(used to be only when starting the server)
This commit is contained in:
Tamipes 2026-01-29 10:22:58 +01:00
parent c70527ded5
commit bebca902df
2 changed files with 7 additions and 0 deletions

View file

@ -240,6 +240,9 @@ async fn handle_login<T: MinecraftServerHandle>(
tracing::debug!(msg = "server status", status = ?status);
match status {
ServerDeploymentStatus::Connectable(mut server_stream) => {
api.start_watch(server.clone(), Duration::from_secs(600))
.await?;
// referenced from:
// https://github.com/hanyu-dev/tokio-splice2/blob/fc47199fffde8946b0acf867d1fa0b2222267a34/examples/proxy.rs
let io_sl2sr = tokio_splice2::context::SpliceIoCtx::prepare()

View file

@ -123,6 +123,10 @@ pub trait MinecraftServerHandle: Clone {
pub trait MinecraftAPI<T> {
async fn query_server(&self, addr: &str, port: &str) -> Result<T, OpaqueError>;
// TODO: move the implementation to here, but
/// This should be callable even if there is already a watcher,
/// and it should handle the collision itself while returning OK().
async fn start_watch(
self,
server: impl MinecraftServerHandle,