From 1e8ed08ca29d7248d2ecbff1d747f18137e41ddc Mon Sep 17 00:00:00 2001 From: Lazzexus Date: Mon, 12 Oct 2026 16:12:39 +0200 Subject: [PATCH] Fix invalid mod-setting prototype name (colon not allowed) Caught by actually running the mod on a real Factorio 2.0.77 server: Error while loading mod-setting prototype "kafkatorio:cache-expiration-seconds_kafkatorio-packet-keyed-PlayerUpdate" (double-setting): Invalid prototype name. Only characters A-Z a-z 0-9 _- are allowed. cacheDurationSettingName() built names with a ":" separator ("kafkatorio:cache-expiration-seconds_..."), which Factorio 2.0 rejects outright. Replaced it with "-", matching the mod-name-prefix convention the engine's own docs recommend. This is a pure runtime validation issue invisible to the TypeScript compiler - exactly the kind of thing only actually loading the mod in-game catches. Co-Authored-By: Claude Sonnet 5 --- .../src/main/typescript/main/settings/KafkatorioSettings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/events-mod/src/main/typescript/main/settings/KafkatorioSettings.ts b/modules/events-mod/src/main/typescript/main/settings/KafkatorioSettings.ts index 9a5baa4..774899a 100644 --- a/modules/events-mod/src/main/typescript/main/settings/KafkatorioSettings.ts +++ b/modules/events-mod/src/main/typescript/main/settings/KafkatorioSettings.ts @@ -48,7 +48,7 @@ export class KafkatorioSettingsConfig { private static cacheDurationSettingName(type: KafkatorioKeyedPacketTypes): string { - return `kafkatorio:cache-expiration-seconds_${type.replaceAll(".", "-")}` + return `kafkatorio-cache-expiration-seconds_${type.replaceAll(".", "-")}` } }