So I’ve managed to track this one down, and it’s a bit annoying…
When the game is initially configured, all the commands get executed and stored in the database so that on an engine restart, they can be restored to configure the game again.
The issue here is that the reload doesn’t appear to be happening in the correct order, so take the following for IS:
- remove occupied workers from storage
- add workers to storage
What’s happening is that those two are being flipped. The engine attempts to put the workers into storage first and fails… then removes the occupied workers, so your workers vanish.
This is visible (although not quite so bad) in other places, you can often have no occupied workers despite building something (occupied attempted to be added before workers are removed), and there’s a similar issue with Soldier creation (that has occupied workers, and creating soldiers to manage storage).
It’s fixable, but it’s taking time to track down the condition that’s causing this.