From 4cbc30f62798ac5d69d1fb3598e3ecd7dfb8b546 Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Thu, 5 Feb 2026 13:16:03 +0000 Subject: [PATCH] Fix tar expecting gz when xz was provided --- packages/host/src/server.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/host/src/server.ts b/packages/host/src/server.ts index 846dddfb..1c90a9c1 100644 --- a/packages/host/src/server.ts +++ b/packages/host/src/server.ts @@ -139,7 +139,7 @@ async function downloadAndExtractZip(url: string, targetDir: string) { * @param targetDir - Directory to extract the ZIP into * @throws Network error if status of request is not ok */ -async function downloadAndExtractTarGz(url: string, targetDir: string) { +async function downloadAndExtractTar(url: string, targetDir: string) { const res = await fetch(url); if (!res.ok) { throw new Error(`Failed to fetch ${url}: ${res.status} ${res.statusText}`); @@ -152,7 +152,7 @@ async function downloadAndExtractTarGz(url: string, targetDir: string) { // Execute tar CLI to extract try { - await execFileAsync("tar", ["-xzf", tmpFilePath, "-C", targetDir, "--strip-components", "1"]); + await execFileAsync("tar", ["-xf", tmpFilePath, "-C", targetDir, "--strip-components", "1"]); } catch (err: any) { if (err.code === "ENOENT") { throw new Error("error executing tar command, do you have 'xz-utils' installed?"); @@ -979,7 +979,7 @@ export class FactorioServer extends events.EventEmitter { if (process.platform === "linux") { this._logger.info(`A newer version of factorio is available (${v}), starting download...`); const dst = path.join(this._factorioDir, latestVersion.version); - await downloadAndExtractTarGz(latestVersion.headlessUrl, dst); + await downloadAndExtractTar(latestVersion.headlessUrl, dst); } else { this._logger.info(`A newer version of factorio is available (${v}) but must be manually downloaded`); }