From daea53ca42f4400a6be1148e817188bc07e980fd Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Fri, 2 Aug 2024 12:05:23 -0600 Subject: [PATCH] misc.mcserver: more more error handling --- src/modules/misc/mcserver.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/modules/misc/mcserver.js b/src/modules/misc/mcserver.js index bea08f1..edba8d2 100644 --- a/src/modules/misc/mcserver.js +++ b/src/modules/misc/mcserver.js @@ -135,10 +135,18 @@ function queryServer(ip, port, HANDSHAKE_PACKET) { } const dataAsString = totalData.toString().trim(); logger.verbose("mcserver", "data as string", dataAsString); - const json = JSON.parse(dataAsString.slice(dataAsString.indexOf("{"), dataAsString.lastIndexOf("}") + 1)); - logger.verbose("mcserver", "close", json); - clearTimeout(timeout); - return resolve(json); + if (dataAsString.length > 0) { + try { + const json = JSON.parse(dataAsString.slice(dataAsString.indexOf("{"), dataAsString.lastIndexOf("}") + 1)); + logger.verbose("mcserver", "close", json); + clearTimeout(timeout); + return resolve(json); + } catch (err) { + return resolve({error: err}); + } + } else { + return resolve({error: new Error("Server returned no data.")}); + } }); client.on("timeout", function () {}); } catch (err) {