From cb42c3afd2373d87a70e18799547617f920e081b Mon Sep 17 00:00:00 2001 From: icedream Date: Fri, 16 Oct 2015 08:22:20 +0200 Subject: [PATCH] Check for access to TeamSpeak3 binary on startup. --- services/ts3client.iced | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/ts3client.iced b/services/ts3client.iced index 996e6d5..9f94a66 100644 --- a/services/ts3client.iced +++ b/services/ts3client.iced @@ -7,11 +7,17 @@ TS3Settings = require("../ts3settings") TS3ClientQuery = require("../ts3query") path = require "path" merge = require "merge" +fs = require "fs" spawn = require("child_process").spawn StreamSplitter = require("stream-splitter") require_bin = require("../require_bin") ts3client_binpath = require_bin path.join(config.get("ts3-install-path"), "ts3client_linux_" + (if process.arch == "x64" then "amd64" else process.arch)) +if not path.exists + await fs.access ts3client_binpath, fs.R_OK | fs.X_OK, defer err + if err + log.fatal "Can't access TeamSpeak3 client binary at #{ts3client_binpath}, does the binary exist and have you given correct access?" + throw new Error "Access to TeamSpeak3 binary failed." module.exports = class TS3ClientService extends services.Service dependencies: [