From a09a5643586d8b6161a0eda08fac7976de285737 Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Wed, 18 Sep 2024 23:41:45 +0200 Subject: [PATCH] Log where Factorio credentials taken from Provide ease of diagnosing credential issues by accurately logging if the credentials were sourced from the instance config, the host config, the controller config, or if no credentials were found. --- packages/host/src/Instance.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/host/src/Instance.ts b/packages/host/src/Instance.ts index 9cbd3461..0df92ee0 100644 --- a/packages/host/src/Instance.ts +++ b/packages/host/src/Instance.ts @@ -589,16 +589,25 @@ rcon.print(game.table_to_json(players))`.replace(/\r?\n/g, " "); */ async resolveServerSettings(overrides: Record, includeCredentials: boolean) { let serverSettings = await this.server.exampleSettings(); - if (includeCredentials && !overrides.username && !overrides.token) { + if (includeCredentials && overrides.username === undefined && overrides.token === undefined) { let credentials = { username: this._host.config.get("host.factorio_username") ?? undefined, token: this._host.config.get("host.factorio_token") ?? undefined, }; if (!credentials.username && !credentials.token) { Object.assign(credentials, await this.sendTo("controller", new lib.GetFactorioCredentialsRequest())); + if (credentials.username || credentials.token) { + this.logger.info("Using Factorio credentials from controller config"); + } else { + this.logger.warn("No Factorio credentials found"); + } + } else { + this.logger.info("Using Factorio credentials from host config"); } if (credentials.username) { serverSettings.username = credentials.username; } if (credentials.token) { serverSettings.token = credentials.token; } + } else if (includeCredentials) { + this.logger.info("Using Factorio credentials from instance config"); } for (let [key, value] of Object.entries(overrides)) {