Troubleshooting
Most questions can be answered from the game log. Start there, then find your symptom below.
First: read the log
The mod has no menu, so everything it does is reported in the game log:
- Current session:
%USERPROFILE%\AppData\LocalLow\Mechanistry\Timberborn\Player.log - Previous session:
Player-prev.login the same folder
Search for [OptimizedLocalHousing]. These are all the messages it can write:
| Message | Meaning |
|---|---|
1.2.0 loaded. | The mod started. Normal. |
Pass N: … move cycles applied … | A pass finished. Normal. What the numbers mean. |
Disabled because another housing assignment mod is enabled: … | Another housing mod is on. Fix. |
Saved state ignored: … | The saved mod data couldn't be read. Harmless. |
Pass abandoned until the next day: … | An error stopped a pass. Report it. |
A move cycle failed and was rolled back: … | The game refused a move. Report it. |
Find your symptom
The mod isn't in the Mods list
- Check the folder depth. The game needs
Mods\OptimizedLocalHousing\version-1.1\manifest.json. A doubledOptimizedLocalHousing\OptimizedLocalHousingfolder is the usual mistake; see the folder layout. - Check the Mods folder. It must be the one your other mods are in, normally
Documents\Timberborn\Mods. - Check the game version. The mod needs Timberborn 1.1 or newer.
- Fully quit and restart the game.
It's enabled, but there is no [OptimizedLocalHousing] line in the log
- Make sure you're reading the right session. The log is overwritten at each launch; the previous one is
Player-prev.log. - Find the mod list near the top of the log.
Optimized Local Housing (v1.2.0)should be in it. If it isn't, enable the mod and restart. - If it's listed but there's no
loaded.line, look further down for an error loading the mod's DLL, and report it with that log.
It says loaded. but I never see a Pass line
- Unpause and let the game run. A pass takes about 150 to 200 ticks on a colony of a few hundred beavers: roughly 90 seconds to two minutes at normal speed.
- Don't quit too early. The line is written when the pass ends.
- Wait for the next day on a save the mod has seen before. Only a save it hasn't seen starts a pass straight away.
- Look for "Disabled because…" or "Pass abandoned…" in the log.
The log says Disabled because another housing assignment mod is enabled
Disable the other housing mod in the Mods menu and restart. Two housing mods would keep undoing each other's moves. The message ends with the ID of the mod it found:
BobHousingOptimize(Bobingabout's Housing Optimize)BobCommuteBalancer(Bobingabout's Commute Balancer)housingoptimize(a mod.io listing of Housing Optimize)
The pass line says 0 move cycles applied, or the numbers look strange
Reading the line: Pass 34: 345 adults, 104 homes, 167 workplaces; 5394 route queries over 183 ticks; 4 move cycles applied (1 rejected, 2 stale), 0 disconnected commutes repaired, route cost saved 717.
- adults / homes / workplaces: how many the pass considered.
- move cycles applied: groups of beavers who swapped beds. Zero is normal once the colony is as good as it can be.
- rejected: cycles the fresh route check threw away, because a beaver would lose its route to work or the cycle saved too little. The costs it found are remembered, so the same cycle isn't proposed every day.
- stale: cycles skipped because something changed during the pass: a beaver's home or job, a death, or a home that could no longer take them. Small numbers are normal; those beavers are reconsidered the next day.
- disconnected commutes repaired: beavers who couldn't reach work from their old home and can from the new one.
- route cost saved: how much shorter the movers' walks got in total. Repaired commutes aren't counted, since they had no route before.
Zeros on a colony that clearly needs help usually mean the beavers aren't eligible. They have no job, or their homes are paused, blocked or switched off by automation, and those are left alone by design.
Some beavers still seem to walk a long way to work
- Beds are limited. The mod minimizes the total. Someone has to live farther away, and it may be the beaver you're watching.
- Route cost isn't distance. Stairs and ziplines can make a home that looks close costly, or a far one cheap.
- Commute means home to assigned workplace. Trips to haul goods or visit other buildings don't count.
- Timing. New jobs, new homes and births show up in the next pass.
- Breeding comes first. A move into a closer empty bed is skipped if it leaves fewer homes able to have a kit. Adults never take a kit's bed (more).
- Only nearby homes are priced. Each workplace checks its 32 nearest homes; farther ones are estimated. A far home made cheap by a zipline could be missed.
Everyone moved at once, or parents ended up away from their children
That's expected on the first pass of a badly housed colony. Children never move, so a child may end up living with different adults. No move leaves fewer homes able to have a kit. Later passes move only a few beavers.
If you dislike the result, load your backup and remove the mod.
The game hitches when a pass starts or finishes
Most of a pass is spread over many ticks, but two moments happen in a single tick: taking the snapshot when a pass starts, and applying the moves when it ends. On a large colony either could cause a brief blip.
Frame-time impact hasn't been measured. If you see a real stutter, report it with your colony size and the pass line; until it's fixed, you can disable the mod.
The log says Pass abandoned until the next day
An error stopped the pass. No beaver is left half-moved, the game keeps running, and the mod tries again the next day. It's a bug: copy the full message and report it.
The log says A move cycle failed and was rolled back
The game refused one of the moves in a cycle, so every beaver in it went back to its old home. Nothing is lost. If it keeps happening, report it with the message.
The log says Saved state ignored
The mod couldn't read its own data from the save. It starts fresh, at no cost to your colony.
Multiplayer: the game desynced, or players see different homes
- Check that every player has the same mod version and game version. If only some players have the mod, or versions differ, the games will disagree about where beavers live.
- Restart the session from the host's save.
- If it happens again, report it with every player's
Player.log, and say when it happened relative to aPassline.
One live co-op session, on the code the stable release started from, showed no desync. This release hasn't been played live by two players yet, so a report helps.
It stopped working after a Timberborn update
The mod is built against Timberborn 1.1.2.4, and a game update can change the parts it relies on.
- Look in the log for an error mentioning
OptimizedLocalHousing. - Disable the mod until a matching release is out.
- Check the releases page.
I want to undo what it did
Load a save from before you installed it. Disabling the mod stops further moves, but doesn't move anyone back.
Reporting a problem
Open an issue on GitHub and include as much of this as you can:
- The lines from
Player.logcontaining[OptimizedLocalHousing], plus any error text around them. - The mod version, your Timberborn version, and your operating system.
- Your other enabled mods (the list near the top of the log).
- Roughly how many beavers, homes and workplaces you have, and whether you were playing solo or in multiplayer.
- What you expected and what happened. If it's safe to share, a copy of the save.