Skip to content

Releases: dowlle/timberborn-modding

v0.1.0 - Timberborn 1.1 test build

Pre-release

Choose a tag to compare

@dowlle dowlle released this 11 Oct 14:19
fef3081

Timberborn Archipelago 0.1.0 is a test build for Timberborn 1.1. It needs 1.1 and won't load on 1.0. The full notes and a setup guide are on AP-Pie: release notes, setup guide.

What's in it:

  • Ten new 1.1 buildings. Renamed buildings keep their items, and item and location IDs didn't change.
  • You start with the Forester, Stairs and Platform.
  • New options for resource milestones, resource packages, where goods are delivered, and trap percentage and weights. logic_difficulty and drought_difficulty are gone, but old YAMLs still generate.
  • Logic now expects drought and badtide defences before long goals.
  • Fixed: the Hungry and Thirsty traps, droughts and badtides counting when they end, old traps firing on a new colony, the Water Storage goal and the Sluice.

Please generate a new seed and start a new colony. I haven't tested 0.0.x seeds or saves with this build.

Needs testing

  • Iron Teeth: the renamed buildings and the new ones. A goods delivery worked.
  • Logic timing. If a check shows up too early or too late, tell me which check, which faction and what you had built.

Known problems

  • Traps can land after you've reached your goal.
  • Big resource milestones, like 1000 Logs, can be in logic too early.
  • Resource packages count toward resource milestones.
  • #14: boosts don't apply to newborn beavers.
  • #23: a websocket warning on every connect.

Install

  1. Extract Archipelago.zip into Documents/Timberborn/Mods/, replacing any older version.
  2. The person generating the seed puts timberborn.apworld in their Archipelago custom_worlds folder (Archipelago 0.6.7 or newer).
  3. Timberborn.yaml is the options template.

Checksums

Asset SHA-256
Archipelago.zip 30090ad88700b1530c8063ea6a1a5f9814bfa7aa683a00c30e8e4314f4d0b2a4
timberborn.apworld 98170cc1d559640a9ef5c1059f0c07e462b724f4c4833fa85378b10733688165
Timberborn.yaml 05f9781eda639bd45cf57dfd9d194c03478fa11bf64b1228f8824c148378d657

Found something? Open an issue with your faction, your YAML or seed, what happened, and your Player.log if you can.

This project is developed with AI assistance; the details are in the README.

v0.0.5.2 - Mod hotfix

v0.0.5.2 - Mod hotfix Pre-release
Pre-release

Choose a tag to compare

@dowlle dowlle released this 18 May 11:45

Pre-Alpha Playtest - Mod Hotfix

Pre-alpha. Mod-only hotfix on top of v0.0.5. The APWorld and YAML template are byte-identical to v0.0.5 - keep using the ones from the v0.0.5 release on the server side. Provided as-is, no warranty.

v0.0.5.2 fixes an unwinnable Wonder goal on all existing seeds. If you are playing with Wonder as your goal (or have the Wonder milestone enabled), update to this version.

What was broken

The Wonder goal requires building the faction wonder:

  • Folktails: Earth Recultivator (20000 science)
  • Iron Teeth: Earth Repopulator (20000 science)

The mod's vanilla-science-blocker (VanillaUnlockBlocker) sets every AP-managed building's science cost to int.MaxValue at load time so buildings can only be unlocked by receiving them as AP items. Both wonder buildings were listed in the AP building dictionary (needed so the client recognises them) but were intentionally excluded from the AP item pool (no Blueprint: Earth Repopulator or Blueprint: Earth Recultivator item exists). This left both wonders locked at int.MaxValue science cost with no AP item to unlock them - the Wonder goal was permanently impossible.

The fix (workaround, not the final fix)

VanillaUnlockBlocker now skips EarthRecultivator.Folktails and EarthRepopulator.IronTeeth in its blocker loop. Both wonder buildings retain their vanilla science cost (20000 SC) and unlock through normal in-game science progression once you have enough science points. No AP item is needed - spend 20000 science and the build button appears.

This is compatible with all existing v0.0.5 / v0.0.5.1 seeds. The APWorld is unchanged.

This is a workaround, not the AP-correct fix. The proper fix is to add Blueprint: Earth Recultivator and Blueprint: Earth Repopulator as receivable items in the multiworld so the wonder is shuffled like every other blueprint, instead of always-available once you grind 20000 science. That requires APWorld changes and would break compatibility with v0.0.5 seeds, so it's deferred to v0.0.6. For now: Wonder goal is completable on existing seeds; in v0.0.6 the wonder will be a proper AP item check.

Everything shipped in v0.0.5.1 and v0.0.5 is also in v0.0.5.2

For the v0.0.5.1 save-corruption fixes see the v0.0.5.1 release notes. For the v0.0.5 hazardous weather redesign and the full feature list, see the v0.0.5 release notes.

Known issues (unchanged from v0.0.5.1)

  • Hungry / Thirsty Beavers traps silent no-op. NeedManager reflection paths don't resolve against the current Timberborn.NeedSystem.dll. The trap-fire summary log line still appears even when the effect can't be applied.
  • T3 progression items can land at T1 shop slots. Fill algorithm places items based on slot access rules but doesn't tier-gate by item requirements.
  • Boosts apply to bots in addition to beavers. BonusManager attaches to both.
  • "Unknown location: Victory: Population" warning on goal completion. Cosmetic, goal still fires correctly.
  • Water Storage goal silent-fail on both factions (broken GoodId reflection path; deferred to v0.0.6+).
  • Bots goal unwinnable on Folktails (no faction-gating in _resolve_goals; deferred to v0.0.6+).
  • Hotkeys fire while typing in Archipelago text fields. Typing "P" pauses the game, etc. Workaround: open the AP panel from the main menu (no game running).

Installation

  1. Extract Archipelago.zip from this release into your Timberborn mods folder (Documents/Timberborn/Mods/), overwriting your existing install.
  2. Server side: no changes. Keep your existing timberborn.apworld and Timberborn.yaml from v0.0.5. Both are unchanged in this hotfix.
  3. Requires Archipelago 0.6.7.

Changelog since v0.0.5.1

Mod:

  • Fix wonder buildings (Earth Recultivator / Earth Repopulator) blocked by VanillaUnlockBlocker - both now unlock through vanilla science progression (20000 SC)
  • Bump manifest to v0.0.5.2

APWorld: no changes (byte-identical to v0.0.5 on the server side).

v0.0.5.1 - Mod hotfix

v0.0.5.1 - Mod hotfix Pre-release
Pre-release

Choose a tag to compare

@dowlle dowlle released this 01 May 14:34

Pre-Alpha Playtest - Mod Hotfix

Pre-alpha. Mod-only hotfix on top of v0.0.5. The APWorld and YAML template are byte-identical to v0.0.5 - keep using the ones from the v0.0.5 release on the server side. Provided as-is, no warranty.

v0.0.5.1 fixes three client-side bugs that surfaced in 2026-05-01 multi-slot testing where items received during disconnect windows or while playing across multiple Timberborn save slots in the same session were silently dropped. If you have ever run more than one Timberborn AP slot from the same Timberborn process, or saved while not currently connected to AP, your save is most likely affected. The mod auto-heals affected saves on load - no manual intervention required.

What gets auto-healed on load

When you load an existing save with this version, the mod looks for two corruption patterns and fixes them:

  1. ProcessedItemIndex orphan: a non-zero ProcessedItemIndex paired with an empty ReceivedItems set. Impossible from real play, since every applied item adds to ReceivedItems before any branching. The mod logs [Archipelago] Detected orphaned ProcessedItemIndex=N with no applied items in save and resets the index to 0 so the AP server's full item history replays correctly into the empty save.
  2. Slot identity missing: a save that has Host=archipelago.gg but Slot=null (saved while disconnected, before the v0.0.5.1 fix). The mod logs [Archipelago] This save has Host but no Slot and leaves the connect panel's slot field blank for you to type the correct slot name. After the next successful connect, the save rebinds and persists correctly forever after.

What was actually broken

  1. ArchipelagoSaveData was the only AP class without IUnloadableSingleton. The static ArchipelagoManager.ProcessedItemIndex leaked across save loads, so loading a save with no AP data inherited the previous slot's watermark. Items in the new slot at indices below that value were silently skipped because OnNetworkItemReceived's dedupe filter dropped them. Fixed by giving ArchipelagoSaveData a proper Unload() that disconnects and resets static state.

  2. Watermark advanced on enqueue, not on apply. When a faction-mismatch Disconnect ran before DrainItemQueue, ProcessedItemIndex advanced for items that had been queued but never reached HandleItem. The save persisted ProcessedItemIndex=N with ReceivedItems empty and dropped all future items at indices below N. Fixed by moving the index advance to inside DrainItemQueue after OnItemReceived?.Invoke succeeds, wrapped in try/catch so handler exceptions retry on next reconnect.

  3. Save() wrote connection identity from live ArchipelagoManager.Current* statics. Disconnect clears CurrentSlot but leaves CurrentHost set, so any save while disconnected (network blip, focus loss, faction-mismatch reject window, autosave during a brief disconnect) wrote Host=archipelago.gg + Slot=null and destroyed the save's slot binding. The connect panel then pre-filled from PlayerPrefs.AP_Slot (a per-process global), which surfaced the wrong slot from a previous manual connect. Fixed by binding the save's slot identity to instance fields on first successful connect, persisting from those instance fields, and having the connect panel prefer the save's bound slot over PlayerPrefs.

DisconnectWithReason also now drains _pendingItems / _pendingMessages / _pendingLocationChecks and resets ReplayBoundary, so a Disconnect-Reconnect cycle does not replay items from the dying session.

Everything shipped in v0.0.5 is also in v0.0.5.1

For the v0.0.5 hazardous weather redesign and the full feature list, see the v0.0.5 release notes. For v0.0.4 and v0.0.3 history, follow the chain of release notes from there.

Known issues (unchanged from v0.0.5)

  • Hungry / Thirsty Beavers traps silent no-op. NeedManager reflection paths don't resolve against the current Timberborn.NeedSystem.dll. The trap-fire summary log line still appears even when the effect can't be applied.
  • T3 progression items can land at T1 shop slots. Fill algorithm places items based on slot access rules but doesn't tier-gate by item requirements.
  • Boosts apply to bots in addition to beavers. BonusManager attaches to both.
  • "Unknown location: Victory: Population" warning on goal completion. Cosmetic, goal still fires correctly.
  • Water Storage goal silent-fail on both factions (broken GoodId reflection path; deferred to v0.0.6+).
  • Bots goal unwinnable on Folktails (no faction-gating in _resolve_goals; deferred to v0.0.6+).
  • Hotkeys fire while typing in Archipelago text fields. Typing "P" pauses the game, etc. Workaround: open the AP panel from the main menu (no game running).

Installation

  1. Extract Archipelago.zip from this release into your Timberborn mods folder (Documents/Timberborn/Mods/), overwriting the v0.0.5 install.
  2. Server side: no changes. Keep your existing timberborn.apworld (in your Archipelago custom_worlds/ folder) and your existing Timberborn.yaml. Both are at v0.0.5 and are unchanged in this hotfix - download them from the v0.0.5 release if you don't have them yet.
  3. Requires Archipelago 0.6.7 (same as v0.0.5).

Changelog since v0.0.5

Mod:

  • Fix ProcessedItemIndex carryover across save loads (ArchipelagoSaveData.IUnloadableSingleton + Load() reset on no-AP-data + orphan auto-heal)
  • Fix watermark race in OnNetworkItemReceived / DrainItemQueue (advance only after successful apply, with try/catch retry)
  • Fix Save() writing Slot=null when called while disconnected (instance-field slot identity, bound on first connect, never cleared)
  • Fix connect panel pre-filling wrong slot from PlayerPrefs after switching saves (prefer save's bound slot, fall back to PlayerPrefs only when the save has no binding)
  • Drain _pendingItems / _pendingMessages / _pendingLocationChecks and reset ReplayBoundary in DisconnectWithReason
  • Bump manifest to v0.0.5.1

APWorld: no changes (byte-identical to v0.0.5 on the server side).

v0.0.5 - Pre-Alpha Playtest

Pre-release

Choose a tag to compare

@dowlle dowlle released this 29 Apr 20:48

Pre-Alpha Playtest

Pre-alpha. Most features have been verified end-to-end in playtesting but a few item types remain untested at runtime - see "Known issues" below. If you join a multiworld with this release, mention to your group that you're running a pre-alpha; otherwise it should behave well in single-player and small multi-player setups.

Provided as-is, no warranty. The authors are not liable for any issues arising from use.

v0.0.5 is a Hazardous Weather trap mechanism overhaul over v0.0.4. The visible behavior change: a Hazardous Weather trap now arrives with the game's native 3-day "Drought/Badtide approaching" countdown notification, hazardous runs its full intended duration, and the cycle ends cleanly afterwards. v0.0.4's extended-badtide bug (~17-day hazardous instead of 7) is fixed.

Why the redesign

v0.0.3 / v0.0.4 used temperate-shortening (reflection-write <TemperateWeatherDuration>k__BackingField to currentDay + 3) and let the game's natural cycle transition fire hazardous. UX was correct (3-day countdown) but the trap-induced badtide ran far longer than intended on long-running saves like Crator. Drought testing on v0.0.4 surfaced the symptom as "water spawning broken in the following temperate cycle." Cause was misdiagnosed as state-bleed across the cycle boundary.

The v0.0.5 first attempt was direct-trigger via StartHazardousWeather(). That fixed the duration math but produced wrong player UX - the hazardous fired instantly with no notification.

The v0.0.5 final design (this release) returns to temperate-shortening but also writes GameCycleService._cycleDurationInDays to match the new TempDur + HazDur. The discovery during Session J runtime verification: _cycleDurationInDays is a CACHE computed at cycle start from the registered ICycleDuration providers, and the game's OnDaytimeStart cycle-end check (day > _cycleDurationInDays → StartNextCycle()) reads the cached value, not the live providers. Mutating only TemperateWeatherDuration shortened the temperate phase but left the cycle running its original full length, so hazardous extended from the (correctly early) transition all the way to the original cycle boundary - typically ~17 days instead of HazDur=7. The water-spawn regression observed in v0.0.4 was almost certainly the prolonged badtide depleting water-source state past quick recovery, not a state-bleed across cycles. Writing both backing fields together fixes the duration AND the regression at its root.

Trap behavior in v0.0.5

  • Trap arrives during temperate → game's native "Drought/Badtide approaching" notification appears with 3-day countdown widget in the top-right
  • After 3 in-game days, hazardous fires via the game's normal WeatherService event chain; drought-vs-badtide is whatever the game's own HazardousWeatherRandomizer had pre-rolled for the cycle
  • Hazardous runs its full intended duration (HazDur, randomized per cycle)
  • Cycle ends naturally at newTempDur + HazDur days; next cycle starts in a clean state via GameCycleService.StartNextCycle(), which re-randomizes TemperateWeatherDuration and recomputes _cycleDurationInDays from fresh providers
  • During an active hazardous (or while another trap is still queued), additional traps queue with trap_mode: queue (default) or are discarded with trap_mode: skip

Everything shipped in v0.0.4 is also in v0.0.5

For the full v0.0.4 fix list, see the v0.0.4 release notes. For the bigger v0.0.3 feature/fix list (crash fix, PostLoad boost re-apply, ConnectionBlocked reset, DiscoverBonusIds validator, reflection dry-runs, filler goods injection fix, ExtraEarlySurvival option, population milestone threshold bump), see the v0.0.3 release notes.

Known issues (unchanged from v0.0.4)

  • Hungry / Thirsty Beavers traps silent no-op. NeedManager reflection paths (<AllNeeds>k__BackingField, Need.NeedId) don't resolve against the current Timberborn.NeedSystem.dll. The trap-fire summary log line ([Archipelago/Trap] HUNGRY_BEAVERS fired: affected=0) now appears even when the effect can't be applied, giving trap-delivery visibility we didn't have on v0.0.4.
  • T3 progression items can land at T1 shop slots. Fill algorithm places items based on slot access rules but doesn't tier-gate by item requirements.
  • Boosts apply to bots in addition to beavers. BonusManager attaches to both.
  • "Unknown location: Victory: Population" warning on goal completion. Cosmetic, goal still fires correctly.
  • Water Storage goal silent-fail on both factions (broken GoodId reflection path; deferred to v0.0.6+).
  • Bots goal unwinnable on Folktails (no faction-gating in _resolve_goals; deferred to v0.0.6+).

Installation

  1. Extract Archipelago.zip into your Timberborn mods folder (Documents/Timberborn/Mods/)
  2. Place timberborn.apworld in your Archipelago custom_worlds/ folder
  3. Requires Archipelago 0.6.7

YAML template

Timberborn.yaml attached - a verbose weighted YAML template with every option documented. Drop into your Archipelago Players/ folder as a starting point.

Changelog since v0.0.4

Mod:

  • v0.0.5 Hazardous Weather trap redesign: queue + temperate-shortening + cycle-duration cache write + passive OnCycleStarted hook + EventBus injection
  • Bump manifest to v0.0.5.0

APWorld:

  • Bump archipelago.json world_version to 0.0.5 (no functional APWorld changes from v0.0.4)

v0.0.4 - Pre-Alpha Playtest

Pre-release

Choose a tag to compare

@dowlle dowlle released this 18 Apr 12:36

Pre-Alpha Playtest

WARNING: This release is NOT in a fully playable state. It is provided strictly for testing and development purposes. DO NOT add this to multiworld games unless every player in the session knows you are testing an incomplete integration and the host has explicitly agreed to it. This can and will cause issues in your multiworld.

This software is provided "as is", without warranty of any kind, express or implied. In no event shall the authors be liable for any claim, damages, or other liability arising from the use of this software. Use at your own risk.

v0.0.4 is a maintenance release over v0.0.3. Two fixes beyond v0.0.3's feature set:

Fixes in v0.0.4

  • Fill-failure in _force_random_early_survival on wonder-only milestone configs. Fuzz caught a 3.3% generation failure rate when extra_early_survival=true and none of population / well-being / survival milestones were enabled. Example: with only include_wonder_milestone: true, the APWorld tried to force 4 core items + 3 survival extras into 4 sphere-1 shop slots (Wonder is T5, not sphere-1 reachable). The _force_random_early_survival guard now requires population milestones specifically - they contribute 3 T1 locations (First Beaver Born, First Grown Up, Reach 15 Beavers) that give the fill algorithm enough sphere-1 budget for the extras. Without population milestones, the extras are silently skipped. Fuzz rerun after the fix: 0 failures in 5000 default-preset seeds.
  • Metadata alignment. ArchipelagoWorld/worlds/timberborn/archipelago.json now correctly reports "world_version": "0.0.4". v0.0.3's tag had this file stale at 0.0.2, which made the generated YAML template header advertise the wrong required version.

Everything shipped in v0.0.3 is also in v0.0.4

For the full v0.0.3 feature/fix list (crash fix, PostLoad boost re-apply, ConnectionBlocked reset, Hazardous Weather trap redesign, DiscoverBonusIds validator, reflection dry-runs, filler goods injection fix, ExtraEarlySurvival option, population milestone threshold bump), see the v0.0.3 release notes.

Known issues (unchanged from v0.0.3)

  • Hungry / Thirsty Beavers traps silent no-op. NeedManager reflection paths (<AllNeeds>k__BackingField, Need.NeedId) don't resolve against the current Timberborn.NeedSystem.dll. Pending DLL byte-regex diagnosis.
  • T3 progression items can land at T1 shop slots. Fill algorithm places items based on slot access rules but doesn't tier-gate by item requirements. Smelter (T3) can appear at Shop: C-01 (T1). Construction costs still gate actual use.
  • Boosts apply to bots in addition to beavers. BonusManager attaches to both.
  • "Unknown location: Victory: Population" warning on goal completion. Cosmetic, goal still fires correctly.

Installation

  1. Extract Archipelago.zip into your Timberborn mods folder (Documents/Timberborn/Mods/)
  2. Place timberborn.apworld in your Archipelago custom_worlds/ folder
  3. Requires Archipelago 0.6.7

New: YAML template

Timberborn.yaml attached - a verbose weighted YAML template with every option documented. Drop into your Archipelago Players/ folder as a starting point.

Changelog since v0.0.3

Mod:

  • aeaca86 Replace em dash with hyphen in manifest description
  • 5177531 Bump manifest to v0.0.4.0

APWorld:

  • 5c1a4816 Bump archipelago.json world_version to 0.0.3 (mid-v0.0.3 hotfix)
  • b78364bd Bump archipelago.json world_version to 0.0.4
  • 014ca3a5 Guard _force_random_early_survival on population milestones (fuzz fix)

v0.0.3 - Pre-Alpha Playtest

Pre-release

Choose a tag to compare

@dowlle dowlle released this 18 Apr 12:07

Pre-Alpha Playtest

WARNING: This release is NOT in a fully playable state. It is provided strictly for testing and development purposes. DO NOT add this to multiworld games unless every player in the session knows you are testing an incomplete integration and the host has explicitly agreed to it. This can and will cause issues in your multiworld.

This software is provided "as is", without warranty of any kind, express or implied. In no event shall the authors be liable for any claim, damages, or other liability arising from the use of this software. Use at your own risk.

v0.0.3 is a focused stability and correctness pass - most of the day-one runtime bugs in v0.0.2 are now fixed and runtime-verified. Feedback welcome in the Issues tab.

Critical bug fixes (C# mod)

  • Crash on first boost purchase fixed. v0.0.2 threw `ArgumentException: Invalid generic arguments` when applying a boost, trap-on-entity, or filler because `EntityComponentRegistry.GetEnabled` has a `where T : BaseComponent, IRegisteredComponent` constraint that `MakeGenericMethod` enforces at runtime. Now uses `EntityRegistry.Entities` + `BaseComponent.GetComponent()` per entity (unconstrained, safe).
  • Filler goods injection fixed. `Inventory` extends `BaseComponent`, not `UnityEngine.Object`, so `FindObjectsByType` always returned empty. Now finds stockpiles correctly and uses `Inventory.Gives()` to prefer stockpiles over beaver-carry inventories.
  • Boost re-apply on save/reload fixed. Bonuses were silently lost after reload because `Load()` ran before entities were instantiated. Moved to `PostLoad()` where entities actually exist. Runtime-verified: `MovementSpeed: 1.25` persists across reload on 200+ entity saves.
  • Hazardous Weather trap now actually triggers hazardous weather. v0.0.2 updated history counters (enough for milestone firing) but didn't transition the visual weather state. Now shortens the current temperate cycle via `TemperateWeatherDurationService` backing field; the game's own cycle-end handler transitions through the proper event chain with the native "Drought/Badtide approaching" countdown UI.

New features

  • `Trap: Hazardous Weather` replaces `Trap: Early Drought` + `Trap: Badwater Leak`. Single consolidated trap item; the game's own `HazardousWeatherRandomizer` picks drought or badtide based on map conditions. Honest semantics on maps without badwater.
  • `Extra Early Survival` YAML option (default on) - forces one random housing/food/wellbeing building per category into sphere 1 alongside the existing essentials. 50-seed validation shows +60pp food and +46pp wellbeing availability on Folktails. Requires `force_early_items` and milestones enabled. Toggle off for leaner seeds.
  • Population milestone "Reach 10 Beavers" → "Reach 15 Beavers". 10 was below starting population on normal (14), so it auto-fired on connect. 15 requires actual growth.
  • `BonusId` validation at load - the mod now diffs the hardcoded `BoostMapping` BonusIds against the live `BonusTypeSpecService` on startup and warns if any are unknown. Would have caught all 4 v0.0.1 boost string bugs at load.
  • Reflection dry-runs at load - the mod exercises every reflection path on startup so runtime-constraint failures surface in `Player.log` at connect instead of mid-gameplay.
  • `ConnectionBlocked` resets on save load - a faction mismatch used to permanently block reconnects until you fully restarted Timberborn. Now clears on every save load.
  • `IPostLoadableSingleton` diagnostic snapshot logs entity / BonusManager / Inventory / NeedManager / beaver / bot counts at load so you can sanity-check scale.

Known issues (open follow-ups)

  • Hungry / Thirsty Beavers traps silent no-op. `NeedManager` reflection paths (`k__BackingField`, `Need.NeedId`) don't resolve against the current `Timberborn.NeedSystem.dll`. Pending DLL byte-regex diagnosis (pythonnet can't load NeedSystem due to its `ImmutableArray` dependency).
  • T3 progression items can land at T1 shop slots. `Rules.py` slot access rules don't constrain item placement by item tier, so `Smelter` (T3) can appear at `Shop: C-01` (T1). Construction costs still gate actual use, but the sequence feels loose. APWorld-side follow-up.
  • Boosts apply to bots in addition to beavers. `BonusManager` is attached to both. Some bonuses are semantically nonsensical on bots (`LifeExpectancy`, `GrowthSpeed`); bonuses the engine doesn't apply to bots just no-op internally.
  • "Unknown location: Victory: Population" warning on goal completion. Cosmetic - goal still fires correctly via `SendGoalCompleted` StatusUpdate path.

Installation

  1. Extract `Archipelago.zip` into your Timberborn mods folder (`Documents/Timberborn/Mods/`)
  2. Place `timberborn.apworld` in your Archipelago `custom_worlds/` folder
  3. Requires Archipelago 0.6.7

Full changelog

  • `ef9d997` crash fix: EntityRegistry + BaseComponent.GetComponent
  • `a3595a0` ReadOnlyList null-check fix; load-time reflection dry-runs
  • `0f68cba` PostLoad boost re-apply timing + diagnostic
  • `ce5b764` ConnectionBlocked resets on save load
  • `a988215` milestone comment sync with APWorld rename
  • `6a14df5` filler Inventory BaseComponent fix
  • `8e05c87` DiscoverBonusIds validator fleshed out
  • `14d87f9` Hazardous Weather trap redesign
  • `2c38099` TemperateWeatherDuration backing-field reflection
  • `d58b343` explicit _trapScheduledAwaitingTransition flag
  • `2253b9d` simplified Hazardous Weather to temperate-shortening only
  • `9b371e9` manifest bump to 0.0.3.0 + IT faction description

v0.0.2 - Pre-Alpha Playtest

Pre-release

Choose a tag to compare

@dowlle dowlle released this 30 Mar 20:40

Pre-Alpha Playtest

WARNING: This release is NOT in a fully playable state. It is provided strictly for testing and development purposes. DO NOT add this to multiworld games unless every player in the session knows you are testing an incomplete integration and the host has explicitly agreed to it. This can and will cause issues in your multiworld.

This software is provided "as is", without warranty of any kind, express or implied. In no event shall the authors be liable for any claim, damages, or other liability arising from the use of this software. Use at your own risk.

This is an early playtest build of the Archipelago Multiworld integration for Timberborn. Expect bugs, missing features, and breaking changes between versions. Released to enable community playtesting and feedback.

The only goal that has been properly tested is the Population goal. Other goals may not work correctly or at all.

Feedback and bug reports are welcome in the Issues tab.

Changes since v0.0.1

Bug fixes (C# mod):

  • Drought/badtide traps now visually start in-game (was silently failing)
  • Survival milestones no longer fire immediately on connect (baseline snapshot)
  • Fixed NeedManager resolution for hunger/thirst traps (was using non-existent API)
  • Fixed BonusManager/NeedManager component lookup (Timberborn's custom component system)
  • Fixed compile error: use GameCycleService.CycleDay instead of WeatherService.CycleDay

Bug fixes (APWorld):

  • Skip and trap item counts now scale dynamically to fit available locations
  • Previously 5 items were silently dropped when the pool exceeded location count

Known issues

  • Boost items may still not apply (BonusManager lookup needs runtime verification)
  • Hunger/thirst traps need runtime verification of need ID strings
  • Population milestones trigger instantly on maps with 14+ starting beavers (free check)
  • Weather trap visual confirmation still needs testing
  • Balance is still being tuned

Installation

  1. Extract Archipelago.zip into your Timberborn mods folder (Documents/Timberborn/Mods/)
  2. Place timberborn.apworld in your Archipelago custom_worlds/ folder
  3. Requires Archipelago 0.6.7

v0.0.1 - Pre-Alpha Playtest

Pre-release

Choose a tag to compare

@dowlle dowlle released this 30 Mar 19:27

Pre-Alpha Playtest

WARNING: This release is NOT in a fully playable state. It is provided strictly for testing and development purposes. DO NOT add this to multiworld games unless every player in the session knows you are testing an incomplete integration and the host has explicitly agreed to it. This can and will cause issues in your multiworld.

This software is provided "as is", without warranty of any kind, express or implied. In no event shall the authors be liable for any claim, damages, or other liability arising from the use of this software. Use at your own risk.

This is an early playtest build of the Archipelago Multiworld integration for Timberborn. Expect bugs, missing features, and breaking changes between versions. Released to enable community playtesting and feedback.

The only goal that has been properly tested is the Population goal. Other goals may not work correctly or at all.

Feedback and bug reports are welcome in the Issues tab.

What's included

Client Mod (Archipelago.zip)

  • Archipelago client mod for Timberborn (Folktails + Iron Teeth factions)
  • Randomized building unlocks via AP shop with tiered progression
  • Traps, filler items, boosts, scouts, and skip tickets
  • Save/load persistence of AP state
  • Weather trap scheduling with notice period

APWorld (timberborn.apworld)

  • Timberborn world definition for Archipelago
  • Tiered shop layout with escalating Science costs
  • Branching-path progression logic with soft-lock prevention
  • Population, well-being, survival, and wonder goal categories
  • Configurable YAML options (faction, goals, difficulty, trap mode, etc.)

Installation

  1. Extract Archipelago.zip into your Timberborn mods folder (Documents/Timberborn/Mods/)
  2. Place timberborn.apworld in your Archipelago custom_worlds/ folder
  3. Requires Archipelago 0.6.7

Known limitations

  • Balance is still being tuned
  • May not survive Timberborn game updates without mod changes