diff --git a/advancementAPI.ts b/advancementAPI.ts index f42b4a2..586ae15 100644 --- a/advancementAPI.ts +++ b/advancementAPI.ts @@ -16,6 +16,7 @@ const client = new Rcon( config.rcon.port, config.rcon.password ); +let rconReconnectTimeout: Timer | null | undefined; client.on("connect", () => { console.log("RCON connected."); @@ -25,7 +26,15 @@ client.on("auth", () => { console.log("RCON authenicated."); authenicated = true; }); - +client.on("end", () => { + console.log("RCON ended. Reconnecting in 1000ms.") + if(rconReconnectTimeout) { + clearTimeout(rconReconnectTimeout); + } + rconReconnectTimeout = setTimeout(() => { + client.connect() + }, 1000) +}) client.on("response", (a: string) => { if (playerRegex.test(a)) { const whitelistedPlayers = a.replace(playerRegex, "").split(", ");